亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

面向功耗的混合粒子群脈沖神經(jīng)網(wǎng)絡(luò)映射方法與流程

文檔序號:11251479閱讀:976來源:國知局
面向功耗的混合粒子群脈沖神經(jīng)網(wǎng)絡(luò)映射方法與流程

本發(fā)明涉及智能優(yōu)化領(lǐng)域,尤其涉及一種面向功耗的混合粒子群脈沖神經(jīng)網(wǎng)絡(luò)映射方法。



背景技術(shù):

脈沖神經(jīng)網(wǎng)絡(luò)(spikingneuronnetworks,snn)的研究日益成為計算智能領(lǐng)域中的一個研究熱點。脈沖神經(jīng)網(wǎng)絡(luò)采用基于時間脈沖序列的編碼方式,更接近于腦科學(xué)對生物神經(jīng)系統(tǒng)的認(rèn)識。相對于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),脈沖神經(jīng)網(wǎng)絡(luò)表現(xiàn)出了更強的仿生特性和計算能力。

作為迄今最具生物真實性的人工神經(jīng)網(wǎng)絡(luò)模型,脈沖神經(jīng)網(wǎng)絡(luò)的全部神經(jīng)元具有和生物神經(jīng)元類似的電位脈沖觸發(fā)機制,這種機制使得脈沖神經(jīng)網(wǎng)絡(luò)與基于脈沖頻率編碼信息的傳統(tǒng)人工神經(jīng)網(wǎng)絡(luò)相比,具有更強的計算能力,同時可以對各種神經(jīng)信號和連續(xù)函數(shù)進行模擬,十分適合對復(fù)雜時空信息及大腦神經(jīng)信號進行處理,如模式識別、數(shù)據(jù)預(yù)測等。

基于其良好的生物學(xué)特性和強大的計算能力,希望能夠建立模擬哺乳動物大腦關(guān)鍵信息處理機制的類腦硬件系統(tǒng)。但是哺乳類動物的大腦神經(jīng)元數(shù)量超過1010個,脈沖神經(jīng)網(wǎng)絡(luò)規(guī)模必然十分巨大,而現(xiàn)有的方法并不能有效地提供百萬數(shù)量級的神經(jīng)元/突觸之間的相互連接。采用常規(guī)軟件計算的方式來模擬脈沖神經(jīng)網(wǎng)絡(luò),例如基于傳統(tǒng)計算機的純軟件模擬,并不能充分體現(xiàn)發(fā)揮脈沖神經(jīng)網(wǎng)絡(luò)的并行性優(yōu)勢,而且其執(zhí)行速度過慢,以至于無法實時不能模擬對大規(guī)模脈沖神經(jīng)網(wǎng)絡(luò)進行運算,并且系統(tǒng)的可擴展性較差。但是常見硬件實現(xiàn)方式,例如并行g(shù)pu,則存在功耗高等缺點。因此,為了克服現(xiàn)有軟件或硬件方式在實現(xiàn)脈沖神經(jīng)網(wǎng)絡(luò)過程中出現(xiàn)的問題,需要研究一種新的全定制硬件架構(gòu)是非常必要的。

片上網(wǎng)絡(luò)(network-on-chip,noc)技術(shù)上的研究成果,為實現(xiàn)大規(guī)模脈沖神經(jīng)網(wǎng)絡(luò)硬件互聯(lián)提供了較好的思路和機制。片上網(wǎng)絡(luò)作為一種獨特的片上通信方式,在多個領(lǐng)域有著廣泛的應(yīng)用,得到了較好的發(fā)展。其包括計算和通信子系統(tǒng)。計算子系統(tǒng)由大量的計算單元(processingelement,pe)組成,負(fù)責(zé)完成廣義的計算任務(wù)。通信子系統(tǒng)由路由器及其連接的通信鏈路組成,負(fù)責(zé)計算單元的通信互連,能夠?qū)崿F(xiàn)數(shù)據(jù)資源的高速交互。近年來,片上網(wǎng)絡(luò)技術(shù)用于實現(xiàn)脈沖神經(jīng)網(wǎng)絡(luò)的大規(guī)?;ミB,其中神經(jīng)元和突觸映射到片上網(wǎng)絡(luò)的計算單元模塊、脈沖神經(jīng)元的軸突由片上網(wǎng)絡(luò)的通信路徑來構(gòu)成,而神經(jīng)元間的連接結(jié)構(gòu)則由片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)來模擬?;谶@一方法,使得大規(guī)模脈沖神經(jīng)網(wǎng)絡(luò)的硬件互連成為可能。

