999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種自適應訓練的BP神經網絡FPGA設計

2016-04-12 00:00:00王蒙常勝王豪
現代電子技術 2016年15期

摘 要: 為解決軟件實現神經網絡存在并行度不高、速度慢的缺點以及傳統神經網絡硬件設計資源利用高、網絡訓練不可控的不足,提出了一種新的BP神經網絡FPGA設計方法。該方法通過基于對稱性的分段線性擬合和非線性擬合實現Sigmoid激勵函數和利用有限狀態機實現基于誤差的訓練次數自適應。應用Verilog HDL語言設計1?3?1三層BP神經網絡逼近[y=cosx]函數,網絡的資源占用為2 756 LEs,訓練次數為1 583次,網絡測試樣本的平均相對誤差為0.6%,最高時鐘頻率為82.3 MHz。驗證結果表明該方法設計的神經網絡資源占用少,網絡訓練可自動控制,同時還具有精度高,運行速度快的優點。

關鍵詞: FPGA; BP神經網絡; 線性擬合; 非線性擬合; 自適應訓練

中圖分類號: TN702.2?34; TP183 文獻標識碼: A 文章編號: 1004?373X(2016)15?0115?04

Abstract: Using software for neural network has the disadvantages of low parallelism and slow speed, the hardware design resource utilization of the traditional neural network is high, and the network training is uncontrollable. To solve these problems, a new FPGA?based design method of back propagation (BP) neural network is proposed. The method can realize the Sigmoid excitation function through piecewise linear fitting and nonlinear fitting based on symmetry, and uses the finite state machine (FSM) to accomplish the training times adaption based on error. The Verilog HDL language is used to design the 1?3?1 BP neural network to approximate the function [y=cosx.] The resource occupancy of the network is 2 756 LEs, the training times are 1 583, the average relative error of the network test sample is 0.6%, and the maximum clock frequency is 82.3 MHz. The verification results show that the neural network designed with the method has the advantages of less resource occupancy, high accuracy and fast running speed, and can control the network training automatically.

Keywords: FPGA; BP neural network; linear fitting; nonlinear fitting; adaptive training

0 引 言

人工神經網絡(ANNs)[1]通常都是采用基于軟件的方法實現。但作為一個并行計算系統,軟件實現的方法存在速度慢的缺點,而硬件方式具有高并行性的特點,適合于人工神經網絡。FPGA作為一種通用的硬件設計平臺,其內部分布式的資源與神經網絡的結構非常契合,是一個實現神經網絡硬件化設計的良好選擇。

資源占用是FPGA設計的一個重要考量因素,而網絡訓練是神經網絡功能實現的基礎。已有的神經網絡硬件設計工作在這兩方面還存在巨大的空間。例如,薛維琴等利用FPGA實現了BP神經網絡[2],該網絡經過訓練能夠描述非線性函數,但沒有提出BP神經網絡的激勵函數和訓練控制模塊的具體硬件實現方法。李利歌等提出了直接利用查找表實現神經網絡激勵函數的方法[3],但是查找表存在占用資源大,運行速度慢的缺點。張海燕等采用基于查找表的STAM算法實現神經網絡激勵函數[4],且文中也沒有提到訓練控制模塊。Javier Valls等提出利用CORDIC算法實現神經網絡的激勵函數[5],資源利用率低,但是存在精度不足的問題。劉培龍利用分段擬合實現激勵函數[6],但是激勵函數資源占用較多。

基于這一現狀,本文通過對Sigmoid函數基于對稱性分段擬合以及基于誤差的訓練自適應技術,提出了一種新的神經網絡FPGA設計方法。該方法設計的神經網絡資源占用少,網絡訓練自適應,同時還具有精度高,運行速度快的優點。

1 BP神經網絡的FPGA設計

