本申請?zhí)岢鲆环N概率計算脈沖式神經(jīng)網(wǎng)絡(luò)計算單元和架構(gòu)。所述計算單元包括輸入單元、輸出單元。輸入單元在每一個活動周期,根據(jù)當(dāng)前活動周期的輸入值和權(quán)重值,通過概率計算產(chǎn)生脈沖序列;輸出單元,對所述脈沖序列中的脈沖進行計數(shù),并累加一個基礎(chǔ)值,生成當(dāng)前活動周期的輸出值。所述計算陣列包含所述計算單元,呈矩陣排列。所述架構(gòu),使用所述計算單元的組合構(gòu)成計算陣列。本申請解決脈沖神經(jīng)網(wǎng)絡(luò)計算量大、需要實現(xiàn)高速計算的問題。
【技術(shù)實現(xiàn)步驟摘要】
一種概率計算脈沖式神經(jīng)網(wǎng)絡(luò)計算單元和架構(gòu)
本專利技術(shù)涉及集成電路、電路與系統(tǒng)及其類腦計算領(lǐng)域,尤其涉及基于概率計算的雙神經(jīng)元脈沖神經(jīng)網(wǎng)絡(luò)硬件架構(gòu)設(shè)計方法及裝置。
技術(shù)介紹
在現(xiàn)有的脈沖神經(jīng)網(wǎng)絡(luò)硬件加速器設(shè)計中,往往采用模擬電路實現(xiàn)對生物神經(jīng)元發(fā)送與接收尖峰脈沖(模擬量)的仿生設(shè)計,雖具有較佳的計算能效優(yōu)勢,但模擬電路不易于實現(xiàn)可重構(gòu)設(shè)計,較難達(dá)到神經(jīng)網(wǎng)絡(luò)通用加速的目的,且由于易受噪聲影響,計算可靠性不佳。數(shù)字電路有利于實現(xiàn)脈沖神經(jīng)網(wǎng)絡(luò)的通用硬件加速器設(shè)計,但神經(jīng)元間的通信通過傳遞尖峰脈沖實現(xiàn),而尖峰脈沖是在時間軸上連續(xù)變化的模擬量,現(xiàn)有的數(shù)字電路神經(jīng)元建模中,為了得到某一時刻的膜電位運算,需要記錄每個神經(jīng)元從不應(yīng)期結(jié)束開始直到當(dāng)前時刻的所有輸入脈沖,并且根據(jù)脈沖對膜電位增量的變化曲線得到各個脈沖在這一時刻對各神經(jīng)元的增量值,并受權(quán)重加權(quán),累加得到膜電位。這樣的計算方式需要大量的存儲,也導(dǎo)致了龐大的運算量,在效率上具有較大的劣勢。當(dāng)計算神經(jīng)元在t時刻的膜電位時,要對多個輸入到神經(jīng)元的尖峰脈沖波形進行時域累積。尤其是,當(dāng)輸入輸出數(shù)量較大時,電路規(guī)模大,設(shè)計困難、計算速度不易提高。
技術(shù)實現(xiàn)思路
為解決脈沖神經(jīng)網(wǎng)絡(luò)計算量大、需要提高計算速度的問題,本申請?zhí)岢鲆环N基于概率計算脈沖式神經(jīng)網(wǎng)絡(luò)計算單元和架構(gòu)。第一方面,本申請?zhí)岢鲆环N概率計算脈沖式神經(jīng)網(wǎng)絡(luò)計算單元,包括輸入單元、輸出單元。所述輸入單元,在每一個活動周期,根據(jù)當(dāng)前活動周期的輸入值和權(quán)重值,通過概率計算產(chǎn)生脈沖序列。所述輸出單元,用于對所述脈沖序列中的脈沖1進行計數(shù),并累加一個基礎(chǔ)值,生成當(dāng)前活動周期的輸出值。優(yōu)選地,所述輸入單元包含激活閾值判定模塊、脈沖發(fā)生模塊、隨機數(shù)生成器。所述激活閾值判定模塊,用于比較輸入值和門限值,當(dāng)所述輸入值大于門限值時,產(chǎn)生激活脈沖,使能所述脈沖發(fā)生模塊。所述隨機數(shù)生成器,用于在設(shè)定的位數(shù)范圍內(nèi)生成隨機數(shù)。所述脈沖發(fā)生器,用于比較每一個隨機數(shù)與權(quán)重值的大小,生成所述脈沖序列,其中的脈沖1呈隨機分布,在每一個脈沖序列重復(fù)周期內(nèi),脈沖1的數(shù)量為所述權(quán)重值。優(yōu)選地,所述輸出單元包含脈沖計數(shù)器、移位寄存器。當(dāng)神經(jīng)元狀態(tài)值為1時,使能所述脈沖計數(shù)器。所述脈沖計數(shù)器,用于在上一活動周期的輸出值的衰減值的基礎(chǔ)上,對當(dāng)前活動周期中生成的所述脈沖序列中的脈沖1進行計數(shù)并累積,生成當(dāng)前活動周期的輸出值。所述移位寄存器,用于對當(dāng)前活動周期的輸出值二進制移位,使輸出值相對減小1/2,生成當(dāng)前活動周期的輸出值的衰減值,用作下一活動周期脈沖計數(shù)器的基礎(chǔ)值。第二方面,本申請實施例提出一種基于概率計算脈沖式神經(jīng)網(wǎng)絡(luò)架構(gòu),包含本申請任意一項實施例所述計算單元組成計算陣列,所述計算陣列中的計算單元呈矩陣排列。所述計算陣列包含至少1個輸出神經(jīng)元,每1個輸出神經(jīng)元對應(yīng)numin個計算單元。所述numin個計算單元構(gòu)成一個子陣列。所述子陣列,用于在每一個活動周期計算numin個權(quán)重值和numin個輸入值條件下的膜電位輸出;每個計算單元分別輸入一個輸入值和對應(yīng)的權(quán)重值,其中:第i個計算單元的輸出單元生成的當(dāng)前活動周期的輸出值,作為第i+1個計算單元的輸出單元的基礎(chǔ)值,i=1~numin-1;第numin個計算單元的輸出單元生成的當(dāng)前活動周期的輸出值,對當(dāng)前活動周期的輸出值二進制移位,使輸出值相對減小1/2,用作下一活動周期第1個計算單元的輸出神經(jīng)元的基礎(chǔ)值。優(yōu)選地,所述計算陣列包括并行排列的多個所述子陣列,第j個子陣列的第i個計算單元,權(quán)重值wij數(shù)據(jù)保持在陣列內(nèi)。在每1個活動周期,第i個激活脈沖廣播至每一個子陣列的第i個計算單元。優(yōu)選地,每1個子陣列的numin個計算單元位于一個矩陣中或分別在多個矩陣中組合排列。優(yōu)選地,在每1個子陣列中,經(jīng)numin步串行移位計算得到當(dāng)前活動周期的膜電位值,第i步計算時,使用狀態(tài)值1啟動第i個計算單元。進一步優(yōu)選地,在多個子陣列中,第j+1個子陣列的第i個計算單元和第j個子陣列的第i+1個計算單元同步計算。第三方面,本申請還提出一種概率計算脈沖式神經(jīng)網(wǎng)絡(luò)處理方法,用本申請任意一項實施例所述計算單元的組合構(gòu)成計算陣列,生成膜電位值二進制數(shù)據(jù)。優(yōu)選地,通過陣列控制系統(tǒng)導(dǎo)入排布數(shù)據(jù),所述排布數(shù)據(jù)包含所述計算單元的排列關(guān)系,在所述計算單元構(gòu)成的矩陣結(jié)構(gòu)中,建立全連接形式的脈沖神經(jīng)網(wǎng)絡(luò)。本申請實施例采用的上述技術(shù)方案能夠達(dá)到以下有益效果:本專利技術(shù)基于對數(shù)字電路可實現(xiàn)的脈沖神經(jīng)元進行建模,并提出一種可重構(gòu)的脈沖神網(wǎng)絡(luò)硬件架構(gòu),結(jié)合脈動陣列技術(shù),在保證計算效率的前提下,降低了可重構(gòu)設(shè)計的復(fù)雜程度,實現(xiàn)了對全連接形式脈沖神經(jīng)網(wǎng)絡(luò)的通用計算功能。附圖說明此處所說明的附圖用來提供對本申請的進一步理解,構(gòu)成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:圖1為概率計算脈沖式神經(jīng)網(wǎng)絡(luò)計算單元電路結(jié)構(gòu);圖2為全連接形式脈沖式神經(jīng)網(wǎng)絡(luò)架構(gòu)的陣列重構(gòu)方式;圖3為多輸出神經(jīng)元并行計算時脈沖式神經(jīng)網(wǎng)絡(luò)架構(gòu)的陣列重構(gòu)方式;圖4為輸入數(shù)據(jù)的脈沖編碼電路;圖5為另一概率計算脈沖式神經(jīng)網(wǎng)絡(luò)架構(gòu)實施例。具體實施方式為使本申請的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本申請具體實施例及相應(yīng)的附圖對本申請技術(shù)方案進行清楚、完整地描述。顯然,所描述的實施例僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。本專利技術(shù)為解決脈沖神經(jīng)元在數(shù)字電路中計算量龐大,存儲需求高問題,對脈沖神經(jīng)元的運算公式進行化簡,提出了基于概率計算的脈沖神經(jīng)元模型及對應(yīng)的計算單元。進而解決現(xiàn)有脈沖神經(jīng)網(wǎng)絡(luò)硬件加速器通用性差的問題,結(jié)合脈動陣列技術(shù),提出了一種可重構(gòu)的脈沖神經(jīng)網(wǎng)絡(luò)硬件架構(gòu)。最后,本申請?zhí)岢錾窠?jīng)網(wǎng)絡(luò)處理方法,基于計算單元的陣列結(jié)構(gòu),建立全連接形式的脈沖神經(jīng)網(wǎng)絡(luò)。為實現(xiàn)以上目的,本專利技術(shù)對時間域離散的脈沖神經(jīng)元進行建模并基于概率計算思想進一步優(yōu)化。脈沖神經(jīng)元的膜電位變化所遵循的原始表達(dá)式為:其中g(shù)(t)為一個尖峰脈沖對膜電位所產(chǎn)生增量;numin為輸入神經(jīng)元數(shù)量;uout,j(t)為第j個輸出膜電位;pin,i(t)表示第i個輸入神經(jīng)元發(fā)送的尖峰脈沖波形,由uin,i(tn)得到;sout,j(t)為第j個輸出神經(jīng)元t時刻的狀態(tài),取值為0或1,為0時神經(jīng)元處于不應(yīng)期,膜電位將置零且接收脈沖時膜電位不會產(chǎn)生增量;wij為第i個輸入神經(jīng)元與第j個輸出神經(jīng)元的連接權(quán)重;t0表示神經(jīng)元最近一次不應(yīng)期結(jié)束的時刻。公式1~4中的j的范圍為1~numout。其中numout為輸出神經(jīng)元數(shù)量。根據(jù)上述公式1,本專利技術(shù)的方案首先對時間域離散的數(shù)字脈沖神經(jīng)元建模,將尖峰脈沖替換為方波。若設(shè)T為采樣間隔,可以得到下述表達(dá)式:本文檔來自技高網(wǎng)...
【技術(shù)保護點】
1.一種概率計算脈沖式神經(jīng)網(wǎng)絡(luò)計算單元,其特征在于,包括輸入單元、輸出單元;/n所述輸入單元,在每一個活動周期,根據(jù)當(dāng)前活動周期的輸入值和權(quán)重值,通過概率計算產(chǎn)生脈沖序列;/n所述輸出單元,用于對所述脈沖序列中的脈沖1進行計數(shù),并累加一個基礎(chǔ)值,生成當(dāng)前活動周期的輸出值。/n
【技術(shù)特征摘要】
1.一種概率計算脈沖式神經(jīng)網(wǎng)絡(luò)計算單元,其特征在于,包括輸入單元、輸出單元;
所述輸入單元,在每一個活動周期,根據(jù)當(dāng)前活動周期的輸入值和權(quán)重值,通過概率計算產(chǎn)生脈沖序列;
所述輸出單元,用于對所述脈沖序列中的脈沖1進行計數(shù),并累加一個基礎(chǔ)值,生成當(dāng)前活動周期的輸出值。
2.如權(quán)利要求1所述計算單元,其特征在于,所述輸入單元包含激活閾值判定模塊、脈沖發(fā)生模塊、隨機數(shù)生成器;
所述激活閾值判定模塊,用于比較輸入值和門限值,當(dāng)所述輸入值大于門限值時,產(chǎn)生激活脈沖,使能所述脈沖發(fā)生模塊;
所述隨機數(shù)生成器,用于在設(shè)定的位數(shù)范圍內(nèi)生成隨機數(shù);
所述脈沖發(fā)生器,用于比較每一個隨機數(shù)與權(quán)重值的大小,生成所述脈沖序列,其中的脈沖1呈隨機分布,在每一個脈沖序列重復(fù)周期內(nèi),脈沖1的數(shù)量為所述權(quán)重值。
3.如權(quán)利要求1所述計算單元,其特征在于,所述輸出單元包含脈沖計數(shù)器、移位寄存器;
當(dāng)神經(jīng)元狀態(tài)值為1時,使能所述脈沖計數(shù)器;
所述脈沖計數(shù)器,用于在上一活動周期的輸出值的衰減值的基礎(chǔ)上,對當(dāng)前活動周期中生成的所述脈沖序列中的脈沖1進行計數(shù)并累積,生成當(dāng)前活動周期的輸出值;
所述移位寄存器,用于對當(dāng)前活動周期的輸出值二進制移位,使輸出值相對減小1/2,生成當(dāng)前活動周期的輸出值的衰減值,用作下一活動周期脈沖計數(shù)器的基礎(chǔ)值。
4.一種概率計算脈沖式神經(jīng)網(wǎng)絡(luò)架構(gòu),包含權(quán)利要求1~3任意一項所述計算單元組成計算陣列,所述計算陣列中的計算單元呈矩陣排列,其特征在于,
所述計算陣列包含至少1個輸出神經(jīng)元,每1個輸出神經(jīng)元對應(yīng)numin個計算單元,所述numin個計算單元構(gòu)成一個子陣列;
所述子陣列,用于在每一個活動周期計算numin個權(quán)重值和numin個輸入值條件下...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:李洪革,陳宇昊,
申請(專利權(quán))人:北京航空航天大學(xué),
類型:發(fā)明
國別省市:北京;11
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。