采用noc架構(gòu)的硬件系統(tǒng)實現(xiàn)脈沖神經(jīng)網(wǎng)絡(luò)的過程中,功耗是影響系統(tǒng)性能的重要因素,高溫將使系統(tǒng)性能受到影響,甚至使系統(tǒng)功能受損,所以脈沖神經(jīng)網(wǎng)絡(luò)硬件系統(tǒng)功耗問題成為系統(tǒng)設(shè)計的焦點之一。



技術(shù)實現(xiàn)要素:

針對現(xiàn)有技術(shù)的不足,本發(fā)明解決的技術(shù)問題是在采用noc架構(gòu)的硬件系統(tǒng)實現(xiàn)脈沖神經(jīng)網(wǎng)絡(luò)的過程中,有效地對脈沖神經(jīng)網(wǎng)絡(luò)硬件系統(tǒng)的功耗進行優(yōu)化,降低因映射問題帶來的硬件系統(tǒng)功耗,提高系統(tǒng)性能。

為解決上述技術(shù)問題,本發(fā)明提供的技術(shù)方案是一種面向功耗的混合粒子群脈沖神經(jīng)網(wǎng)絡(luò)映射方法,通過將粒子群算法與遺傳算法的結(jié)合的神經(jīng)元節(jié)點映射方式,得到神經(jīng)元節(jié)點映射到硬件系統(tǒng)中的最佳映射結(jié)果,映射方法主體采用粒子群算法,在粒子群算法運行的過程中結(jié)合遺傳算法的突變操作,對基本粒子群算法進行改進,循環(huán)算法至滿足終止條件,包含以下步驟:

第1步:初始化:設(shè)置粒子群中粒子數(shù)量np、最大迭代次數(shù)i、突變閾值tm,按照粒子表示方式隨機生成初始粒子群、當(dāng)神經(jīng)元的數(shù)量小于noc系統(tǒng)中pe的數(shù)量時,對神經(jīng)元數(shù)量進行修正;

突變閾值的范圍tm∈(0,1);

每一個粒子的表示方式及含義如下:

x=(x1,x2,x3,…,xd)

x1,x2,x3,…,xd表示神經(jīng)元的編號1,2,…,d的一種全排列,而d表示神經(jīng)元的數(shù)量。每個神經(jīng)元編號的位置代表神經(jīng)元在noc系統(tǒng)中放置的位置。例如,粒子(2,3,4,5,1)表示編號為2的神經(jīng)元被放置在noc系統(tǒng)中編號為1的pe上,編號為3的神經(jīng)元被放置在noc系統(tǒng)中編號為2的pe上,以此類推;

當(dāng)神經(jīng)元的數(shù)量小于noc系統(tǒng)中pe的數(shù)量時,對神經(jīng)元數(shù)量進行修正的方法是:采用插入虛擬神經(jīng)元的方法使神經(jīng)元的數(shù)量與noc系統(tǒng)中pe的數(shù)量相等,而虛擬神經(jīng)元與虛擬神經(jīng)元之間、虛擬神經(jīng)元與真實神經(jīng)元之間無通信。

第2步:根據(jù)適應(yīng)度函數(shù)計算粒子群中各個粒子的適應(yīng)度值;適應(yīng)度函數(shù)如下:

這里wij為計算單元vi到計算單元vj之間的通訊數(shù)據(jù)量,hij計算單元vi到計算單元vj之間的跳距;