根據BP神經網絡的結構,本文將網絡劃分為神經元模塊、激勵函數模塊、誤差計算模塊,權值更新模塊、權值存儲模塊以及自適應網絡訓練模塊。圖1給出了不同功能模塊之間的連接和訓練過程。其中,權值存儲模塊和輸入神經元將輸入層的權值以及訓練的樣本輸入到隱含層神經元進行乘累加運算,其結果輸入到激勵函數模塊得到激勵函數輸出,該輸出和隱含層的權值作為輸出層神經元的輸入得到本次訓練結果。該結果再經過誤差計算模塊計算誤差值和權值改變量。權值改變量在權值更新模塊中得到新權值存入到權值存儲模塊。誤差值輸入到自適應網絡訓練模塊判斷網絡訓練是否達到最優。網絡訓練達到最優前,該過程循環,當網絡訓練達到最優,自適應訓練模塊控制網絡停止訓練。

系統中神經元模塊、誤差計算模塊、權值更新模塊按照BP網絡算法規則可調用加、乘、乘累加等功能模塊,權值存儲模塊可調用RAM模塊。激勵函數模塊和自適應訓練模塊關乎系統資源占用及訓練過程的實現,是本文BP神經網絡FPGA設計的重點。

1.1 激勵函數模塊設計

激勵函數模塊是影響整個神經網絡資源利用的主要因素之一,在保證誤差足夠小的前提下,激勵函數模塊資源占用越小越好。

式中含有指數運算,較難在FPGA 中直接實現。利用Sigmoid函數具有對稱性以及較好的線性區域和非線性區域分界的特點,本文提出一種資源占用小、精度高的基于對稱性分段擬合的激勵函數硬件實現的方法。

考慮到Sigmoid函數的對稱性,只需完成[x>0]的區域硬件實現,根據對稱性即可求出[x<0]區域的輸出,節省了一半的資源。在[x>0]區域,根據Sigmoid函數線性區域和非線性區域分界良好的特點,分別采用線性擬合和非線性擬合的方法分段逼近。具體而言,如圖2所示,將整個激勵函數模塊分為預處理模塊、函數逼近模塊以及最終輸出模塊三個子模塊。

1.1.1 預處理模塊

激勵函數的輸入[x]為16位定點數,最高位為符號位,中間五位為整數部分,后十位為小數部分。當[x]輸入到激勵函數模塊時,首先進行預處理。截取二進制輸入[x]的最高位判斷[x>0]或者[x<0。]最高位為1,表示[x<0,]最高位為0,則表示[x>0。]當判斷出[x>0]時,[x=x,]將[x]輸入到后續處理模塊,若判斷出[x<0,]則需先將[x]變為[x,]同時產生一個輸出控制信號,將[x]輸入到后續處理模塊。

1.1.2 函數逼近模塊

基于對輸入[x]的預處理,此子模塊只需要對[x>0]的情況做線性擬合和非線性擬合。分段逼近函數如表1所示。

1.1.3 最終輸出模塊

最終輸出模塊由預處理模塊輸出的控制信號控制。若[x>0,]則控制信號控制最終輸出模塊直接輸出函數逼近模塊中[x]對應的輸出[fx;]若[x<0,]則控制信號控制最終輸出模塊將函數逼近模塊中[x]對應的輸出[fx]先做取反處理,然后與1相加得到的結果作為最終輸出,即輸出值為[1-fx]。

1.1.4 激勵函數模塊分析

按照上述設計方法完成激勵函數模塊的設計后,對激勵函數模塊進行功能仿真和誤差分析。從-8~8以0.001為間隔生成測試數據輸入到激勵函數模塊,得到的ModelSim仿真結果如圖3所示,其各區間絕對誤差如表2所示。從中可以看出,各區間的誤差值均很小且誤差分布較為平均,體現出良好的逼近效果。

1.2 自適應訓練模塊設計

網絡訓練是神經網絡功能實現的基礎。神經網絡隨著訓練的進行,權值逐漸改變,誤差逐漸減小,但如果網絡訓練不能適時結束,造成過度訓練,則網絡性能會變差。然而對網絡訓練的控制在硬件上并不易設計,故很多工作未討論這一點或簡單的以固定周期來完成訓練。本文提出了一種基于可容忍誤差值的自適應網絡訓練硬件設計方法,可有效的自動控制神經網絡訓練過程。

