亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        BP神經(jīng)網(wǎng)絡(luò)FPGA實(shí)現(xiàn)結(jié)構(gòu)的優(yōu)化設(shè)計(jì)

        2022-11-16 02:24:18譚會(huì)生徐界銘張駕祥
        關(guān)鍵詞:設(shè)計(jì)

        譚會(huì)生,徐界銘,張駕祥

        1.湖南工業(yè)大學(xué) 軌道交通學(xué)院,湖南 株洲 412000

        2.長沙理工大學(xué) 近地空間電磁環(huán)境監(jiān)測與建模湖南省普通高校重點(diǎn)實(shí)驗(yàn)室,長沙 410000

        隨著計(jì)算機(jī)硬件的發(fā)展,人工神經(jīng)網(wǎng)絡(luò)在圖像處理[1-2]、語音識(shí)別[3-4]、語義分析[5]等領(lǐng)域有了更廣泛的應(yīng)用。BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)簡單、泛化能力強(qiáng)等特征,使得其在分類和識(shí)別等任務(wù)中得到廣泛應(yīng)用,因此對(duì)BP 神經(jīng)網(wǎng)絡(luò)的硬件部署優(yōu)化具有重要意義。目前主要采用軟件方式實(shí)現(xiàn)對(duì)BP 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和推理,但其存在訓(xùn)練速度慢、不能滿足實(shí)時(shí)性等問題,由此可以采用FPGA 處理BP 神經(jīng)網(wǎng)絡(luò)中存在的大量并行結(jié)構(gòu)來達(dá)到減少計(jì)算時(shí)間的目的。利用FPGA的并行計(jì)算、流水線技術(shù)[6-7]等設(shè)計(jì)優(yōu)化方式可以大大縮短神經(jīng)網(wǎng)絡(luò)前向傳播與反向傳播所用時(shí)間。許多課題在此方面展開了一些的研究,文獻(xiàn)[8]提出一種適用于BP神經(jīng)網(wǎng)絡(luò)的串入串出的脈動(dòng)陣列結(jié)構(gòu),采用并行化處理方式極大地提高了識(shí)別和訓(xùn)練速度;文獻(xiàn)[9]通過采用平滑插值法對(duì)Sigmoid 激活函數(shù)的硬件實(shí)現(xiàn)進(jìn)行改進(jìn),但是在數(shù)據(jù)存儲(chǔ)中采用寄存器存儲(chǔ)方式不利于大型網(wǎng)絡(luò)的部署;文獻(xiàn)[10-11]采用線性分段擬合實(shí)現(xiàn)Sigmoid 函數(shù),降低了設(shè)計(jì)復(fù)雜度;文獻(xiàn)[12-14]采用定點(diǎn)量化方法,將浮點(diǎn)數(shù)轉(zhuǎn)換為定點(diǎn)數(shù)進(jìn)行計(jì)算,以加快運(yùn)算速度、降低資源消耗。

        本文提出一種總體設(shè)計(jì)和關(guān)鍵模塊融合優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)FPGA實(shí)現(xiàn)結(jié)構(gòu)優(yōu)化方法,采用流水線結(jié)構(gòu)和定點(diǎn)數(shù)據(jù)量化方式提高BP 神經(jīng)網(wǎng)絡(luò)處理速度;采用二次方程多段擬合Sigmoid 激活函數(shù)方法,降低計(jì)算復(fù)雜度;采用一種權(quán)值讀取與更新交替流水進(jìn)行的雙端口RAM 存取方法在不擴(kuò)展存儲(chǔ)空間的同時(shí)降低時(shí)間損耗,采用Fashion-MNIST 和MNIST 對(duì)BP 神經(jīng)網(wǎng)絡(luò)的FPGA優(yōu)化結(jié)構(gòu)進(jìn)行驗(yàn)證。

        1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)與原理

        1.1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)

        如圖1 所示,BP 神經(jīng)網(wǎng)絡(luò)按層次可分為輸入層、隱藏層和輸出層,其中隱藏層和輸出層含有權(quán)值和偏置參數(shù)。隱藏層是一種多層次結(jié)構(gòu),每層的神經(jīng)元數(shù)量相同,層間輸出采用Sigmoid等非線性激活函數(shù)進(jìn)行處理,采用全連接的方式連接至下一層。BP神經(jīng)網(wǎng)絡(luò)包含前向傳播和反向傳播兩個(gè)過程。前向傳播時(shí),用戶數(shù)據(jù)由輸入層輸入,通過隱藏層和輸出層的推理,得到最終輸出結(jié)果。反向傳播包括計(jì)算輸出誤差、計(jì)算修正量、更新輸出層和隱藏層權(quán)重及偏置參數(shù)。

        本文在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)上,選用784-30-10 的單隱藏層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)[10],其中包括784個(gè)輸入層神經(jīng)元,30個(gè)隱藏層神經(jīng)元,10個(gè)輸出層神經(jīng)元。

        1.2 BP神經(jīng)網(wǎng)絡(luò)前向傳播原理

        將28×28 的圖像數(shù)據(jù)展開成一個(gè)784×1 的向量X并通過輸入層傳輸至隱藏層。

        不同鈣硫比燃燒后的灰熔點(diǎn)參數(shù)見表4。由表4可知,灰熔點(diǎn)先降低后升高,在鈣硫比為1.0時(shí),灰熔點(diǎn)最低,鈣硫比增至1.5之后,灰熔點(diǎn)逐漸上升。分析原因認(rèn)為,外加脫硫劑與煤中礦物質(zhì)反應(yīng)生成的高鈣化合物之間形成了低溫共熔物,引起灰熔點(diǎn)降低,但當(dāng)外加鈣量過大時(shí),其即破壞了硅聚合物,又形成了高熔點(diǎn)的正硅酸鈣(CaSiO3,純物質(zhì)熔點(diǎn)為2 130 ℃),導(dǎo)致灰熔點(diǎn)上升[16-17],爐內(nèi)不易結(jié)渣。

        其中,W(1)是隱藏層權(quán)重矩陣,B(1)是隱藏層的偏置參數(shù)矩陣,A(1)由隱藏層計(jì)算結(jié)果Z(1)經(jīng)過激活函數(shù)f(·)得到。輸出層以A(1)作為輸入,計(jì)算過程與隱藏層相似,最終得到A(2)向量作為輸出。

        1.3 BP神經(jīng)網(wǎng)絡(luò)反向傳播原理

        反向傳播根據(jù)神經(jīng)網(wǎng)絡(luò)最終輸出更新網(wǎng)絡(luò)參數(shù)。本文采用均方誤差損失函數(shù)反映網(wǎng)絡(luò)輸出與期望值間的差異,如公式(3)所示。梯度下降方式采用隨機(jī)梯度下降法。通過多次迭代不斷優(yōu)化更新網(wǎng)絡(luò)權(quán)值和偏置,使損失函數(shù)趨近于0,以此得到最為合適的網(wǎng)絡(luò)參數(shù)。

        本文使用Quartus Prime 16.0軟件作為設(shè)計(jì)開發(fā)平臺(tái),以VHDL作為主要設(shè)計(jì)語言。

        英國當(dāng)?shù)貢r(shí)間9月16日,以“融合創(chuàng)新、共享發(fā)展”為主題的“2018Shenzhen Products Show”在英國倫敦柏寧希爾頓酒店盛大召開。包括寶時(shí)捷在內(nèi)的深圳七大產(chǎn)業(yè)約50家品牌攜1000余件產(chǎn)品集中亮相。

        2 BP神經(jīng)網(wǎng)絡(luò)的FPGA設(shè)計(jì)

        采用學(xué)習(xí)率η=0.062 5 更新網(wǎng)絡(luò)權(quán)值與偏置,權(quán)值及偏置參數(shù)更新如公式(8)~(11)所示:

        要想從根本上提高民辦高校實(shí)驗(yàn)建設(shè)和教學(xué)管理水平,既滿足教學(xué)需求,又能做到為學(xué)生負(fù)責(zé),為國家提供自主創(chuàng)新的人才。需要民辦高校不斷深化教育教學(xué)改革,對(duì)實(shí)驗(yàn)教學(xué)管理提出更高的要求,并在此基礎(chǔ)上不斷培養(yǎng)高素質(zhì)、高水平的技術(shù)應(yīng)用型人才。但是,現(xiàn)在的民辦高校還不能更好的適應(yīng)社會(huì)的發(fā)展,實(shí)驗(yàn)室的管理水平還不夠科學(xué)規(guī)范,實(shí)驗(yàn)室的利用率沒有充分挖掘,不能更好的服務(wù)于學(xué)生。要提高教學(xué)質(zhì)量,需要進(jìn)一步解決實(shí)驗(yàn)教學(xué)中存在的不足。

        圖像輸入數(shù)據(jù)經(jīng)歸一化后和網(wǎng)絡(luò)權(quán)重及偏置參數(shù)采用18 位有符號(hào)定點(diǎn)數(shù)表示,其中低13 位為小數(shù)位,最高位為符號(hào)位,一方面充分利用DSP 乘法器,另一方面保證足夠的數(shù)據(jù)精度。初始化權(quán)值與偏置利用MATLAB產(chǎn)生正態(tài)分布的隨機(jī)數(shù)預(yù)先存儲(chǔ)于分布式雙端口RAM中。

        隱藏層輸出A(1)計(jì)算如公式(1)、(2)所示:

        圖1顯示了像素與黑色核(USAN)亮度相似的像素,不同亮度的像素著色為白色。當(dāng)黑色核面積不到遮擋總面積的一半時(shí),將該點(diǎn)視為角點(diǎn),角點(diǎn)的位置由黑色核區(qū)域的最小值表征。

        2.1 神經(jīng)元模塊設(shè)計(jì)

        每個(gè)神經(jīng)元擁有獨(dú)立的權(quán)值存儲(chǔ)空間,由專用DSP乘法器、加法器和限幅器組成。

        神經(jīng)元設(shè)計(jì)采用時(shí)序邏輯電路,當(dāng)產(chǎn)生輸入使能en和輸入數(shù)據(jù)x_in 時(shí),計(jì)數(shù)器進(jìn)行計(jì)數(shù)得到分布式權(quán)值RAM的地址信號(hào)ad并輸出讀使能信號(hào)rd,權(quán)值RAM據(jù)此輸出相應(yīng)權(quán)值w至神經(jīng)元中。輸入數(shù)據(jù)x_in經(jīng)寄存器調(diào)整時(shí)序后與權(quán)值w同時(shí)輸入乘法器中進(jìn)行計(jì)算。累加器與乘法器直接相連,當(dāng)輸入完成時(shí)即可完成所有乘累加運(yùn)算,同時(shí)加上偏置參數(shù)b。輸出z時(shí),需要對(duì)其進(jìn)行溢出判斷,當(dāng)z產(chǎn)生溢出時(shí)對(duì)其進(jìn)行限幅,避免數(shù)據(jù)溢出錯(cuò)誤。模塊設(shè)計(jì)如圖2所示。

        2.2 Sigmoid函數(shù)及其導(dǎo)數(shù)模塊設(shè)計(jì)

        BP 神經(jīng)網(wǎng)絡(luò)的FPGA 實(shí)現(xiàn)結(jié)構(gòu)設(shè)計(jì)如圖9 所示。在前向傳播中,圖像數(shù)據(jù)X依次輸入隱藏層,并將其存儲(chǔ)至緩存RAM 中,隱藏層完成運(yùn)算后數(shù)據(jù)經(jīng)由并行轉(zhuǎn)串行模塊輸出至Sigmoid 函數(shù)運(yùn)算模塊進(jìn)行激活得到A(1),同時(shí)將A(1)輸入至輸出層并存儲(chǔ)至隱藏層輸出RAM 中,輸出層完成運(yùn)算后數(shù)據(jù)經(jīng)由并行轉(zhuǎn)串行模塊輸出至Sigmoid 函數(shù)模塊進(jìn)行激活得到A(2),利用A(2)得到置信度最大值的地址標(biāo)簽,通過顯示模塊對(duì)結(jié)果進(jìn)行顯示輸出,前向傳播完成。本文在前向傳播的設(shè)計(jì)中,使用共享神經(jīng)元讀權(quán)值RAM信號(hào)、調(diào)換并行轉(zhuǎn)串行模塊與激活函數(shù)模塊處理順序等方法降低了硬件資源的消耗。

        由公式(12)可知,該曲線關(guān)于點(diǎn)(0,0.5)中心對(duì)稱,因此在實(shí)現(xiàn)z正半軸函數(shù)后僅需計(jì)算1-f(|z|)即可表達(dá)z負(fù)半軸部分,如公式(13)所示。該方法可在相同的計(jì)算量下減少硬件資源開銷。

        1.2 方法 2015年選取栽植15株樹,3株1個(gè)小區(qū),5次重復(fù),萌芽前(山東煙臺(tái)地區(qū)4月中旬),將發(fā)枝素與水按1∶1的比例混勻,用毛刷涂抹幼樹主干,涂抹范圍為幼樹頂部剪口向下10 cm處至離地面60 cm區(qū)域,第2年對(duì)幼樹上部新生主干用同樣的方法涂抹。2016年萌芽前,對(duì)主干上抽生分枝涂抹促花劑,方法是將促花劑與水按照1∶1的比例混勻,用毛刷涂抹分枝。對(duì)照不作任何處理。

        Sigmoid函數(shù)硬件設(shè)計(jì)采用二次函數(shù)分段擬合的方式實(shí)現(xiàn)。圖3為分段函數(shù)在區(qū)間[0,1)、[1,2)、[2,4)、[4,6)、[6,8)、[8,+∞)上對(duì)Sigmoid函數(shù)進(jìn)行擬合的曲線。

        擬合函數(shù)如表1 所示,可以看出,采用二次函數(shù)分段擬合的方式擬合Sigmoid 函數(shù)的絕對(duì)誤差不超過0.001,較線性分段擬合的方式擁有更高的精度。

        隱藏層權(quán)值更新計(jì)算的設(shè)計(jì)與輸出層權(quán)值更新計(jì)算的設(shè)計(jì)采用相似結(jié)構(gòu)完成。

        表1 分段二次函數(shù)及誤差Table 1 Piecewise quadratic function and error

        Sigmoid 函數(shù)導(dǎo)數(shù)的表達(dá)式如公式(14)所示,通過因式分解,Sigmoid 函數(shù)的導(dǎo)數(shù)可以表述為f′(z)=f(z)(1-f(z))。因此僅需使用1 次減法和1 次乘法即可得到Sigmoid 函數(shù)的一階導(dǎo)數(shù)的FPGA 實(shí)現(xiàn),相較于線性擬合方法,使用該方法可以在不增加設(shè)計(jì)量的同時(shí)獲得較高精確度。

        2.3 參數(shù)更新計(jì)算模塊設(shè)計(jì)

        2.3.2 輸出層權(quán)值更新計(jì)算的設(shè)計(jì)

        由公式(5)dB(2)=(A(2)-Y)⊙A(2)′,dB(2)由網(wǎng)絡(luò)輸出誤差(A(2)-Y)與A(2)′ 構(gòu)成,其中A(2)′ 可表示為A(2)⊙(I-A(2)),I是元素全為1 的向量,輸出層偏置更新計(jì)算的設(shè)計(jì)如圖5所示。輸入A(2)同時(shí)輸入期望值Y,利用流水線結(jié)構(gòu)在3個(gè)周期后即可依次得到dB(2),通過向右移位的方式得到ηdB(2),將其輸出至串轉(zhuǎn)并模塊后對(duì)輸出層各神經(jīng)元偏置進(jìn)行更新。

        面對(duì)市場的激烈競爭,酒店需要對(duì)各種營業(yè)進(jìn)行預(yù)測分析,對(duì)酒店經(jīng)營狀況進(jìn)行全面分析,而酒店管理信息系統(tǒng)既能及時(shí)提供歷史資料和當(dāng)前數(shù)據(jù),又可以提供同期對(duì)比分析及其他分析的模式,使管理人員很方便地完成復(fù)雜的分析工作。信息化技術(shù)在酒店管理中的應(yīng)用無疑是對(duì)酒店未來的發(fā)展有益處的,在管理的效率、成果上都有傳統(tǒng)管理方式比不上的點(diǎn),因此,酒店信息化管理大勢所趨。

        2.3.1 輸出層偏置更新計(jì)算的設(shè)計(jì)

        公式(4)可改寫為dW(2)=dB(2)·A(1)T,其是一個(gè)維度為10×1的向量與一個(gè)維度為1×30的向量相乘。從數(shù)據(jù)更新角度分析,dB(2)中一個(gè)元素與向量A(1)T相乘得到的一行數(shù)據(jù)為dW(2)的一行元素,為一個(gè)神經(jīng)元的分布式權(quán)值RAM更新所需的數(shù)據(jù)。輸出層權(quán)值更新計(jì)算的設(shè)計(jì)如圖6所示。

        廣州地鐵導(dǎo)向系統(tǒng)是由圖形、文字、特定顏色及幾何形狀組成的標(biāo)識(shí)牌體,可以有效提高城市綜合交通系統(tǒng)的運(yùn)營效率與地鐵運(yùn)營系統(tǒng)的現(xiàn)代化管理水平,既體現(xiàn)地鐵以人為本的設(shè)計(jì)理念,方便廣大市民出行,同時(shí)又提高緊急狀態(tài)下地鐵車站的快速疏散能力。

        2.3.3 隱藏層偏置更新計(jì)算的設(shè)計(jì)

        由公式(7),dB(1)的計(jì)算首先需要得到W(2)T·dB(2),再得到W(2)T·dB(2)⊙A(1)′ 。隱藏層偏置更新計(jì)算的設(shè)計(jì)如圖7 所示,當(dāng)向量dB(2)中所有元素加載完成時(shí),同時(shí)讀取輸出層分布式權(quán)值RAM 中權(quán)值數(shù)據(jù),通過乘累加的方式依次輸出向量W(2)T·dB(2)中的元素,同時(shí)讀取隱藏層輸出RAM中的數(shù)據(jù),通過并行乘加計(jì)算得到W(2)T·dB(2)⊙A(1)′ ,以此得到向量dB(1),再以移位的方式乘學(xué)習(xí)率,最后通過串轉(zhuǎn)并模塊后對(duì)隱藏層偏置進(jìn)行更新。

        表1 中二次函數(shù)可寫為f(z)=Aiz2+Biz+Ci,對(duì)f(z)=Aiz2+Biz+Ci進(jìn)行因式分解,將其改寫為f(z)=Ai(z2+Bi′z)+Ci,使Sigmoid 函數(shù)FPGA 設(shè)計(jì)具有流水線實(shí)現(xiàn)結(jié)構(gòu)。Sigmoid 函數(shù)的模塊設(shè)計(jì)如圖4 所示,系數(shù)選擇器根據(jù)輸入值z(mì)選擇所在分段的函數(shù)系數(shù)進(jìn)行裝載計(jì)算。

        事情來得真是那么偶然。在我百無聊賴意氣消沉的日子,你突然出現(xiàn)在我的生活里,好像穿射陰霾的一縷陽光,照亮了我的生活。

        2.4 數(shù)據(jù)存取優(yōu)化設(shè)計(jì)

        本文采用分布式雙端口RAM作為權(quán)值的主要存儲(chǔ)器。雙端口RAM 擁有2 個(gè)讀寫端口,可同時(shí)對(duì)同一存儲(chǔ)空間中的不同地址數(shù)據(jù)進(jìn)行讀寫,本文采用一種網(wǎng)絡(luò)權(quán)值讀取與更新交替流水進(jìn)行的數(shù)據(jù)存取方法,以提高數(shù)據(jù)存取的速度、降低數(shù)據(jù)存取的資源消耗。

        5G回傳的分組切片網(wǎng)絡(luò)架構(gòu)和關(guān)鍵技術(shù)研究………………………………………………趙福川,溫建中 24-4-02

        使用單端口RAM 進(jìn)行權(quán)值更新主要有兩種方式,如圖8(a)、(b)所示。圖8(a)采用雙RAM 方式,將RAM1 中存放的舊數(shù)據(jù)讀出并通過計(jì)算更新寫入至RAM2中,該方式在讀RAM1數(shù)據(jù)時(shí)可以寫RAM2的數(shù)據(jù),因此其耗時(shí)為tR+tC,但該方法占用2 個(gè)RAM 空間。圖8(b)采用單RAM 方式,數(shù)據(jù)更新時(shí)將存放在RAM1中的舊數(shù)據(jù)讀出并通過計(jì)算暫存至寄存器中,待全部計(jì)算完成后再將新數(shù)據(jù)重新寫入RAM1中,該方式雖只占用1個(gè)RAM空間,但其耗時(shí)為tR+tC+tW。數(shù)據(jù)存取交替流水設(shè)計(jì)采用如圖8(c)所示的方式實(shí)現(xiàn),數(shù)據(jù)更新時(shí),通過端口A 讀出RAM1 數(shù)據(jù)進(jìn)行計(jì)算,因?yàn)闄?quán)值更新會(huì)帶來相應(yīng)的延時(shí),在端口B寫數(shù)據(jù)回RAM1時(shí)不會(huì)與讀數(shù)據(jù)產(chǎn)生相同地址同時(shí)讀寫的問題,所以可以從端口B將數(shù)據(jù)寫入至RAM1中覆蓋舊數(shù)據(jù),采用這種結(jié)構(gòu)結(jié)合了前兩種設(shè)計(jì)的優(yōu)勢,耗時(shí)為tR+tC,且僅消耗1個(gè)RAM空間。

        2.5 BP神經(jīng)網(wǎng)絡(luò)的FPGA實(shí)現(xiàn)結(jié)構(gòu)設(shè)計(jì)

        Sigmoid函數(shù)表達(dá)式如公式(12)所示:

        在反向傳播中,由輸出值A(chǔ)(2)計(jì)算得到A(2)-Y,根據(jù)公式(5)計(jì)算得到dB(2),在更新B(2)同時(shí)輸出dB(2),利用A(1)計(jì)算得到dW(2),在更新W(2)讀取原數(shù)據(jù)時(shí),將dB(2)同時(shí)輸出至dB(1)計(jì)算模塊中,再根據(jù)A(1)計(jì)算得到dB(1)并更新B(1),最后由X和dB(1)計(jì)算得到dW(1)并對(duì)W(1)更新,完成反向傳播。在反向傳播中采用數(shù)據(jù)存取優(yōu)化設(shè)計(jì)提高了計(jì)算速度。

        上述語料描述的是達(dá)西先生邀請(qǐng)伊麗莎白跳舞的一小段對(duì)話。首先對(duì)達(dá)西先生所說的話進(jìn)行語義解碼,達(dá)西先生對(duì)伊麗莎白所說的話可以理解為對(duì)伊麗莎白在當(dāng)時(shí)的情境下是否有跳舞意向的詢問。從句法結(jié)構(gòu)的方面來講,達(dá)西先生的這句話一方面將“Miss Bennet”作為問句中的插入語形式出現(xiàn),強(qiáng)調(diào)了問話的對(duì)象,即伊麗莎白,另一方面從整個(gè)詞義的角度上來講,該句話中有兩個(gè)超過四個(gè)音節(jié)的單詞出現(xiàn),體現(xiàn)了這句提問在語義上的含蓄與正式。

        3 BP神經(jīng)網(wǎng)絡(luò)的FPGA系統(tǒng)仿真與測試

        利用前述BP 神經(jīng)網(wǎng)絡(luò)的FPGA 實(shí)現(xiàn)結(jié)構(gòu),分別設(shè)計(jì)構(gòu)建字符識(shí)別系統(tǒng)和服裝識(shí)別系統(tǒng)。BP神經(jīng)網(wǎng)絡(luò)的FPGA 系統(tǒng)采用Quartus Prime 16.0 進(jìn)行綜合,利用ModelSim進(jìn)行門級(jí)仿真。BP神經(jīng)網(wǎng)絡(luò)前向傳播FPGA系統(tǒng)實(shí)現(xiàn)采用的芯片型號(hào)為5CSEMA5F31C6。

        3.1 前向傳播仿真

        在前向傳播仿真中,使用.mif文件將訓(xùn)練好的權(quán)值導(dǎo)入分布式權(quán)值RAM 中,隨機(jī)選擇Fashion-MNIST 數(shù)據(jù)集中測試集的一張圖像進(jìn)行輸入,其標(biāo)簽為“9”。前向傳播仿真結(jié)果如圖10所示。在70 MHz時(shí)鐘條件下,圖像輸入在11.018 μs處完成,經(jīng)過0.952 μs處理后完成輸出,總時(shí)間花費(fèi)為11.97 μs。最后得到輸出sig_o在地址9 處結(jié)果最大,仿真結(jié)果與標(biāo)簽相同,前向傳播系統(tǒng)仿真正確。

        為驗(yàn)證FPGA 系統(tǒng)輸出結(jié)果具有普遍性,隨機(jī)在MNIST和Fashion-MNIST數(shù)據(jù)集的測試集中選擇10組圖像樣本進(jìn)行硬件仿真測試,并與MATLAB 輸出結(jié)果進(jìn)行比較,結(jié)果如表2 和表3 所示。表中硬件識(shí)別結(jié)果與軟件識(shí)別結(jié)果一致,置信度絕對(duì)誤差小于0.003,F(xiàn)PGA設(shè)計(jì)識(shí)別結(jié)果具有普遍性。

        表2 MNIST軟硬件仿真結(jié)果比較Table 2 Comparison of MNIST software and hardware simulation results

        表3 Fashion-MNIST軟硬件仿真結(jié)果比較Table 3 Comparison of Fashion-MNIST software and hardware simulation results

        3.2 反向傳播仿真

        反向傳播仿真如圖11 所示。前向傳播在11.97 μs處完成,然后反向傳播開始。B(2)計(jì)算輸出在12.292 μs處完成,此時(shí)在W(2)計(jì)算更新模塊與dB(1)計(jì)算模塊中的數(shù)據(jù)裝載完成并開始計(jì)算,在12.782 μs 處W(2)計(jì)算更新完成,經(jīng)過0.504 μs 運(yùn)算,在13.286 μs 處B(1)計(jì)算更新完成,同時(shí)W(1)計(jì)算模塊中dB(1)數(shù)據(jù)裝載完成,最后讀入前一次的W(1)進(jìn)行計(jì)算更新,在24.332 μs處W(1)更新完成。經(jīng)測試,一次用硬件實(shí)現(xiàn)的數(shù)據(jù)更新的參數(shù)與用軟件實(shí)現(xiàn)的數(shù)據(jù)更新參數(shù)的誤差小于2-13,符合設(shè)計(jì)要求,仿真結(jié)果正確。

        3.3 前向傳播FPGA測試

        前向傳播FPGA實(shí)現(xiàn)資源消耗如圖12所示,Quartus綜合后邏輯資源利用率為11%,總寄存器數(shù)為4 380,消耗47 個(gè)DSP 乘法器資源。由于采用片上RAM 作為LCD顯存,總片上RAM使用率為31%。

        前向傳播FPGA 系統(tǒng)實(shí)現(xiàn)如圖13 所示,液晶屏顯示輸入圖像數(shù)據(jù),數(shù)碼管左側(cè)顯示為網(wǎng)絡(luò)識(shí)別結(jié)果,右側(cè)為識(shí)別結(jié)果的置信度。將MNIST 測試集的10 張圖像數(shù)據(jù)作為輸入,F(xiàn)PGA 識(shí)別結(jié)果如表4 所示。導(dǎo)入Fashion-MNIST 數(shù)據(jù)集對(duì)應(yīng)的網(wǎng)絡(luò)權(quán)值參數(shù)后,F(xiàn)PGA識(shí)別Fashion-MNIST 數(shù)據(jù)集10 張圖像數(shù)據(jù)結(jié)果如表5所示。

        表4 MNIST數(shù)據(jù)集FPGA硬件識(shí)別結(jié)果Table 4 FPGA hardware recognition results of MNIST dataset

        表5 Fashion-MNIST數(shù)據(jù)集FPGA硬件識(shí)別結(jié)果Table 5 FPGA hardware recognition results of Fashion-MNIST dataset

        利用SignalTap II 邏輯分析器對(duì)FPGA 系統(tǒng)的輸出及耗時(shí)進(jìn)行觀測,如圖14 所示。選擇前向傳播仿真所用圖片作為輸入,F(xiàn)PGA 識(shí)別結(jié)果為“9”,其置信度為7 877,即0.961 5,系統(tǒng)耗時(shí)為855個(gè)周期,即11.97 μs,硬件輸出結(jié)果符合仿真輸出。

        面對(duì)學(xué)生的這些問題,一年前的我,一來會(huì)自我貶低,覺得自己怎么這么沒用,小小一個(gè)班級(jí)都管理不好;二來會(huì)貶低學(xué)生,認(rèn)為他們太差勁,連認(rèn)真上課都做不到。為了釋放心中壓抑的情緒,我可能會(huì)在班里用惡狠狠的話語罵上一通。可以想象,我的臉色極其難看,聲音相當(dāng)刺耳,沒經(jīng)過理性思考說出來的話十分難聽,整個(gè)人成了“惡魔”的代言人。

        3.4 性能比較

        在前向傳播中,在相同網(wǎng)絡(luò)結(jié)構(gòu)及硬件條件下,本設(shè)計(jì)資源消耗均少于文獻(xiàn)[10],總邏輯單元使用率為文獻(xiàn)[10]的31%。相較于文獻(xiàn)[10],本文優(yōu)化了權(quán)值RAM的讀取方式,減少了地址發(fā)生器的數(shù)量;通過調(diào)換并行轉(zhuǎn)串行模塊與激活函數(shù)模塊的處理順序?qū)τ布O(shè)計(jì)結(jié)構(gòu)進(jìn)行了優(yōu)化,減少了激活函數(shù)模塊的使用數(shù)量38個(gè),降低邏輯資源使用量約6 270,資源消耗對(duì)比如表6 所示。在利用前向傳播對(duì)MNIST 手寫數(shù)字識(shí)別中,相較文獻(xiàn)[10]100 個(gè)測試樣本89%準(zhǔn)確率,本設(shè)計(jì)準(zhǔn)確率可達(dá)到與軟件識(shí)別結(jié)果相同的97%,硬件實(shí)現(xiàn)結(jié)果與軟件實(shí)現(xiàn)結(jié)果誤差小于0.003,如表7所示。

        表6 前向傳播硬件設(shè)計(jì)資源消耗對(duì)比Table 6 Forward propagation hardware design resource consumption comparison

        表7 前向傳播輸出正確率及誤差對(duì)比Table 7 Forward propagation output correct rate and error comparison

        在反向傳播中,MATLAB 2019 在CPU 工作頻率3.9 GHz 情況下進(jìn)行60 000 次訓(xùn)練需要約3.2 s;根據(jù)仿真結(jié)果,基于硬件優(yōu)化設(shè)計(jì)的BP 神經(jīng)網(wǎng)絡(luò)在相同訓(xùn)練次數(shù)下需要1.46 s,為MATLAB實(shí)現(xiàn)時(shí)間的45.63%。

        文獻(xiàn)[15]在仿真中以10并行度進(jìn)行6 000次反向傳播作為一次迭代訓(xùn)練,在100 MHz 時(shí)鐘條件下耗時(shí)為150 ms;本設(shè)計(jì)在70 MHz時(shí)鐘頻率下進(jìn)行6 000次反向傳播耗時(shí)為146 ms,折算至100 MHz 時(shí)鐘條件下,耗時(shí)為105 ms,本設(shè)計(jì)在相同條件下訓(xùn)練時(shí)間為文獻(xiàn)[15]的70%,提高了BP神經(jīng)網(wǎng)絡(luò)的運(yùn)算速度。

        4 結(jié)束語

        本文對(duì)一個(gè)用FPGA實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)進(jìn)行了優(yōu)化設(shè)計(jì),對(duì)其前向傳播進(jìn)行了硬件實(shí)現(xiàn),對(duì)反向傳播進(jìn)行了仿真。本文采用定點(diǎn)數(shù)計(jì)算和流水線結(jié)構(gòu),在降低計(jì)算復(fù)雜度的同時(shí)提高了計(jì)算速度;采用二次函數(shù)多段擬合Sigmoid函數(shù),提高了系統(tǒng)計(jì)算精度;在結(jié)構(gòu)設(shè)計(jì)上,通過調(diào)換并行轉(zhuǎn)串行模塊與激活函數(shù)模塊的處理順序、采用數(shù)據(jù)存取交替流水等優(yōu)化設(shè)計(jì)方法,在降低資源消耗情況下,有效提高系統(tǒng)處理速度。實(shí)驗(yàn)結(jié)果表明,優(yōu)化后的硬件結(jié)構(gòu)總邏輯資源使用率為原來的31%,F(xiàn)PGA 中單樣本前向與反向傳播所用時(shí)間為24.332 μs,僅為MATLAB實(shí)現(xiàn)時(shí)間的45.63%,在提高BP神經(jīng)網(wǎng)絡(luò)識(shí)別速度的同時(shí)降低了資源消耗。

        猜你喜歡
        設(shè)計(jì)
        二十四節(jié)氣在平面廣告設(shè)計(jì)中的應(yīng)用
        何為設(shè)計(jì)的守護(hù)之道?
        《豐收的喜悅展示設(shè)計(jì)》
        流行色(2020年1期)2020-04-28 11:16:38
        基于PWM的伺服控制系統(tǒng)設(shè)計(jì)
        電子制作(2019年19期)2019-11-23 08:41:36
        基于89C52的32只三色LED搖搖棒設(shè)計(jì)
        電子制作(2019年15期)2019-08-27 01:11:50
        基于ICL8038的波形發(fā)生器仿真設(shè)計(jì)
        電子制作(2019年7期)2019-04-25 13:18:16
        瞞天過?!律O(shè)計(jì)萌到家
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        從平面設(shè)計(jì)到“設(shè)計(jì)健康”
        商周刊(2017年26期)2017-04-25 08:13:04
        亚洲国产精品成人av网| 亚洲国产一区二区,毛片| 欧美亚洲综合激情在线| 妺妺窝人体色www在线直播| 久久99中文字幕久久| 久久午夜伦鲁鲁片免费| 色综合久久五十路人妻| 亚洲福利二区三区四区| 国产在线一区二区三区四区| 国模冰莲自慰肥美胞极品人体图| 激情内射日本一区二区三区| 亚洲欧美日韩一区二区三区在线| 欧美激情五月| 亚洲AV小说在线观看| 成年女人18毛片观看| 亚洲视频在线一区二区| 国产国产裸模裸模私拍视频| 国产精品18久久久久久麻辣| 久久99国产亚洲高清观看韩国 | 国产一区二区三区探花| 日本成年一区久久综合| 精品+无码+在线观看| 欧美一性一乱一交一视频| 嗯啊哦快使劲呻吟高潮视频| 中文人成影院| 中文字幕人妻少妇美臀| 亚洲熟女一区二区三区250p| 久久久久亚洲av综合波多野结衣| 柠檬福利第一导航在线| 爱情岛永久地址www成人| 日本高清不卡二区| 亚洲中文字幕日本日韩| 99久久精品人妻少妇一| 伊人久久大香线蕉av色婷婷色 | 少妇被躁爽到高潮无码文| 亚洲国产精品无码久久九九大片健| 亚洲av国产精品色a变脸| 日本一区二区精品高清| 精品偷拍被偷拍在线观看| 中文字幕有码无码av| 国内精品久久久久影院蜜芽|