第3步:根據(jù)粒子群中各個粒子的適應(yīng)度值及目標(biāo)函數(shù)找出當(dāng)前粒子群中全局最佳粒子;目標(biāo)函數(shù)如下:

第4步:根據(jù)當(dāng)前粒子群中全局最佳粒子,采取“跳變”的方式對粒子群中全局最佳粒子除外的每一個粒子進行更新;每個粒子的更新并未為采用標(biāo)準(zhǔn)粒子群的更新公式:

而是采用“跳變”的方式對粒子進行更新,“跳變”的含義為:對于一個多維粒子,在每次粒子更新時,使得粒子自身的至少其中一維的值與全局最佳粒子其中一維的值相同;

第5步:粒子群更新完成后,計算粒子群的群體相似度;粒子群的群體相似度根據(jù)如下公式計算:

其中表示單個粒子的粒子個體相似度,表示第i個粒子具有與全局最佳粒子相同位置的維數(shù)量,td表示單個粒子的總維數(shù),sps表示粒子群體相似度,n表示粒子總量;

第6步:將粒子群的群體相似度與設(shè)定的突變閾值進行比較,如果群體相似度大于突變閾值,則進行第7步;否則,進行第8步;

第7步:對粒子群中全局最佳粒子除外的每一個粒子進行突變操作,然后進行第6步;突變操作是指在一個粒子中隨機挑選出兩維,進行對調(diào)操作,生成新粒子的過程。

第8步:判斷當(dāng)前迭代次數(shù)是否達到設(shè)定的最大迭代次數(shù),如果達到則進行第9步;否則,進行第2步;

第9步:輸出全局最佳粒子即最佳映射方案及全局最佳粒子的適應(yīng)度值。

采用本發(fā)明的技術(shù)方案具有以下有益效果:

1、通過遺傳算法的突變操作對基本粒子群算法進行改進,克服了基本粒子群算法性能的缺陷,既能夠發(fā)揮粒子群算法原有的搜索能力,也能夠克服基本粒子群算法過早收斂,容易陷入局部最優(yōu)節(jié)的缺點,使算法能夠搜索到全局最優(yōu)解。

2、通過分析功耗與硬件系統(tǒng)之間的關(guān)系,建立的基于noc系統(tǒng)的功耗模型,建立了本發(fā)明的目標(biāo)函數(shù),有效地降低了系統(tǒng)功耗,增強了映射方案的應(yīng)用性。

附圖說明

圖1為脈沖神經(jīng)網(wǎng)絡(luò)映射過程;

圖2為脈沖神經(jīng)網(wǎng)絡(luò)映射方法流程圖;

圖3為粒子跳變示意圖;

圖4為粒子突變示意圖;

圖5為脈沖神經(jīng)網(wǎng)絡(luò)實例;

圖6為noc系統(tǒng)實例;

圖7為noc系統(tǒng)中node路由器路由偽碼;

圖8為noc系統(tǒng)中tile路由器路由偽碼;

圖9為適應(yīng)度值變化情況;

圖10為群體相似度變化情況。

具體實施方式

下面結(jié)合附圖和實施例對本發(fā)明實施方式做進一步的闡述,但不是對本發(fā)明的限定。

圖1示出了脈沖神經(jīng)網(wǎng)絡(luò)映射過程,脈沖神經(jīng)網(wǎng)絡(luò)映射是根據(jù)某些優(yōu)化規(guī)則將神經(jīng)元一一對應(yīng)地分配給noc系統(tǒng)中的pe即每個神經(jīng)元的功能只能由一個pe完成,以實現(xiàn)特定應(yīng)用,并將目標(biāo)成本(如能耗或延遲)降至最低。圖中snn的映射問題被抽象為snn通信任務(wù)圖(snncommunicationgraph,snncg)和noc結(jié)構(gòu)圖(nocarchitecturegraph,nocag)之間的映射問題。

實施例:

