<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于FPGA的人工神經(jīng)網(wǎng)絡(luò )實(shí)現方法的研究

基于FPGA的人工神經(jīng)網(wǎng)絡(luò )實(shí)現方法的研究

作者: 時(shí)間:2009-11-17 來(lái)源:網(wǎng)絡(luò ) 收藏

(4)面積節省及相關(guān)問(wèn)題
為了最小化神經(jīng)元實(shí)現的面積,組成每個(gè)神經(jīng)元的各個(gè)HDL算法模塊的面積也應該最小。乘法器以及基本的傳遞函數(例如,sigmoid激活函數tanh)是最占用面積的,這類(lèi)問(wèn)題非常依賴(lài)于所要求的精度,盡管神經(jīng)網(wǎng)絡(luò )常并不要求很精確的計算,但是不同的應用所要求的精度不同。一般來(lái)講,浮點(diǎn)運算要比定點(diǎn)運算需要更大的面積,比如浮點(diǎn)運算中的并行加法器本質(zhì)上是定點(diǎn)運算超前加法器加上必要的邏輯塊,減法器、乘法器也類(lèi)似如此,這在激活函數實(shí)現方面更加突出,文獻[1]中面積優(yōu)化對比顯示,32位浮點(diǎn)運算要比16位定點(diǎn)運算大250倍。另外,對于小型網(wǎng)絡(luò ),分布式存儲器很適合權值存放,但是對于大型網(wǎng)絡(luò ),權值存儲器不應該被放置在中,因此當ANN得到有效實(shí)現的時(shí)候,就要認真考慮存儲器的存取問(wèn)題。其次,神經(jīng)網(wǎng)絡(luò )應用有一個(gè)顯著(zhù)的缺陷:在神經(jīng)計算方面,不同運算的計算時(shí)間和實(shí)現面積并不平衡。在許多標準神經(jīng)模式中,計算時(shí)間的大部分用在需要乘法器和加法器的矩陣向量運算中,而很多耗費面積的運算如激活函數,又必須被實(shí)現(它們占用很少的運算時(shí)間),而的面積是嚴格一定的,因此可將面積的相當一部分用來(lái)實(shí)現這些運算,以至于僅剩的一小部分卻實(shí)現幾乎所有的運算時(shí)間。
(5)資源和計算速度的平衡(Trade-off)
對于FPGA,科學(xué)的設計目標應該是在滿(mǎn)足設計時(shí)序要求(包括對設計最高頻率的要求)的前提下,占用最少的芯片資源,或者在所規定的占用資源下,使設計的時(shí)序余量更大,頻率更高。這兩種目標充分體現了資源和速度的平衡思想。作為矛盾的兩個(gè)組成部分,資源和速度的地位是不一樣的。相比之下,滿(mǎn)足時(shí)序、工作頻率的要求更重要一些,當兩者沖突時(shí),采用速度優(yōu)先的準則。
例如,ANN的FPGA實(shí)現需要各種字長(cháng)的乘法器,如果可以提出一種新的運算法則,從而用FPGA實(shí)現變字長(cháng)的乘法器,則可以根據需要調整字長(cháng),從而提高運算速度的可能性,其中,基于Booth Encoded opti-mized wallence tree架構(見(jiàn)圖2)就可以得到快速高效的乘法器,這種方式實(shí)現的乘法器比現在所用的基于FPGA的乘法器的處理速度快20%)。

(6)亟待解決的問(wèn)題
FPGA憑借其如同軟件實(shí)現一樣的靈活性,集合了硬件實(shí)現高效和并行性的優(yōu)點(diǎn),好像非常適合神經(jīng)實(shí)現的正常需要,但是,FPGA的二維拓撲結構不能處理標準神經(jīng)網(wǎng)絡(luò )規則但復雜的連線(xiàn)問(wèn)題,而且FPGA仍然實(shí)現很有限的邏輯門(mén)數目,相反,神經(jīng)計算則需要相當耗費資源的模塊(激活函數,乘法器)。這樣對于FP-GA,可用的CLBs中部分將被用來(lái)增加路徑容量(連線(xiàn)),導致計算資源的丟失。一般的方法只能實(shí)現很小的低精度神經(jīng)網(wǎng)絡(luò ),連線(xiàn)問(wèn)題不能依靠幾個(gè)具有比特序列算法的可重構FPGA以及小面積模塊(隨機比特流或者頻率)解決。

2 基于FPGA的ANN
經(jīng)典有:
(1)可重構的RNN結構(Reconfigurable NeuraINetwork)
可重構計算是一種增加處理密度(每單元硅片面積的性能)的有效方法,且處理密度遠大于用于通用計算方法,FPGA作為可重構計算的平臺,可以提供如同軟件一樣的設計靈活性。該方法基于可擴展的脈動(dòng)陣列結構、可重用的IP(Intellectual Properties)核及FPGA器件,即將要實(shí)現的神經(jīng)網(wǎng)絡(luò )算法分為幾種基本運算,這些基本運算由可重構單元(Reconfigurable Cell,RC)完成,RC間以規則的方式相互連接,當神經(jīng)網(wǎng)絡(luò )變化時(shí),只要增減Rc的數量或替換不同功能的RC就可重構成新的神經(jīng)網(wǎng)絡(luò )硬件;文獻[8]中同時(shí)指出,考慮到硬件實(shí)現要以最少的硬件資源滿(mǎn)足特定應用的性能需求,一般用神經(jīng)元并行作為可重構部件的基本模式,即神經(jīng)網(wǎng)絡(luò )的各層計算可復用相同的陣列結構。
(2)RENCO結構
可重構網(wǎng)絡(luò )計算機(Reconfigurable Network Computer,RENCO)是一種用于邏輯設計原型或可重構系統的平臺,所設計的可重構系統對于工作在比特級的算法實(shí)現特別有效,比如模式匹配。RENCO的基本架構包括處理器、可重構部分(多為FPGA)以及存儲器和總線(xiàn)部分,Altera公司提供的最新的RENCO在可重構部分包括近100萬(wàn)邏輯門(mén),足夠實(shí)現高復雜度的處理器。具體參見(jiàn)文獻[9]。盡管如此,得到的可重構系統并非對所有的硬件實(shí)現都是優(yōu)化的方法,比如不適合于浮點(diǎn)運算。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>