分析神經網絡的訓練過程,每一次輸入樣本值都會在本次訓練完成時得到一個誤差值,當誤差在可以容忍的范圍內可以認為網絡已經訓練完成。認為在給定的可容忍誤差值的情況下,如果連續兩次整個樣本集輸入得到的誤差絕對值都要比給定的可容忍誤差值要小,則該神經網絡訓練已經達到最優。根據這個思想,提出利用有限狀態機實現自適應網絡訓練。

如圖4所示,有限狀態機的狀態數是樣本集中樣本數的兩倍,狀態機初始為零狀態。當某一次訓練得到的誤差絕對值小于可容忍誤差值時,狀態機進入第一個狀態。若緊鄰的下一次訓練得到的誤差絕對值也小于可容忍誤差值,狀態機進入下一個狀態,否則狀態機狀態回到第0個狀態。當狀態機跳轉到最后一個狀態時,網絡訓練完成,此時輸出控制信號控制權值存儲模塊停止權值更新,提示信號提示訓練完成。該模塊的分析需要結合網絡中的其他模塊,故測試結果在下一節中給出。

2 驗證和分析

2.1 驗證平臺

根據上述方法,設計了一個1?3?1三層BP神經網絡驗證其性能。驗證平臺為Altera公司的EP2C70F896C6。

以[y=cosx]函數為學習對象,從[0~2π]之間以[0.062 5π]為間隔選取33個樣本組成樣本集,隨機選取其中25個作為訓練樣本,剩下8個作為測試樣本。神經網絡的初始權值和閾值的選取具有一定的隨機性,根據網絡需要逼近的函數數值大小,輸入層到隱含層的初始權值矩陣[W1=[2.5,0.5,-0.3],]隱含層到輸出層的初始權值矩陣[W2=[0.35,0.4,0.3],]隱含層閾值選為[0.2,0.3,0.4],輸出層閾值選為[0.3]。隱含層的學習率設為0.4,輸出層的學習率設為0.3,容忍誤差設為0.01。

2.2 結果分析

ModelSim仿真得到的結果如圖5所示,從圖5中可以看出該BP神經網絡的訓練是自適應的。當網絡訓練到最優時,產生一個控制信號和一個提示信號以及網絡訓練的次數,此時權值存儲器的值不再變化,訓練完成。

25個訓練樣本集訓練的平均誤差為0.003,分析8個測試樣本集的誤差,如表3所示。從表3中可以看出,其誤差與訓練數據的誤差大體相當且均很小。計算測試樣本的平均相對誤差為0.6%,小于1%,說明該方法實現的基于FPGA的BP神經網絡精度較高。

將該網絡下載至Altera公司EP2C70F896C6的FPGA中,其最高時鐘頻率為82.3 MHz,可見該方法具有運行速度快的優點。將該神經網絡資源占用情況與已有相關工作的資源占用情況作對比,如表4所示。雖然其中各設計的規模和平臺有所差異(如1 Slice≈4 LEs),但仍可估算出即便添加了自適應訓練模塊,本設計對資源的占用依然較低。

從表5中可以看到,當學習對象不同時,網絡訓練的次數也不同,實現了訓練過程的自適應。由此亦可推至,若采用傳統的預設固定次數的方式完成訓練,則對于不同學習對象難免會造成訓練不充分或過度訓練的情況,從而影響網絡的性能。因此,該表也進一步證明了該設計自適應訓練的優越性。

3 結 論

本文以典型的BP神經網絡為例,提出了一種自適應訓練的神經網絡FPGA設計方法。通過對Sigmoid激勵函數基于對稱性做分段擬合減少了資源占用,使用基于可容忍誤差完成了網絡訓練自適應。該方法設計的神經網絡具備訓練可控、資源占用低、精度高的優點。此方法不僅適合于 BP網絡,也可推廣至采用Sigmoid函數及需要訓練控制的其他類型的神經網絡。