如圖2至圖4所示,一種面向功耗的混合粒子群脈沖神經(jīng)網(wǎng)絡(luò)映射方法,通過將粒子群算法與遺傳算法的結(jié)合的神經(jīng)元節(jié)點映射方式,得到神經(jīng)元節(jié)點映射到硬件系統(tǒng)中的最佳映射結(jié)果,映射方法主體采用粒子群算法,在粒子群算法運行的過程中結(jié)合遺傳算法的突變操作,對基本粒子群算法進行改進,循環(huán)算法至滿足終止條件,包含以下步驟:

第一步:初始化:設(shè)置粒子群中粒子數(shù)量np、最大迭代次數(shù)i、突變閾值tm,按照粒子表示方式隨機生成初始粒子群,每一個粒子的表示方式為x=(x1,x2,x3,…,xd),其中,x1,x2,x3,…,xd表示神經(jīng)元的編號1,2,…,d的一種全排列,而d表示神經(jīng)元的數(shù)量。每個神經(jīng)元編號的位置代表神經(jīng)元在noc系統(tǒng)中放置的位置。同時,當(dāng)神經(jīng)元的數(shù)量小于noc系統(tǒng)中pe的數(shù)量時,對神經(jīng)元數(shù)量進行修正的方法是:采用插入虛擬神經(jīng)元的方法使神經(jīng)元的數(shù)量與noc系統(tǒng)中pe的數(shù)量相等。

第二步:根據(jù)適應(yīng)度函數(shù)計算粒子群中各個粒子的適應(yīng)度值。

適應(yīng)度函數(shù)如下:

這里wij為計算單元vi到計算單元vj之間的通訊數(shù)據(jù)量,hij計算單元vi到計算單元vj之間的跳距。

第三步:根據(jù)第二步中結(jié)果及目標(biāo)函數(shù)找出當(dāng)前粒子群中全局最佳粒子。目標(biāo)函數(shù)如下:

第四步:根據(jù)第三步中找出的全局的最佳粒子,采取“跳變”的方式對粒子群中每一個粒子(不包括全局最佳粒子本身)進行更新。如圖3所示,跳變的含義為:對于一個多維粒子,在每次粒子更新時,使得粒子自身的至少其中一維的值與全局最佳粒子其中一維的值相同。

第五步:粒子群更新完成后,計算粒子群的群體相似度。

群體相似度計算公式為:

其中表示單個粒子的粒子個體相似度,表示第i個粒子具有與全局最佳粒子相同位置的維數(shù)量,td表示單個粒子的總維數(shù),sps表示粒子群體相似度,n表示粒子總量。

第六步:將第五步中的群體相似度與第一步中設(shè)定的突變閾值進行比較,如果群體相似度大于突變閾值,則進行第七步;否則,進行第八步;

第七步:對粒子群中的每一個粒子(不包括全局最佳粒子本身)進行突變操作,然后進行第六步;如圖4所示,突變操作的含義為:在一個粒子中隨機挑選出兩維,進行對調(diào)操作,生成新粒子的過程。

第八步:判斷當(dāng)前迭代次數(shù)是否達到第一步中設(shè)定的最大迭代次數(shù),如果達到則進行第九步;否則,進行第二步。

第九步:輸出全局最佳粒子即最佳映射方案及全局最佳粒子的適應(yīng)度值。

圖5至圖10示出了本發(fā)明的有益效果,可通過以下仿真說明:

(一)仿真條件與內(nèi)容:

分別采用本發(fā)明的面向功耗的脈沖神經(jīng)網(wǎng)絡(luò)映射方法與基本粒子群算法及隨機映射方法進行驗證比較。

