• 
    

    
    

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

      ?

      基于FPGA的RBF神經(jīng)網(wǎng)絡(luò)的硬件實(shí)現(xiàn)

      2012-07-13 06:29:50王興
      電子設(shè)計(jì)工程 2012年16期
      關(guān)鍵詞:隱層高斯半徑

      王興

      (武漢科技大學(xué) 信息科學(xué)與工程學(xué)院,湖北 武漢430081)

      人工神經(jīng)網(wǎng)絡(luò)廣泛應(yīng)用于圖像處理、模式識別和自動(dòng)控制等領(lǐng)域。但是,傳統(tǒng)的基于軟件實(shí)現(xiàn)的神經(jīng)網(wǎng)絡(luò),存在并行程度低、速度慢,計(jì)算速度無法滿足實(shí)時(shí)性的需求,造成了理論研究與實(shí)際應(yīng)用脫節(jié)。因此,神經(jīng)網(wǎng)絡(luò)的硬件實(shí)現(xiàn)是神經(jīng)網(wǎng)絡(luò)研究的基本問題之一。神經(jīng)網(wǎng)絡(luò)的硬件實(shí)現(xiàn)的最大特點(diǎn)就是體現(xiàn)了系統(tǒng)的并行性,處理速度快,易于滿足實(shí)時(shí)性要求。另外,算法的復(fù)雜程度以及在實(shí)際工程中應(yīng)用的可行性仍需要通過硬件的實(shí)現(xiàn)效果來檢驗(yàn)。因此,神經(jīng)網(wǎng)絡(luò)的硬件實(shí)現(xiàn)意義重大。

      1 RBF神經(jīng)網(wǎng)絡(luò)的簡介

      徑向基函數(shù) (Radial Basis Function,RBF) 網(wǎng)絡(luò)是由Moody J和Darken C于20世紀(jì)80年代末提出的一種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),是一種有監(jiān)督的神經(jīng)網(wǎng)絡(luò)。它是借鑒生物機(jī)制中的局部調(diào)節(jié)及交叉接受區(qū)域知識的基礎(chǔ)上提出的一種采用局部接受域來執(zhí)行函數(shù)映射的人工神經(jīng)網(wǎng)絡(luò)。RBF網(wǎng)絡(luò)最基本的構(gòu)成包括3層,其結(jié)構(gòu)如圖1所示,其中每一層都有著完全不同的作用。

      輸入層由一些源點(diǎn)(感知單元)組成,他們將網(wǎng)絡(luò)與外界環(huán)境連接起來;第二層是網(wǎng)絡(luò)中僅有的一個(gè)隱層,它的作用是進(jìn)行從輸入空間到隱層空間的非線性變換。隱層節(jié)點(diǎn)中的

      圖1 RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 Structure diagram of RBF neural network

      作用函數(shù)(基函數(shù))對輸入信號將在局部產(chǎn)生響應(yīng),也就是說,當(dāng)輸入信號靠近基函數(shù)的中央范圍時(shí),隱層節(jié)點(diǎn)將產(chǎn)生較大的輸出,由此看出這種網(wǎng)絡(luò)具有局部逼近能力。輸出層是線性的,它為作用于輸入層的激活模式(信號)提供響應(yīng)。

      徑向基函數(shù)有多種形式,如:二次型、逆二次型或Gauss型等。若采用高斯函數(shù)作為徑向基函數(shù),則神經(jīng)元的輸出為:

      上式中,m是隱含層結(jié)點(diǎn)數(shù);‖·‖是歐幾里德范數(shù);Ci和σi分別為與每個(gè)隱含層節(jié)點(diǎn)相關(guān)的參數(shù)向量的中心和寬度;ωi是第i個(gè)基函數(shù)與輸出結(jié)點(diǎn)的連接權(quán)值。

      2 RBF網(wǎng)絡(luò)的FPGA實(shí)現(xiàn)

      2.1 RBF單元中心Ci和半徑σi的確定

      對各RBF的中心及半徑的確定通常有以下兩種方式:

      2)用聚類方法,把樣本聚成幾類,以類中心為各RBF函數(shù)的中心。

      首先,中心Ci的確定。采用k-均值聚類分析技術(shù)確定Ci。找出有代表性的數(shù)據(jù)點(diǎn) (不一定位于原始數(shù)據(jù)點(diǎn))作為RBF單元中心,從而極大地減少隱RBF單元數(shù)目,降低網(wǎng)絡(luò)復(fù)雜化程度。利用k-均值算法獲得各個(gè)聚類中心后,即可將之賦給各RBF單元作為RBF的中心。

      然后,半徑σi的確定。半徑σi決定了RBF單元接受域的大小,對網(wǎng)絡(luò)的精度有極大的影響。半徑選擇的原則是使得所有RBF單元的接受域之和覆蓋整個(gè)訓(xùn)練樣本空間。

      通常應(yīng)用k-均值聚類法后,對每個(gè)聚類中心Ci,可以令相應(yīng)的半徑σi等于與其屬于該類的訓(xùn)練樣本之間的平均距離,即

      2.2 調(diào)節(jié)權(quán)矩陣W

      這里權(quán)W是指輸出層和隱層之間的權(quán)值,可以采用線性最小二乘法和梯度法來調(diào)節(jié)權(quán)矩陣W。

      1)線性最小二乘法。令網(wǎng)絡(luò)輸出為

      2)梯度法。迭代公式如下:

      由于輸出為線性單元,因而可以確保梯度算法收斂于全局最優(yōu)解。所以,在本設(shè)計(jì)中采用梯度法來修改權(quán)值W。

      2.3 隱層非線性函數(shù)映射的實(shí)現(xiàn)

      RBF神經(jīng)網(wǎng)絡(luò)隱層中的映射函數(shù)為高斯函數(shù),為非線性函數(shù)。而非線性函數(shù)在硬件上實(shí)現(xiàn)往往比較復(fù)雜,難度較大。通常實(shí)際工程中采用查表法或迭代法來近似模擬這些非線性函數(shù),查表法較迭代法雖在結(jié)構(gòu)和運(yùn)算復(fù)雜度上有明顯降低,但在精度上也會(huì)明顯降低。若要提高精度,只能增加表的大小,但增加表的大小,直接帶來的影響就是會(huì)加大存儲空間和降低查表效率,所以,在FPGA上采用何種方法實(shí)現(xiàn)高斯函數(shù)的存儲達(dá)到精度和效率之間的平衡就至關(guān)重要。

      高斯函數(shù)表達(dá)式為

      2.3.1 STAM算法

      STAM算法的主體思想是先產(chǎn)生系數(shù),然后利用系數(shù)的對稱性減小ROM表的大小。在該算法中先把輸入X分為m+1 個(gè)部分:x0,x1,…,xm。 則 f(x)可以近似為

      該種方法雖然在某種程度上使得查找表的數(shù)量增加了,但每個(gè)表的大小卻大大減小了,整體上查找表還是減少了,效率上也相應(yīng)提高了。

      為了減小表的誤差和在表系數(shù)中構(gòu)造對稱,定義δi以恰好位于xi的最大值和最小值的中間,即:f(x)在 x0+x1+x2:m 點(diǎn)的二階泰勒級數(shù)展開為:用δ1代替上式第2部分中的x1:

      然后再把第2部分分開:

      和式(1)比較,就可以確定系數(shù)為:

      式(13)構(gòu)造的查找表 a0(x0,x1),其輸入值的位數(shù)為 n0+n1。式(14)所構(gòu)造的其余 m-1 個(gè)查找表 ai-1(x0,xi),由于 δi被定義為xi的取值區(qū)間的中間點(diǎn),故查找表中的系數(shù)值具有對稱性,即 ai-1(x0,xi)與 ai-1(x0,2δi-xi)互為補(bǔ)碼,其輸入值的位數(shù)可以減為n0+n1-1,從而使這m-1個(gè)查找表的存儲空間節(jié)省了一半。

      2.3.2 CORDIC迭代法

      坐標(biāo)旋轉(zhuǎn)計(jì)算機(jī) (CORDIC:Coordinate Rotation Digital Computer)由 Volder.J于 1959 年提出[1],1971 年 J.S.Walther提出統(tǒng)一CORDIC算法[2]。

      該算法是用于計(jì)算一些常用的非線性函數(shù)的循環(huán)迭代算法。其基本思想是用一系列與運(yùn)算基數(shù)相關(guān)的角度的不斷偏擺從而逼近所需旋轉(zhuǎn)的角度,從而達(dá)到非線性函數(shù)的逼近。

      由 CORDIC算法可知,計(jì)算指數(shù)函數(shù) exp(x)的迭代公式為:

      迭代n次后的結(jié)果為

      在實(shí)現(xiàn)指數(shù)函數(shù)exp時(shí),采用MATLAB仿真與CORDIC迭代結(jié)合的方式。因?yàn)榈^程中有限字長的截?cái)鄬⒃斐山財(cái)嗾`差,所以如果 CORDIC輸入數(shù)據(jù)為 N bit,則x,y迭代過程需log2(N)的保護(hù)位。具體迭代過程為:首先,把CORDIC輸入數(shù)據(jù)映射到CORDIC迭代收斂區(qū)間,并根據(jù)相應(yīng)數(shù)值的某位數(shù)字尋址查表;然后,以為z路徑的初始值按公式(15)進(jìn)行CODIC 迭代,直到滿足迭代次數(shù),此時(shí)得到 xi為 Kh·exp(zin)。

      2.4 系統(tǒng)整體設(shè)計(jì)框圖

      RBF神經(jīng)網(wǎng)絡(luò)訓(xùn)練部分的系統(tǒng)框圖如圖2所示。

      圖2 系統(tǒng)整體設(shè)計(jì)框圖Fig.2 Structure diagram of the whole system

      3 系統(tǒng)仿真

      本實(shí)驗(yàn)以Altera公司開發(fā)的 EDA工具QuartusⅡ作為編譯、仿真平臺 ,選用Cyclone系列中的 EP1C6Q240C8器件。且以經(jīng)典非線性問題XOR問題為算例。仿真結(jié)果如表1所示。

      表1 XOR實(shí)驗(yàn)仿真結(jié)果Tab.1 Test result of experimet on XOR problem

      4 結(jié)束語

      FPGA作為一種可編程資源,在提高設(shè)計(jì)靈活性及加快算法效率上,比較適合硬件實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò) ,可以加快。而文中采用STAM算法,可以有效地節(jié)省存儲空間 ,且CORDIC迭代算法實(shí)現(xiàn)了RBF網(wǎng)絡(luò)中的非線性高斯映射函數(shù),所耗資源較少,適合于作為硬件實(shí)現(xiàn)網(wǎng)絡(luò)的算法。從經(jīng)典非線性XOR算例在基于文中所設(shè)計(jì)的RBF網(wǎng)絡(luò)中有較好結(jié)果,不僅精度上得到較滿意的結(jié)果,且網(wǎng)絡(luò)的總體誤差也較小。

      [1]Volder J E.The CORDIC trigonometric computing technique[J].IRE Trans.on Electron Computing,1959(8):330-334.

      [2]Walther J S.A unified algorithm for elementary functions[J].Proc.AFIPS Conference,1971(38):389-385.

      [3]Hu X,Harber R G,Bass S C.Expanding the range of convergence of the CORDIC algorithm[J].IEEE Transactions on Computer s,1991,40(1):13-21.

      [4]Y.H.The quantization effects of the CO RDIC algorithm[J].IEEE Transaction on Signal Processing,1992,40(4) :57-63.[5]Andraka R.A survey of CORDIC algorithms for FPGA based computers[C]//Proc.of the 1998 ACM/SIGDA sixth international symposium on FPGA,1998.

      [6]Takagi N,Asada T,Yajima S.Redundant CORDIC methods with a constant scale factor for sine and cosine computation[J].IEEE Trans.Computers,1991(40):989-995.

      [7]Wang S,Piuri V,Swartzlande E E.Hybrid CORDIC algorithms[J].IEEE Trans.Computing,1997(46):1202-1207.

      [8]Dou Y,Vassiliadis S,Kuzmanov G K,et al.64-bit floatingpoint FPGA matrix multiplication[C]//Proceedings of the 2005ACM/SIGDA 13th international symposium on Fieldprogrammable gate arrays,2005:86-95.

      猜你喜歡
      隱層高斯半徑
      小高斯的大發(fā)現(xiàn)
      天才數(shù)學(xué)家——高斯
      連續(xù)展成磨削小半徑齒頂圓角的多刀逼近法
      基于RDPSO結(jié)構(gòu)優(yōu)化的三隱層BP神經(jīng)網(wǎng)絡(luò)水質(zhì)預(yù)測模型及應(yīng)用
      人民珠江(2019年4期)2019-04-20 02:32:00
      一些圖的無符號拉普拉斯譜半徑
      熱采水平井加熱半徑計(jì)算新模型
      有限域上高斯正規(guī)基的一個(gè)注記
      基于近似結(jié)構(gòu)風(fēng)險(xiǎn)的ELM隱層節(jié)點(diǎn)數(shù)優(yōu)化
      最優(yōu)隱層BP神經(jīng)網(wǎng)絡(luò)的滾動(dòng)軸承故障診斷
      BP神經(jīng)網(wǎng)絡(luò)隱層單元數(shù)確定方法
      遵义市| 紫云| 兰西县| 芦溪县| 容城县| 蕲春县| 伊通| 专栏| 阜宁县| 甘肃省| 任丘市| 沂水县| 宾阳县| 南溪县| 尼玛县| 岗巴县| 和平区| 昆山市| 子洲县| 玛沁县| 霸州市| 文水县| 根河市| 高邮市| 防城港市| 惠州市| 达孜县| 东丽区| 祁东县| 河北省| 陇南市| 比如县| 招远市| 承德县| 抚远县| 陆良县| 苏州市| 镇江市| 永城市| 乌什县| 黄冈市|