注:本文通訊作者為常勝。

參考文獻

[1] 蔣宗禮.人工神經網絡導論[M].北京:高等教育出版社,2001:15?16.

[2] 薛維琴,李莉華,戴明.基于FPGA的人工神經網絡系統的實現方法[J].電子設計工程,2010,18(9):151?154.

[3] 李利歌,閻保定,侯忠.基于FPGA的神經網絡硬件可重構實現[J].河南科技大學學報(自然科學版),2009,30(1):37?40.

[4] 張海燕,李欣,田書峰.基于BP神經網絡的仿真線設計及其FPGA實現[J].電子與信息學報,2007,29(5):1267?1270.

[5] VALLS J, KUHLMANN M, PARHI K K. Evaluation of CORDIC algorithms for FPGA design [J]. Journal of VLSI signal processing, 2002, 32(3): 207?222.

[6] 劉培龍.基于FPGA的神經網絡硬件實現的研究與設計[D].成都:電子科技大學,2012.

[7] 張智明,張仁杰.神經網絡激活函數及其導數的FPGA實現[J].現代電子技術,2008,31(18):139?142.

主站蜘蛛池模板: 五月天综合网亚洲综合天堂网| 国产精品视频a| 中国毛片网| 久久久国产精品无码专区| 亚洲欧洲综合| 老司机精品一区在线视频| 久久综合丝袜日本网| 国产97色在线| 中文成人在线| 国产亚洲欧美在线人成aaaa| 日本国产精品一区久久久| 亚洲第一在线播放| 日韩大片免费观看视频播放| 亚洲av日韩综合一区尤物| 午夜精品一区二区蜜桃| 伊人成人在线视频| 亚洲男人天堂2020| 国产无码制服丝袜| 国产精品一区二区在线播放| 免费jjzz在在线播放国产| 国产午夜一级毛片| 超级碰免费视频91| 免费不卡在线观看av| 国产精品成人免费视频99| 国产好痛疼轻点好爽的视频| 亚洲天堂视频网站| 欧美成人精品在线| 性欧美在线| 91九色最新地址| 伊人久久久久久久| 一级毛片在线播放免费| 日本久久网站| 真人高潮娇喘嗯啊在线观看| 3D动漫精品啪啪一区二区下载| 又污又黄又无遮挡网站| a毛片免费在线观看| 大陆精大陆国产国语精品1024| 91娇喘视频| 亚洲区一区| 欧美第九页| 在线国产毛片| 午夜丁香婷婷| 国产免费精彩视频| 国产丝袜丝视频在线观看| 精品三级网站| 久久青草免费91线频观看不卡| 青草视频久久| 亚洲欧美另类中文字幕| 国产精品欧美激情| 四虎永久在线精品影院| 免费a级毛片视频| 精品久久国产综合精麻豆| 婷婷丁香在线观看| 亚洲av无码片一区二区三区| 亚洲精品久综合蜜| 欧洲精品视频在线观看| 精品国产99久久| 久久中文字幕av不卡一区二区| 极品尤物av美乳在线观看| 亚洲成人手机在线| 在线观看91精品国产剧情免费| 精品无码一区二区在线观看| 在线欧美日韩| 国产情精品嫩草影院88av| 67194在线午夜亚洲| 亚洲精品天堂自在久久77| 91无码视频在线观看| 欧美福利在线观看| 国产精品国产主播在线观看| 亚洲男人在线| 国产福利在线免费观看| 国产真实二区一区在线亚洲| 精品1区2区3区| 美女高潮全身流白浆福利区| 国产欧美日韩专区发布| 啪啪国产视频| 国产中文一区二区苍井空| 毛片久久久| 国产不卡在线看| 国产日韩丝袜一二三区| 午夜不卡福利| 国产女人在线|