在仿真中,脈沖神經(jīng)網(wǎng)絡(luò)屬于前饋神經(jīng)網(wǎng)絡(luò)。如圖5所示,在前饋神經(jīng)網(wǎng)絡(luò)中,神經(jīng)元從輸入層接收上一級輸入數(shù)據(jù),并將數(shù)據(jù)輸入到中間層,直到從輸出層輸出數(shù)據(jù),整個網(wǎng)絡(luò)無反饋。并且脈沖神經(jīng)網(wǎng)絡(luò)采用全連接的方式,即第i層中的每一個神經(jīng)元都連接到前一層即i+1層中的所有神經(jīng)元(層編號為從輸出層開始編號)。同時,在snn中以組播的形式發(fā)送數(shù)據(jù),即,第k層中的神經(jīng)元將數(shù)據(jù)發(fā)送到第k+1層中的所有神經(jīng)元(層編號為從輸入層開始編號)。

在仿真中,采用如圖6所示的基于二維網(wǎng)格的星形子網(wǎng)noc系統(tǒng)(thestar-subnet-based-2dmesh,2d-ssbm)及其編號方式。2d-ssbmnoc系統(tǒng)分為兩個層次。2d-ssbmnoc系統(tǒng)底層是星形子網(wǎng),由pe及node路由器組成,通過星形拓?fù)鋵崿F(xiàn)互連。星型子網(wǎng)中的pe通過node路由器直接相互通信。2d-ssbmnoc系統(tǒng)頂層是二維網(wǎng)格結(jié)構(gòu),由tile路由器組成,負(fù)責(zé)不同星形子網(wǎng)之間的通信。

每個node路由器與相對應(yīng)的tile路由器都直接相連。pe的編號方式為在從開始,編號在星形子網(wǎng)內(nèi)部按照逆時針方式依次增大,編號在星形子網(wǎng)之間按照先從左到右,再從下到上的方式增大。

如圖7所示,node路由器負(fù)責(zé)將數(shù)據(jù)在星形子網(wǎng)內(nèi)部之間傳遞,或者當(dāng)數(shù)據(jù)目的地址在星形子網(wǎng)外部時,node路由器負(fù)責(zé)將數(shù)據(jù)傳遞給相對應(yīng)的tile路由器。如圖8所示,當(dāng)tile路由器接到node路由器傳遞的數(shù)據(jù)時,首先將數(shù)據(jù)傳遞給目的tile路由器,然后由目的tile路由器發(fā)送到相對應(yīng)的node路由器,最后傳遞給目的pe。

在本實施例中,按照表1所示的映射方案信息設(shè)置各種參數(shù),并隨機生成初始粒子群。如表1所示,脈沖神經(jīng)元數(shù)量為20,noc系統(tǒng)中pe數(shù)量為36,設(shè)定粒子數(shù)量np為30、最大迭代次數(shù)i為200、突變閾值tm為0.5,脈沖神經(jīng)網(wǎng)絡(luò)中共有100條通信路徑,其中,由輸入層神經(jīng)元到中間層神經(jīng)元的每條通信路徑的通信量設(shè)定為1,由中間層神經(jīng)元到輸出層神經(jīng)元的每條通信路徑的通信量設(shè)定為9,最大迭代次數(shù)為200次。

表1映射方案信息

(二)仿真結(jié)果:

具體實驗結(jié)果如表2所示:相比基本粒子群算法、隨機映射,本發(fā)明本發(fā)明的面向功耗的脈沖神經(jīng)網(wǎng)絡(luò)映射方法具有最低的適應(yīng)度值,說明根據(jù)本發(fā)明得到的映射方案的系統(tǒng)功耗更低。同時根據(jù)表2中群體相似度數(shù)據(jù)可以看出:基本粒子群算法收斂速度明顯快于本發(fā)明的混合粒子群映射方法。

三種映射方法的適應(yīng)度值、群體相似度具體變化情況如圖9、圖10所示。

表2實驗結(jié)果

以上結(jié)合附圖和實例對本發(fā)明的實施方式進行了詳細(xì)說明,但本發(fā)明不限于所描述的實施方式,對本領(lǐng)域的技術(shù)人員而言,不脫離本發(fā)明的原理和精神情況下,對這些實施方式進行各種變化、修改、替換和變型仍落入本發(fā)明的保護范圍內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1