• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      具有二維狀態(tài)轉移結構的隨機邏輯及其在神經(jīng)網(wǎng)絡中的應用

      2016-08-30 11:57:45陳文棟張金藝DavidLILJA上海大學微電子研究與開發(fā)中心上海200072上海大學機電工程與自動化學院上海200072明尼蘇達大學電子與計算機工程系明尼阿波利斯55455
      電子與信息學報 2016年8期
      關鍵詞:碼流狀態(tài)機徑向

      季 淵 陳文棟 冉 峰 張金藝David LILJA(上海大學微電子研究與開發(fā)中心上海200072)(上海大學機電工程與自動化學院上海200072)(明尼蘇達大學電子與計算機工程系明尼阿波利斯55455)

      ?

      具有二維狀態(tài)轉移結構的隨機邏輯及其在神經(jīng)網(wǎng)絡中的應用

      季淵*①②陳文棟①冉峰①②張金藝①David LILJA③①
      ①(上海大學微電子研究與開發(fā)中心上海200072)
      ②(上海大學機電工程與自動化學院上海200072)
      ③(明尼蘇達大學電子與計算機工程系明尼阿波利斯55455)

      隨機計算是一種特殊的基于概率數(shù)據(jù)碼流的數(shù)學計算方法,其優(yōu)點在于可以采用非常簡單的數(shù)字邏輯完成復雜數(shù)學運算,從而大幅降低硬件實現(xiàn)成本。該文首先討論了隨機計算的基本原理和主要運算邏輯,論述了傳統(tǒng)線性狀態(tài)機的不足,并分析了一種2維狀態(tài)轉移拓撲結構,推導了通過2維有限狀態(tài)機實現(xiàn)高斯函數(shù)的方法。在此基礎上,提出一種隨機徑向基函數(shù)神經(jīng)網(wǎng)絡模型,其硬件實現(xiàn)成本非常低,而性能與傳統(tǒng)神經(jīng)網(wǎng)絡相當。兩類模式識別實驗結果顯示,所提出的隨機徑向基函數(shù)神經(jīng)網(wǎng)絡的輸出值均方誤差與相應結構傳統(tǒng)神經(jīng)網(wǎng)絡的差別小于1.3%。FPGA實驗結果顯示,數(shù)據(jù)寬度為12位時,隨機中間神經(jīng)元的電路面積僅為傳統(tǒng)插值查表結構的1.2%、坐標旋轉數(shù)字計算方法(CORDIC)的2%。通過改變輸入碼流長度,該神經(jīng)網(wǎng)絡可以在處理速度、功耗和準確性之間作出平衡,具有應用靈活性,適用于對成本、功耗要求較高的應用如嵌入式、便攜式、穿戴式設備。

      隨機計算;人工神經(jīng)網(wǎng)絡;徑向基函數(shù);模式識別

      正是由于這些特點,隨機計算非常適合于并行計算[6]、容錯計算[7]、可靠性計算[8]以及一些對數(shù)據(jù)精度要求并不十分嚴格的運算密集型應用,例如通信隨機編碼[9]、圖像處理[10],尤其是人工神經(jīng)網(wǎng)絡[11]。由于神經(jīng)網(wǎng)絡包含大量乘法、加法和指數(shù)運算,消耗大量邏輯運算資源,因此用傳統(tǒng)方法進行硬件實現(xiàn)的成本較高[12,13],而基于隨機計算的神經(jīng)網(wǎng)絡(也稱為隨機神經(jīng)網(wǎng)絡)由于運算邏輯簡單,更容易組成大規(guī)模網(wǎng)絡結構。文獻[5]提出了比例縮減加法器、線性有限狀態(tài)機、隨機除法器等隨機計算邏輯單元,改進了隨機神經(jīng)網(wǎng)絡的性能,并將這些改進型隨機邏輯單元用于一種基于軟競爭學習算法的神經(jīng)網(wǎng)絡中進行字符識別應用[14]。然而,這種隨機神經(jīng)網(wǎng)絡仍采用了單一的sigm oid激活函數(shù),網(wǎng)絡類型和網(wǎng)絡性能都受到一定限制。

      近年來,文獻[15]提出了一種基于馬爾可夫鏈(Markov chain)的2維有限狀態(tài)機(FSM)拓撲結構,本文在此基礎上,推導了利用2維有限狀態(tài)機來實現(xiàn)高斯函數(shù)的具體過程,并根據(jù)碼流的全相關性,利用一個簡單的XNOR門實現(xiàn)了減法運算,然后討論了將隨機邏輯應用于徑向基函數(shù)(Radial Basis Function,RBF)神經(jīng)網(wǎng)絡的方法[16],得到隨機徑向基函數(shù)神經(jīng)網(wǎng)絡,將該網(wǎng)絡應用于兩類模式識別實驗(鳶尾花識別和光學字符識別),最后在FPGA上得到驗證。

      2 隨機邏輯運算單元

      2.1數(shù)值定義

      隨機計算中,傳統(tǒng)的確定性數(shù)據(jù)都轉化為概率數(shù)據(jù)。設X(t)為一個長度為L的比特碼流(L為正整數(shù)),t=0,1,2,…,L,X(t)∈[0,1],將X(t)簡記為X,令x表示X中出現(xiàn)數(shù)字1的概率,即x=P(X=1),例如,碼流X=0010011001010001對應的x為0.375。隨機計算可采用兩種數(shù)據(jù)格式:無符號數(shù)(Unipolar)和有符號數(shù)(Bipolar),分別用yu和ys表示,其取值大小和范圍由式(1)和式(2)給出:

      根據(jù)式(1)和式(2)可以得到,碼流X作為無符號數(shù)和有符號數(shù)時分別表示0.375和-0.25(即yu=0.375,ys=-0.25)。這兩種數(shù)據(jù)表示方式本質上相同,可以同時出現(xiàn)在同一個系統(tǒng)中。確定性數(shù)可通過比較器和隨機數(shù)發(fā)器轉換為隨機碼流,隨機碼流可通過二進制計數(shù)器轉換為確定性數(shù)[5]。

      2.2傳統(tǒng)隨機邏輯運算單元

      2.2.1乘法假定隨機碼流A和B均為伯努利(Bernoulli)序列[17],用P(X)表示碼流X中所含有數(shù)字1的概率,若采用無符號數(shù)據(jù)格式,則碼流A和B之間的乘法可以用一個邏輯與門(AND)來實現(xiàn),若采用有符號數(shù)據(jù)格式,則A和B之間的乘法可以用一個異或非門(XNOR)來實現(xiàn)[5]。

      2.2.2加法早期加法用或門(OR)實現(xiàn),但存在誤差[1]。文獻[5]提出一種比例縮放加法器,利用多路選擇器(MUX)實現(xiàn)加法,但是比例縮放加法器每經(jīng)過一次運算,輸出值精度減半,因此仍然存在一定誤差。本文在實現(xiàn)徑向基函數(shù)時,將加法運算轉化為乘法運算,從而避免了精度損失問題,第3節(jié)將詳述。

      2.2.3線性狀態(tài)機神經(jīng)網(wǎng)絡的激活函數(shù)一般為sigm oid函數(shù)。早期的隨機神經(jīng)網(wǎng)絡采用二進制計數(shù)器、查找表、組合邏輯或者預定義碼流來實現(xiàn)激活函數(shù),但是性能都不太理想。文獻[5]提出一種線性狀態(tài)轉移結構如圖1所示,通過改變參數(shù)P和Q可以實現(xiàn)多種sigm oid函數(shù)。然而,當利用該線性狀態(tài)機實現(xiàn)指數(shù)函數(shù)時,狀態(tài)數(shù)N往往大于64,需要較多硬件資源,且在零點的近似效果不理想,無法保證指數(shù)函數(shù)在零點對稱。

      2.3增強型隨機邏輯運算單元

      2.3.1減法傳統(tǒng)隨機計算的輸入序列必須保持不相關[1,5]。但是,如果使輸入序列完全相關(例如,由相同的隨機數(shù)源發(fā)生器產生),則經(jīng)過二輸入XNOR門后,邏輯結果不再是乘法:當輸入序列相應位的值不同時,輸出值為0,當輸入序列相應位的值相同時,輸出值為1,這樣,輸出碼流中0的數(shù)量代表A和B中不相同的位數(shù),1的數(shù)量代表A和B中相同的位數(shù),因此,兩個輸入碼流中數(shù)據(jù)不同的概率被檢測出來,從而實現(xiàn)了減法。XNOR門輸入為兩個無符號數(shù)碼流,輸出為這兩個碼流減法的絕對值(無符號數(shù))。用XOR實現(xiàn)減法時,其輸出為XNOR的邏輯取反。

      圖1 線性狀態(tài)轉移結構

      2.3.2 2維狀態(tài)機考慮圖2所示的狀態(tài)轉移拓撲結構,狀態(tài)總數(shù)為M×N(S0至1MN-S),狀態(tài)根據(jù)輸入值在2維空間內向相鄰狀態(tài)轉移,輸入變量由輸入碼流x和調制碼流k組成,共有4種組合:00,01,10,11,該組合值決定了狀態(tài)的跳轉方向,例如11為向右跳轉,00為向左跳轉,當狀態(tài)處于最右或最左的狀態(tài)時,即使輸入碼流為向右或向左跳轉時,當前狀態(tài)也保持不變,形成飽和;輸入碼流組合為10和01的過程類似。該狀態(tài)變化過程可以由齊次時間的Markov鏈描述,其特征為一個不可約的、非周期性的、遍歷性的狀態(tài)機[15]。根據(jù)Markov定理,當狀態(tài)轉移次數(shù)足夠多時,該結構可等效為一個與初值狀態(tài)無關的概率分布。若用PSt(t為當前狀態(tài)編號,t=0,1,…,MN-1)來表示狀態(tài)t出現(xiàn)的概率,用PX來表示輸入隨機碼流x的概率值,用PK來表示調制碼流k的概率值,則PSt為

      圖2  2維狀態(tài)轉移結構

      其中,i是水平方向上的狀態(tài)編號,j是垂直方向上的狀態(tài)編號,tx和ty為

      由式(3)得到的概率可用于模擬復雜目標函數(shù)。圖3給出了一種求近似函數(shù)的硬件架構,x,k,qt和y都是數(shù)據(jù)位寬為1 bit的隨機碼流,采用無符號數(shù)據(jù)格式,其中,x和k為2維狀態(tài)機(2D-FSM)的輸入碼流,qt是一組預先定義好的隨機參數(shù)碼流,其值由Pqt表示。信號cst表示2維狀態(tài)機的當前狀態(tài),連接到多路選擇器(MUX)的選擇端。若cst為t(t=0,1,…,MN-1),則qt就被選擇作為輸出端y的輸出值。因此,y的概率值(用PY表示)可以由cst和Pqt來調制[16]。

      圖3 用隨機計算實現(xiàn)復雜函數(shù)的邏輯電路結構

      若設目標函數(shù)為T(PX),則可定義目標誤差為

      由于PY可以表示為PX,PK和Pqt的函數(shù),因此通過求解二次函數(shù)ε的最小值,就可以得到調制碼流k和qt的概率值。表1列出了3種高斯函數(shù)作為目標函數(shù)的求解結果。由于高斯函數(shù)為對稱函數(shù),因此PK均為0.5。Pqt通過MATLAB求得,其值關于中心點對稱。PY1和PY2的表達式相同,但是狀態(tài)數(shù)不相同,它們都關于直線x=0.5對稱,逼近結果如圖4所示??梢园l(fā)現(xiàn),在目標函數(shù)相同的情況下,8狀態(tài)和16狀態(tài)的結構都較好逼近目標函數(shù)。與線性狀態(tài)轉移結構比較[5],在實現(xiàn)相同函數(shù)時,2維狀態(tài)轉移結構使用的狀態(tài)數(shù)量大幅減少,輸出曲線更光滑,且2維狀態(tài)轉移結構可以實現(xiàn)更多復雜函數(shù)。圖5顯示了PY3的逼近效果,碼流長度為1 kbit的輸出誤差較大,碼流長度為10 kbit的輸出誤差大幅減少,說明輸出函數(shù)的誤差與隨機碼流的長度有關。圖4和圖5的結果表明,可以用一種簡單的2維狀態(tài)機來實現(xiàn)高斯函數(shù)。

      3 隨機神經(jīng)網(wǎng)絡模型

      3.1徑向基函數(shù)神經(jīng)網(wǎng)絡分解

      本文以一個3層徑向基函數(shù)網(wǎng)絡為例。網(wǎng)絡輸入層包含了輸入對象的原始特征,這些特征用矢量xi來表示(i=1,2,…,I,I為輸入神經(jīng)元個數(shù))。中間層包含了徑向基函數(shù)對輸入神經(jīng)元提取的抽象特征,用矢量yj來表示(j=1,2,…,J,J為中間神經(jīng)元個數(shù)),采用高斯函數(shù)作為徑向基函數(shù),即

      其中,cij為高斯函數(shù)的中心點,σ2控制了高斯函數(shù)的彎曲程度。矢量zk為輸出神經(jīng)元(k=1,2,…,K,K

      為輸出神經(jīng)元個數(shù)),其值是中間神經(jīng)元的線性組合,即

      其中,wjk是權值矩陣,bk是線性偏置。cij,σ,qt,wjk和bk的值在網(wǎng)絡訓練過程中確定。然而,式(7)表示的徑向基函數(shù)并不容易直接用硬件實現(xiàn),因此,把該范數(shù)展開得到:

      可見,yj的計算包含3個計算過程:(1)輸入神經(jīng)元xi和高斯函數(shù)中心點cij的差值;(2)中心點為零的高斯函數(shù);(3)各高斯函數(shù)間的乘積。

      3.2隨機徑向基函數(shù)神經(jīng)網(wǎng)絡

      根據(jù)式(9)構造一個由隨機邏輯實現(xiàn)的徑向基函數(shù)神經(jīng)網(wǎng)絡(以下簡稱隨機RBF網(wǎng)絡),其輸入神經(jīng)元將輸入的確定性二進制數(shù)di轉換為隨機碼流xi,中間神經(jīng)元和輸出神經(jīng)元的結構如圖6所示,網(wǎng)絡參數(shù)cij,k,qt,wjk和bk存儲于外部存儲器中,通過移位寄存器輸入網(wǎng)絡。

      表1  2維狀態(tài)轉移結構近似目標函數(shù)中的參數(shù)

      圖4 用2維狀態(tài)機綜合的高斯函數(shù)PY1和PY2

      圖5 用2維狀態(tài)機綜合的高斯函數(shù)PY3

      對于中間神經(jīng)元,高斯函數(shù)的中心點cij被轉換為隨機碼流,其所使用的隨機源與輸入神經(jīng)元使用的隨機源相同,以保證xi和cij完全相關,從而使用XNOR門將隨機碼流xi和高斯函數(shù)中心點cij相減(如2.3.1節(jié)所述),所得I個差值的絕對值經(jīng)過I個2維狀態(tài)機(如圖3所示)完成高斯函數(shù)計算,其中,調制碼流k和qt由獨立的隨機數(shù)發(fā)生器產生,以保證所得高斯函數(shù)的輸出值Ti(PX)各不相關,從而可以使用一個AND門將該中間神經(jīng)元中所有高斯函數(shù)的輸出值相乘,得到中間神經(jīng)元的輸出yj。

      輸出神經(jīng)元可由兩種方式實現(xiàn),一種是采用隨機邏輯,另一種是采用傳統(tǒng)的確定性邏輯。對于傳統(tǒng)的確定性邏輯,可以先將中間神經(jīng)元輸出的隨機碼流yj轉換為確定性二進制數(shù),然后采用一組乘法器和加法器進行式(8)的線性迭代運算,得到輸出神經(jīng)元的值zk,每個輸出神經(jīng)元的結構相同,但權值wjk和偏置值bk不同。對于隨機邏輯,由于輸出神經(jīng)元的權值wjk和偏置bk可能大于1,因此先要將wjk和bk進行等比例縮小,使其取值范圍為[-1,1],然后使用XNOR門完成yj和wjk有符號乘法計算,最后將結果乘以原來的縮小系數(shù),形成J路隨機碼流zik。為了避免隨機加法運算,該網(wǎng)絡先將J路隨機碼流zik轉換為確定性二進制數(shù),利用確定數(shù)的二進制加法器將轉換結果相加,得到輸出神經(jīng)元的輸出結果zk,從而提高了精度。

      圖6 隨機徑向基函數(shù)神經(jīng)網(wǎng)絡的神經(jīng)元結構

      4 實驗與結果討論

      4.1鳶尾花識別實驗

      鳶尾花數(shù)據(jù)組包含3種類型鳶尾花,每種花各有50組樣本,每組樣本均含有4種數(shù)據(jù):萼片、花瓣的長度和寬度。為了識別花的類型,首先構建一個確定性數(shù)RBF網(wǎng)絡,該網(wǎng)絡包含4個輸入神經(jīng)元、8個中間神經(jīng)元和3個輸出神經(jīng)元,隨機抽取75個樣本作為訓練集,剩余75個樣本作為測試集,采用正交最小二乘法訓練,得到測試樣本識別率為97.33%。然后構建兩個同樣結構(4×8×3)的隨機RBF神經(jīng)網(wǎng)絡M 1和M 2,M 1的中間神經(jīng)元采用圖6(a)的隨機邏輯、輸出神經(jīng)元采用確定邏輯,M 2的所有神經(jīng)元均采用圖6的隨機邏輯。M 1和M 2中間神經(jīng)元2維狀態(tài)機的狀態(tài)數(shù)均為8。對M 1和M 2分別進行鳶尾花種類識別測試,每個測試項重復2000次以減少隨機數(shù)波動影響,測試結果如圖7所示。MSE用于衡量隨機網(wǎng)絡與確定網(wǎng)絡的偏離程度。在M 1中,當測試碼流為10 kbit時,平均識別率為93.4%;當測試碼流為500 kbit時,平均識別率達到96.7%。在M 2中,當測試碼流為1Mbit時,MSE為0.051,比相同情況M 1的MSE高20%,這是因為M 2的輸出神經(jīng)元采用了隨機加法器。該誤差可以通過增大隨機碼流長度得到改善,這一事實也證明了隨機碼流可以動態(tài)調整運算速度和精度。

      圖7 隨機徑向基函數(shù)網(wǎng)絡M 1和M 2對鳶尾花的識別率(柱體)和MSE(實線)

      圖8  E-13B M ICR字體中注入數(shù)據(jù)噪聲

      4.2光學字符識別實驗

      采用E-13B M ICR字體作為識別對象。在標準M ICR字體中加入兩種隨機數(shù)據(jù)噪聲:像素模糊和像素錯誤,分別用BR(Blur Rate)和ER(Error Rate)表征,前者指像素灰度的改變程度,后者指像素灰度值完全錯誤的比例,如圖8所示。每個字符均采用7×8像素陣列描述,像素灰度值經(jīng)過標準化后輸入至隨機徑向基函數(shù)神經(jīng)網(wǎng)絡,網(wǎng)絡擁有56個輸入神經(jīng)元、15個中間神經(jīng)元和14個輸出神經(jīng)元,每一個輸出神經(jīng)元都代表了M ICR字體識別結果。網(wǎng)絡采用正交最小二乘法訓練后得到參數(shù)cij,k,qt,wjk和bk。實驗采用網(wǎng)絡結構M 3和M 4,其中,M 3的中間神經(jīng)元采用隨機邏輯、輸出神經(jīng)元采用確定性邏輯,M 4的中間神經(jīng)元和輸出神經(jīng)元均采用隨機邏輯。采用MATLAB對M 3建模和仿真,識別注入隨機數(shù)據(jù)噪聲的M ICR字體。圖9示意了不同碼流長度的識別結果。對于網(wǎng)絡M 3,當碼流長度從1 kbit增加到100 kbit時,字體識別率有2%~3%的改善,MSE有5%~8%的改善,字體識別率和MSE最終向確定性網(wǎng)絡(DN)的結果收斂。對于網(wǎng)絡M 4,當ER為10%,且碼流長度大于40 kbit時,字體識別率幾乎為100%;當ER為20%,碼流長度從40 kbit增加到1Mbit時,字符識別率從91%增加到96.7%,最終收斂于相應的確定性網(wǎng)絡。

      圖9 隨機徑向基函數(shù)網(wǎng)絡和對應確定性網(wǎng)絡的M ICR字體識別率(實線)和MSE(虛線)(DN:確定性神經(jīng)網(wǎng)絡)

      上述數(shù)據(jù)為2000次實驗結果的平均值。圖10記錄了100次MSE實驗結果。對于M 3,碼流長度1 kbit時的MSE與相應確定性網(wǎng)絡的MSE差別為3.26%,碼流長度10 kbit時的差別為1.3%;對于M 4,碼流長度為100 kbit時差別為7.61%,碼流長度為1 Mbit時的差別為2.17%。這些MSE差別均小于文獻[5]所提出的軟競爭學習神經(jīng)網(wǎng)絡的字符識別實驗[14],在文獻[5]實驗中,確定性網(wǎng)絡和隨機網(wǎng)絡的MSE差別在第1層軟件競爭學習網(wǎng)絡中為31%(0.545 vs0.715),在第2層線性網(wǎng)絡中為10%(4.77 vs 5.26)。

      4.3硬件實現(xiàn)比較

      采用A ltera Cyclone IIIFPGA(EP3C80F780C8)對網(wǎng)絡結構M 1~M 4進行硬件實現(xiàn),該FPGA共有81264個邏輯單元LE和430個管腳,綜合結果如表2所示。網(wǎng)絡參數(shù)(cij,k,qt,wjk和bk)存儲于外部存儲器中,通過移位寄存器移入網(wǎng)絡。對于M 1和M 3,中間神經(jīng)元采用隨機邏輯實現(xiàn),輸出神經(jīng)元采用二進制加法器和乘法器實現(xiàn),對于M 2和M 4,中間神經(jīng)元和輸出神經(jīng)元均采用隨機邏輯實現(xiàn)。當數(shù)據(jù)位寬增加時,兩個網(wǎng)絡結構的總規(guī)模都呈現(xiàn)增長趨勢,但是中間神經(jīng)元的規(guī)模保持不變,說明基于隨機邏輯的中間神經(jīng)元規(guī)模與數(shù)據(jù)位寬無關。M 2,M 4的輸出神經(jīng)元規(guī)模分別大于M 1,M 3,隨著數(shù)據(jù)位寬增加,其占系統(tǒng)總資源的比例不斷擴大,說明與傳統(tǒng)的確定性邏輯相比,隨機邏輯的硬件資源優(yōu)勢隨著網(wǎng)絡規(guī)模的增大變得越來越明顯。

      圖10  MSE的隨機波動(BR=10%,ER=30%),SL:碼流長度(Stream length)

      4.4綜合性能比較

      表3列出了給定FPGA的前提下,不同RBF網(wǎng)絡實現(xiàn)方式的硬件資源和性能比較。A為電路面積,以攤銷至每一個網(wǎng)絡輸入所需要的中間神經(jīng)元LE數(shù)量作為電路面積資源的衡量單位(電路面積除以輸入神經(jīng)元總數(shù)再除以中間神經(jīng)元總數(shù));C為時鐘,以每完成一次識別操作所需要的時鐘數(shù)作為網(wǎng)絡性能的衡量單位;O為操作次數(shù),以每秒能夠完成的最大操作次數(shù)作為網(wǎng)絡性能的衡量單位。從表中可見,隨機RBF網(wǎng)絡的LE攤銷值為22個,遠小于其他3種方法。全查找表結構雖然只需要一個時鐘周期來完成操作,但是所需要的查找表過于龐大。插值查找方式減少了查找表規(guī)模,但是增加了計算時間。CORDIC(坐標旋轉數(shù)字計算)算法是一種流行的指數(shù)函數(shù)計算方法,它只需要二進制加法器,比查找表規(guī)模更小。這幾種算法的性能通過R0,R1,R2 3種指標衡量,其中,R0為面積A和時鐘C的乘積的倒數(shù)(R0=1/(AC)),代表面積和性能的綜合指標;R 1為面積A的平方和時鐘C的乘積的倒數(shù)(R 1= 1/(A2C)),代表以面積為優(yōu)先的衡量指標;R2為操作次數(shù)O除以面積A(R2=(O/A)),代表單位面積可以達到的操作性能。其比較結果如圖11所示,縱坐標為歸一化后的計分值。總體看來,10位隨機網(wǎng)絡結構擁有最好的R0,R1和R2指標,但是精度偏低。在同樣12位的數(shù)據(jù)寬度情況下,若以R1為考查指標(即強調面積優(yōu)先),則隨機網(wǎng)絡擁有最高分值,若以R2為考查指標時(即強調單位面積性能),則隨機網(wǎng)絡與CORDIC擁有較高的分值。若提高數(shù)據(jù)寬度至14位,則隨機網(wǎng)絡在面積上仍有優(yōu)勢。綜上所述,隨機網(wǎng)絡的性能和傳統(tǒng)電路相差并不明顯,但是擁有非常大的電路面積優(yōu)勢。

      表2 隨機徑向基函數(shù)神經(jīng)網(wǎng)絡的FPGA實現(xiàn)資源,單位:LE(邏輯單元),網(wǎng)絡規(guī)模:56×15×14

      表3 不同實現(xiàn)方式的徑向基函數(shù)神經(jīng)網(wǎng)絡的硬件資源和性能比較

      圖11 不同網(wǎng)絡實現(xiàn)方式的性能比較

      隨機計算給神經(jīng)網(wǎng)絡提供了一種并行解決方案。由于神經(jīng)網(wǎng)絡包含大量乘法、加法、指數(shù)運算,傳統(tǒng)基于指令運算的微處理器需要非常多的時鐘周期,對于本實驗M 3和M 4的56×15×14網(wǎng)絡結構,若每個節(jié)點都進行一次乘法和加法,則至少需要56×15×14×2=23520個計算時鐘,再加上指數(shù)運算、控制指令、讀寫數(shù)據(jù)則需要更多時鐘周期,而隨機RBF網(wǎng)絡僅需要10k個時鐘就可以得到基本正確的結果,硬件開銷遠小于傳統(tǒng)微處理器,因此隨機計算的綜合性能相對傳統(tǒng)的微處理器的串行指令運行方式有較大優(yōu)勢。

      5 結束語

      計算機的處理能力正受到越來越嚴重的瓶頸限制。本文提出了一種思路,可以運用非常精簡的隨機運算邏輯來實現(xiàn)大規(guī)模神經(jīng)網(wǎng)絡。實驗證明,本文所提出隨機徑向基函數(shù)神經(jīng)網(wǎng)絡的中間神經(jīng)元的電路面積只有傳統(tǒng)插值查表結構神經(jīng)元的1.2%,CORDIC法的2%,而其運算精度非常接近于傳統(tǒng)網(wǎng)絡,且其MSE波動范圍非常小。從實驗結果可以推論,這些隨機邏輯可以應用于更為復雜的網(wǎng)絡結構中。當硬件成本為主要考慮因素時,隨機網(wǎng)絡具有很大優(yōu)勢,尤其適應于對成本、功耗要求較高而對于精度要求并不高的應用如嵌入式、移動式、穿戴式設備。另一方面,隨機網(wǎng)絡的性能隨著隨機碼流長度而改變,因此,在相同的網(wǎng)絡結構下,可以通過改變碼流長度來產成不同的計算精度,這給設計者帶來了靈活性,可以在不改變硬件結構的情況下對網(wǎng)絡性能、電路功耗和運算速度3個因素進行動態(tài)平衡。最后,由于隨機計算是基于概率數(shù)的運算,網(wǎng)絡可以容許輸入數(shù)據(jù)的誤差和電路錯誤,當電路中有個別數(shù)據(jù)發(fā)生改變時,其最終結果并不會發(fā)生根本變化,該特點將是今后的研究方向之一。

      [1]GAINES B R.Stochastic Com puting System s(Chapters)in Advances in Information System s Science[M].New York: Plenum,1969:37-172.

      [2]HAYES J P.Introduction to stochastic com puting and its challenges[C].2015 52nd ACM/EDAC/IEEE Design Automation Conference(DAC),San Francisco,CA,USA,2015:1-3.doi:10.1145/2744769.2747932.

      [3]ALAGHI A and HAYES J P.Survey of stochastic computing[J].ACM Transactions on Embedded Computing System s,2013,12(2s):1-19.doi:10.1145/2465787.2465794.

      [4]MOONS B and VERHELST M.Energy-efficiency and accuracy of stochastic com puting circuits in emerging technologies[J].IEEE Journal on Em erging and Selected Topics in Circuits and Systems,2014,4(4):475-486.doi: 10.1109/JETCAS.2014.2361070.

      [5]BROWN B D and CARD H C.Stochastic neural computation.I.Com putational elem ents[J].IEEE Transactions on Computers,2001,50(9):891-905.doi: 10.1109/12.954505.

      [6]QIANWeikang,LIXin,RIEDELM D,et al.An architecture for fault-tolerant com putation w ith stochastic logic[J].IEEE Transactions on Computers,2011,60(1):93-105.doi: 10.1109/TC.2010.202.

      [7]HAN Jie,CHEN Hao,LIANG Jinghang,et al.A stochastic computational app roach for accurate and efficient reliability evaluation[J].IEEE Transactions on Computers,2014,63(6): 1336-1350.doi:10.1109/TC.2012.276.

      [8]ALAWAD M and LIN M ingjie.FIR filter based on stochastic com puting w ith reconfigurable d igital fabric[C].2015 IEEE 23rd Annual International Sym posium on Field-Programmable Custom Computing Machines(FCCM),Vancouver,BC,Canada,2015:92-95.doi:10.1109/FCCM. 2015.32.

      [9]TEHRANI S S,NADERI A,KAMENDJE G A,et al. M ajority-based tracking forecast M em ories for Stochastic LDPC Decoding[J].IEEE Transactions on Signal Processing,2010,58(9):4883-4896.doi:10.1109/TSP.2010.2051434.

      [10]LIPeng,LILJA D J,QIAN W eikang,et al.Com pu tation on stochastic bit stream s digital image processing case studies[J]. IEEE Transactions on Very Large Scale Integration(VLSI)System s,2014,22(3):449-462.doi:10.1109/TVLSI.2013. 2247429.

      [11]ZHANG Da and LIHui.A stochastic-based FPGA controller for an induction motor drivew ith integrated neural network algorithm s[J].IEEE Transactions on Industrial Electronics, 2008,55(2):551-561.doi:10.1109/TIE.2007.911946.

      [12]王守覺,李兆洲,陳向東,等.通用神經(jīng)網(wǎng)絡硬件中神經(jīng)元基本數(shù)學模型的討論[J].電子學報,2001,29(5):576-580.

      WANG Shou jue,LI Zhaozhou,CHEN X iangdong,et al. Discussion on the basic mathematicalmodels of neurons in general purpose neurocom puter[J].Acta Electronica Sinica,2001,29(5):576-580.

      [13]吳大鵬,趙瑩,熊余,等.基于小波神經(jīng)網(wǎng)絡的告警信息相關性挖掘策略[J].電子與信息學報,2014,36(10):2379-2384. doi:10.3724/SP.J.1146.2013.01701.

      WU Dapeng,ZHAO Ying,XIONG Yu,et al.A larm information relevance m ining mechanism based on wavelet neural network[J].Journal of Electronics&Information Technology,2014,36(10):2379-2384.doi:10.3724/SP.J.1146. 2013.01701.

      [14]BROWN B D and CARD H C.Stochastic neural computation.II.Soft com petitive learning[J].IEEE Transactions on Computers,2001,50(9):906-920.doi: 10.1109/12.954506.

      [15]LI Peng,LILJA D J,QIAN W K,et al.The synthesis of com p lex arithm etic com putation on stochastic bit stream s using sequential logic[C].2012 IEEE/ACM International Conference on Com puter-Aided Design(ICCAD),San Jose,CA,USA,2012:480-487.doi:10.1145/2429384.2429483.

      [16]JI Yuan,RAN Feng,MA Cong,et al.A hardware im plementation of a radial basis function neural network using stochastic logic[C].2015 Design,Automation&Test in Europe Conference&Exhibition(DATE),G renoble,F(xiàn)rance,2015:880-883.

      [17]馬承光,仲順安,LILJA D J,等.基于超幾何分解的隨機運算系統(tǒng)分析方法[J].電子與信息學報,2013,35(2):355-360.doi: 10.3724/SP.J.1146.2012.00711.

      MA Chengguang,ZHONG Shunan,LILJA D J,et al. Analysis m ethod of stochastic com puting system based on hypergeometric decom position[J].Journal of Electronics& Information Technology,2013,35(2):355-360.doi:10.3724/ SP.J.1146.2012.00711.

      季淵:男,1980年生,副研究員,研究方向為大規(guī)模集成電路設計、神經(jīng)網(wǎng)絡與機器學習、硅基微顯示器.

      陳文棟:男,1993年生,碩士生,研究方向為神經(jīng)網(wǎng)絡與機器學習.

      冉峰:男,1954年生,教授,研究方向為大規(guī)模集成電路設計、微電子技術、半導體器件.

      David LILJA:男,教授,研究方向為計算機架構、并行計算、高性能計算.

      Stochastic Logics with Two-dimensional State Transfer Structure and Its App lication in the A rtificial Neural Network

      JIYuan①②CHEN Wendong①RAN Feng①②ZHANG Jinyi①David LILJA③①
      ①(M icroelectronic Research and Developm ent Center,Shanghai University,Shanghai 200072,China)
      ②(School ofM echatronic Engineering and Automation,Shanghai University,Shanghai 200072,China)
      ③(Departm ent ofElectrical and Computer Engineering,University ofMinnesota,M inneapolis 55455,USA)

      Stochastic com puting is a special algorithm that perform smathematical operations with probabilistic values of bit stream s rather than traditional determ inistic values.Themain advantage of stochastic computing is its great sim plicity of hardwarearithmetic units formathematical operations to reduce the circuit cost.This paper discusses the p rincip le of the stochastic computing and itsmain arithmetic logic.It analyzes a two-dimension state transition topology structure,and discusses the Gaussian function im p lem entation m ethod based on the two-d im ension Finite State M achin(FSM).Then,a low cost stochastic radial basis function neural network m odel is proposed.Results from two pattern recognition tests show that the d ifference of them ean squared error between the stochastic network output value and the corresponding determ inistic network output value can be less than 1.3%.FPGA im plementation results show that the hardware resource requirement of the p roposed stochastic hidden neuron is only 1.2%of the corresponding determ inistic hidden neuron w ith the interpolated look-up table,and is 2.0%of the CORDIC algorithm.The accuracy,speed and power of the stochastic network can be tradeoff dynam ically.This network is suitab le for the low cost and low power app lications like embedded,portable and wearab le devices.

      Stochastic com puting;Artificial neural network;Radial Basis Function(RBF);Pattern recognition

      1 引言

      隨機計算(stochastic com puting)[14]-是一種特殊的基于非確定性數(shù)據(jù)的計算方法,最初由文獻[1]提出,它以比特碼流中出現(xiàn)1(或0)的概率作為運算數(shù)值,在概率域中進行數(shù)學運算。與傳統(tǒng)的基于確定性數(shù)的計算方法(determ inistic computing)相比,隨機計算的最大優(yōu)勢在于所需要的運算邏輯資源非常小,例如,兩個數(shù)之間的乘法運算可以簡單地用一個二輸入與門來實現(xiàn)[5]。其次,由于隨機計算采用概率數(shù)作為運算數(shù)據(jù),其運算過程中的輸入噪聲或數(shù)據(jù)錯誤不會導致最終結果的完全偏離,因此,隨機計算的抗干擾能力強于傳統(tǒng)的確定性計算。第三,隨機計算的運算精度與比特碼流的長度相關,更長的碼流可以產生更高的數(shù)據(jù)精度,這給系統(tǒng)設計帶來了較好的靈活性,在同一個硬件系統(tǒng)中,可以根據(jù)應用場景特點采用不同的碼流長度,實現(xiàn)運算速度、電路功耗和運算精度的動態(tài)調整。

      The National Natural Science Foundation of China(61376028)

      TP302.7

      A

      1009-5896(2016)08-2099-08

      10.11999/JEIT 151233

      2015-11-03;改回日期:2016-04-08;網(wǎng)絡出版:2016-05-24

      季淵jiyuan@shu.edu.cn

      國家自然科學基金(61376028)

      猜你喜歡
      碼流狀態(tài)機徑向
      分布式碼流實時監(jiān)控與錄制系統(tǒng)的設計與實現(xiàn)
      電視技術(2021年8期)2021-10-21 08:19:48
      數(shù)字電視TS碼流協(xié)議簡要分析
      視聽(2021年8期)2021-08-12 10:53:42
      淺探徑向連接體的圓周運動
      RN上一類Kirchhoff型方程徑向對稱正解的存在性
      基于PID+前饋的3MN徑向鍛造機控制系統(tǒng)的研究
      重型機械(2020年3期)2020-08-24 08:31:40
      基于有限狀態(tài)機的交會對接飛行任務規(guī)劃方法
      一類無窮下級整函數(shù)的Julia集的徑向分布
      一種比較ASN.1碼流差異的方法
      基于梯度的CCSDS壓縮碼流控制算法研究
      電視技術(2014年19期)2014-03-11 15:37:52
      FPGA設計中狀態(tài)機安全性研究
      黑龍江科學(2011年2期)2011-03-14 00:39:36
      大城县| 清原| 双城市| 衡山县| 郓城县| 迁安市| 哈巴河县| 乐至县| 兴安县| 内黄县| 繁昌县| 阿拉善左旗| 万荣县| 芷江| 旺苍县| 崇阳县| 永和县| 玉树县| 西吉县| 阳西县| 二连浩特市| 泾源县| 龙陵县| 常德市| 耿马| 余江县| 台南县| 辰溪县| 永善县| 临泉县| 阜新| 雅江县| 东乌珠穆沁旗| 平舆县| 小金县| 大丰市| 德江县| 左权县| 句容市| 郓城县| 日喀则市|