神經(jīng)網(wǎng)絡(luò)算法的FPGA實現(xiàn)及其性能優(yōu)化
發(fā)布時間:2020-12-24 10:28
在人工智能領(lǐng)域,目前大多數(shù)神經(jīng)網(wǎng)絡(luò)的計算任務(wù)由CPU和GPU完成,傳統(tǒng)的芯片計算架構(gòu)已無法支撐神經(jīng)網(wǎng)絡(luò)所需求的大規(guī)模并行計算要求,這就需要新的底層硬件來更好地加速計算過程,為整個人工智能的實現(xiàn)提供算力。FPGA基于其出色的可重構(gòu)性及并行運(yùn)算等特性非常適合用來提升神經(jīng)網(wǎng)絡(luò)的計算性能,因此研究基于FPGA的神經(jīng)網(wǎng)絡(luò)計算架構(gòu)具有重要的現(xiàn)實意義。本文通過分析神經(jīng)網(wǎng)絡(luò)計算的特點(diǎn)以及FPGA芯片的硬件特性,總結(jié)了FPGA實現(xiàn)神經(jīng)網(wǎng)絡(luò)過程中需要研究的幾個關(guān)鍵問題,并針對性的給出的優(yōu)化的設(shè)計方案。主要的研究內(nèi)容包括:(1)討論了典型激活函數(shù)的幾種擬合方法,在對比分析的基礎(chǔ)上提出了一種最佳等距分段逼近法對激活函數(shù)進(jìn)行線性擬合,提高激活函數(shù)的擬合精度;(2)通過對比不同定點(diǎn)位數(shù)組合下神經(jīng)網(wǎng)絡(luò)的預(yù)測誤差,得到定點(diǎn)位數(shù)與誤差之間的關(guān)系,并據(jù)此確定定點(diǎn)位數(shù)的優(yōu)選值;(3)介紹了兩種脈動陣列的運(yùn)算模式,分析了這種運(yùn)算模式對于神經(jīng)網(wǎng)絡(luò)的乘加運(yùn)算的適應(yīng)性,應(yīng)用潛力和局限性;(4)由于CSD編碼可以極大的減少了乘法運(yùn)算過程中產(chǎn)生的部分積數(shù)量,因此設(shè)計了一種基于CSD編碼的可重載系數(shù)乘法運(yùn)算模塊,不但減少了乘法運(yùn)算占用的...
【文章來源】:中北大學(xué)山西省
【文章頁數(shù)】:78 頁
【學(xué)位級別】:碩士
【部分圖文】:
神經(jīng)網(wǎng)絡(luò)Figure1-1ArtificialNeuralNetworkANNsArtificialNeuralNetworks
中北大學(xué)學(xué)位論文11來更新權(quán)值閾值以縮小誤差,此過程就叫做訓(xùn)練;直至輸出誤差達(dá)到期望的誤差范圍,停止更新保存當(dāng)下的權(quán)值閾值,至此完成一個符合設(shè)計要求的BP神經(jīng)網(wǎng)絡(luò)。2.2.1梯度下降原理梯度下降算法原理是指在運(yùn)算中找到目標(biāo)函=()的極值點(diǎn),即使導(dǎo)數(shù)′(x)=0的點(diǎn)[35]。在數(shù)學(xué)上,求出′(x)=0的解,便可得到=()的極值點(diǎn)(x0,y0)。在算法實現(xiàn)上,如圖2-5所示,選定初始值X0,訓(xùn)練過程中通過多次迭代改變x的取值,最終經(jīng)過大量的迭代試驗后找到了函數(shù)極小值點(diǎn)。圖2-5BP神經(jīng)網(wǎng)絡(luò)模型Figure2-5BPNeuralNetworkModel在求函數(shù)極小值的過程中,x值的改變是沿著=()的負(fù)梯度方向,即函數(shù)對自變量偏導(dǎo)數(shù)的反方向,因為沿著負(fù)梯度的方向=()減小最迅速,函數(shù)=()均朝著函數(shù)極小值的方向逼近,多次迭代后函數(shù)就能達(dá)到極小值。BP神經(jīng)網(wǎng)絡(luò)的誤差反向傳播的過程,充分利用了梯度下降法的原理,可以最快速度的尋找代價函數(shù)的最小值,得到最終的模型參數(shù)。2.2.2BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程BP神經(jīng)網(wǎng)絡(luò)利用梯度下降法原理,將神經(jīng)網(wǎng)絡(luò)的權(quán)值沿著誤差的負(fù)梯度方向進(jìn)行修正。BP神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過程中,每次正向傳播輸出結(jié)果產(chǎn)生誤差,誤差反向輸入,神經(jīng)網(wǎng)絡(luò)根據(jù)輸入的誤差改變每一個連接的權(quán)值和閾值。BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程主要分
中北大學(xué)學(xué)位論文16于FPGA具有布線資源豐富,可重復(fù)編程和集成度高,投資較低的特點(diǎn),在數(shù)字電路設(shè)計領(lǐng)域得到了廣泛的應(yīng)用。2.3.1FPGA可重構(gòu)技術(shù)FPGA因其芯片內(nèi)部特有的結(jié)構(gòu),擁有動態(tài)可重構(gòu)技術(shù),可以多次重復(fù)配置的特點(diǎn),采用時分復(fù)用的方式充分利用FPGA內(nèi)部資源,使得時間上離散的功能模塊能在同一FPGA片內(nèi)順序?qū)崿F(xiàn)[39]。在神經(jīng)網(wǎng)絡(luò)的設(shè)計過程中,需要改變網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)以及連接的權(quán)值,F(xiàn)PGA的動態(tài)可重構(gòu)技術(shù)完全滿足神經(jīng)網(wǎng)絡(luò)的設(shè)計要求。FPGA芯片內(nèi)部結(jié)構(gòu)如圖2-8所示。圖2-8FPGA芯片內(nèi)部結(jié)構(gòu)示意圖Figure2-8SchematicdiagramoftheinternalstructureoftheFPGAchip2.3.2流水線技術(shù)在神經(jīng)網(wǎng)絡(luò)中的應(yīng)用FPGA擁有并行運(yùn)算能力,非常適合神經(jīng)網(wǎng)絡(luò)的實現(xiàn)。FPGA中數(shù)據(jù)的串行或者并行處理會影響整個系統(tǒng)的速度。神經(jīng)網(wǎng)絡(luò)一般在硬件中不能完全實現(xiàn)并行運(yùn)算,會存在一些必要的串行順序處理,所以在神經(jīng)網(wǎng)絡(luò)硬件化設(shè)計中,需要設(shè)計最適合硬件的并行結(jié)構(gòu)[40]。數(shù)據(jù)通過的串并結(jié)合的方式輸入到網(wǎng)絡(luò),每一層的神經(jīng)元之間采用并行計算,而網(wǎng)絡(luò)的模塊之間采用FPGA的流水線技術(shù)設(shè)計。神經(jīng)網(wǎng)絡(luò)的每一層之間采用FPGA的流水線的設(shè)計,這樣可以將運(yùn)算過程拆解成多個模塊,再通過多個時鐘周期完成運(yùn)算,這種流水線設(shè)計可以提高每一層之間的處理速度。如圖2-9所示,采用流水線設(shè)計,第
【參考文獻(xiàn)】:
期刊論文
[1]基于FPGA的BP神經(jīng)網(wǎng)絡(luò)硬件實現(xiàn)及改進(jìn)[J]. 楊景明,杜韋江,吳紹坤,李良,魏立新. 計算機(jī)工程與設(shè)計. 2018(06)
[2]深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)系統(tǒng)設(shè)計及硬件實現(xiàn)[J]. 王昆,周驊. 電子技術(shù)應(yīng)用. 2018(05)
[3]基于Nios Ⅱ的脈沖神經(jīng)網(wǎng)絡(luò)硬件實現(xiàn)方法[J]. 張文娟,王蕾,王連明. 東北師大學(xué)報(自然科學(xué)版). 2016(04)
[4]基于FPGA的RBF神經(jīng)網(wǎng)絡(luò)的硬件實現(xiàn)[J]. 王興. 電子設(shè)計工程. 2012(16)
[5]人工神經(jīng)網(wǎng)絡(luò)概述[J]. 張巧超,曾昭冰. 遼寧經(jīng)濟(jì)管理干部學(xué)院(遼寧經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院學(xué)報). 2010(04)
[6]基于FPGA的混沌神經(jīng)網(wǎng)絡(luò)的硬件實現(xiàn)[J]. 任志山,張衛(wèi)平. 龍巖學(xué)院學(xué)報. 2009(05)
博士論文
[1]基于卷積神經(jīng)網(wǎng)絡(luò)的硬件加速器設(shè)計及實現(xiàn)研究[D]. 趙博雅.哈爾濱工業(yè)大學(xué) 2018
碩士論文
[1]應(yīng)用于人工視覺假體的圖像分割神經(jīng)網(wǎng)絡(luò)設(shè)計與硬件實現(xiàn)[D]. 余強(qiáng)浩.西安理工大學(xué) 2019
[2]基于ZYNQ的卷積神經(jīng)網(wǎng)絡(luò)的硬件加速研究與實現(xiàn)[D]. 張斌.青島大學(xué) 2019
[3]面向視頻行人檢測的卷積神經(jīng)網(wǎng)絡(luò)硬件實現(xiàn)與性能分析[D]. 楊帆.北京交通大學(xué) 2019
[4]基于卷積神經(jīng)網(wǎng)絡(luò)的SAR圖像變化檢測及硬件實現(xiàn)[D]. 楊孟然.西安電子科技大學(xué) 2019
[5]基于FPGA的SOM神經(jīng)網(wǎng)絡(luò)可配置模塊化硬件實現(xiàn)方法研究[D]. 杜琳.東北師范大學(xué) 2018
[6]基于FPGA的BP神經(jīng)網(wǎng)絡(luò)硬件實現(xiàn)及應(yīng)用[D]. 杜韋江.燕山大學(xué) 2018
[7]卷積神經(jīng)網(wǎng)絡(luò)的硬件實現(xiàn)算法研究[D]. 馬靜.上海交通大學(xué) 2018
[8]利用機(jī)器視覺分揀裂傷磁環(huán)的人工神經(jīng)網(wǎng)絡(luò)算法及硬件實現(xiàn)[D]. 路威德.河北工業(yè)大學(xué) 2017
[9]基于卷積神經(jīng)網(wǎng)絡(luò)的人臉識別及硬件實現(xiàn)[D]. 馬杰.西安理工大學(xué) 2017
[10]基于FPGA器件的脈沖神經(jīng)網(wǎng)絡(luò)硬件實現(xiàn)研究[D]. 萬雷.廣西師范大學(xué) 2017
本文編號:2935490
【文章來源】:中北大學(xué)山西省
【文章頁數(shù)】:78 頁
【學(xué)位級別】:碩士
【部分圖文】:
神經(jīng)網(wǎng)絡(luò)Figure1-1ArtificialNeuralNetworkANNsArtificialNeuralNetworks
中北大學(xué)學(xué)位論文11來更新權(quán)值閾值以縮小誤差,此過程就叫做訓(xùn)練;直至輸出誤差達(dá)到期望的誤差范圍,停止更新保存當(dāng)下的權(quán)值閾值,至此完成一個符合設(shè)計要求的BP神經(jīng)網(wǎng)絡(luò)。2.2.1梯度下降原理梯度下降算法原理是指在運(yùn)算中找到目標(biāo)函=()的極值點(diǎn),即使導(dǎo)數(shù)′(x)=0的點(diǎn)[35]。在數(shù)學(xué)上,求出′(x)=0的解,便可得到=()的極值點(diǎn)(x0,y0)。在算法實現(xiàn)上,如圖2-5所示,選定初始值X0,訓(xùn)練過程中通過多次迭代改變x的取值,最終經(jīng)過大量的迭代試驗后找到了函數(shù)極小值點(diǎn)。圖2-5BP神經(jīng)網(wǎng)絡(luò)模型Figure2-5BPNeuralNetworkModel在求函數(shù)極小值的過程中,x值的改變是沿著=()的負(fù)梯度方向,即函數(shù)對自變量偏導(dǎo)數(shù)的反方向,因為沿著負(fù)梯度的方向=()減小最迅速,函數(shù)=()均朝著函數(shù)極小值的方向逼近,多次迭代后函數(shù)就能達(dá)到極小值。BP神經(jīng)網(wǎng)絡(luò)的誤差反向傳播的過程,充分利用了梯度下降法的原理,可以最快速度的尋找代價函數(shù)的最小值,得到最終的模型參數(shù)。2.2.2BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程BP神經(jīng)網(wǎng)絡(luò)利用梯度下降法原理,將神經(jīng)網(wǎng)絡(luò)的權(quán)值沿著誤差的負(fù)梯度方向進(jìn)行修正。BP神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過程中,每次正向傳播輸出結(jié)果產(chǎn)生誤差,誤差反向輸入,神經(jīng)網(wǎng)絡(luò)根據(jù)輸入的誤差改變每一個連接的權(quán)值和閾值。BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程主要分
中北大學(xué)學(xué)位論文16于FPGA具有布線資源豐富,可重復(fù)編程和集成度高,投資較低的特點(diǎn),在數(shù)字電路設(shè)計領(lǐng)域得到了廣泛的應(yīng)用。2.3.1FPGA可重構(gòu)技術(shù)FPGA因其芯片內(nèi)部特有的結(jié)構(gòu),擁有動態(tài)可重構(gòu)技術(shù),可以多次重復(fù)配置的特點(diǎn),采用時分復(fù)用的方式充分利用FPGA內(nèi)部資源,使得時間上離散的功能模塊能在同一FPGA片內(nèi)順序?qū)崿F(xiàn)[39]。在神經(jīng)網(wǎng)絡(luò)的設(shè)計過程中,需要改變網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)以及連接的權(quán)值,F(xiàn)PGA的動態(tài)可重構(gòu)技術(shù)完全滿足神經(jīng)網(wǎng)絡(luò)的設(shè)計要求。FPGA芯片內(nèi)部結(jié)構(gòu)如圖2-8所示。圖2-8FPGA芯片內(nèi)部結(jié)構(gòu)示意圖Figure2-8SchematicdiagramoftheinternalstructureoftheFPGAchip2.3.2流水線技術(shù)在神經(jīng)網(wǎng)絡(luò)中的應(yīng)用FPGA擁有并行運(yùn)算能力,非常適合神經(jīng)網(wǎng)絡(luò)的實現(xiàn)。FPGA中數(shù)據(jù)的串行或者并行處理會影響整個系統(tǒng)的速度。神經(jīng)網(wǎng)絡(luò)一般在硬件中不能完全實現(xiàn)并行運(yùn)算,會存在一些必要的串行順序處理,所以在神經(jīng)網(wǎng)絡(luò)硬件化設(shè)計中,需要設(shè)計最適合硬件的并行結(jié)構(gòu)[40]。數(shù)據(jù)通過的串并結(jié)合的方式輸入到網(wǎng)絡(luò),每一層的神經(jīng)元之間采用并行計算,而網(wǎng)絡(luò)的模塊之間采用FPGA的流水線技術(shù)設(shè)計。神經(jīng)網(wǎng)絡(luò)的每一層之間采用FPGA的流水線的設(shè)計,這樣可以將運(yùn)算過程拆解成多個模塊,再通過多個時鐘周期完成運(yùn)算,這種流水線設(shè)計可以提高每一層之間的處理速度。如圖2-9所示,采用流水線設(shè)計,第
【參考文獻(xiàn)】:
期刊論文
[1]基于FPGA的BP神經(jīng)網(wǎng)絡(luò)硬件實現(xiàn)及改進(jìn)[J]. 楊景明,杜韋江,吳紹坤,李良,魏立新. 計算機(jī)工程與設(shè)計. 2018(06)
[2]深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)系統(tǒng)設(shè)計及硬件實現(xiàn)[J]. 王昆,周驊. 電子技術(shù)應(yīng)用. 2018(05)
[3]基于Nios Ⅱ的脈沖神經(jīng)網(wǎng)絡(luò)硬件實現(xiàn)方法[J]. 張文娟,王蕾,王連明. 東北師大學(xué)報(自然科學(xué)版). 2016(04)
[4]基于FPGA的RBF神經(jīng)網(wǎng)絡(luò)的硬件實現(xiàn)[J]. 王興. 電子設(shè)計工程. 2012(16)
[5]人工神經(jīng)網(wǎng)絡(luò)概述[J]. 張巧超,曾昭冰. 遼寧經(jīng)濟(jì)管理干部學(xué)院(遼寧經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院學(xué)報). 2010(04)
[6]基于FPGA的混沌神經(jīng)網(wǎng)絡(luò)的硬件實現(xiàn)[J]. 任志山,張衛(wèi)平. 龍巖學(xué)院學(xué)報. 2009(05)
博士論文
[1]基于卷積神經(jīng)網(wǎng)絡(luò)的硬件加速器設(shè)計及實現(xiàn)研究[D]. 趙博雅.哈爾濱工業(yè)大學(xué) 2018
碩士論文
[1]應(yīng)用于人工視覺假體的圖像分割神經(jīng)網(wǎng)絡(luò)設(shè)計與硬件實現(xiàn)[D]. 余強(qiáng)浩.西安理工大學(xué) 2019
[2]基于ZYNQ的卷積神經(jīng)網(wǎng)絡(luò)的硬件加速研究與實現(xiàn)[D]. 張斌.青島大學(xué) 2019
[3]面向視頻行人檢測的卷積神經(jīng)網(wǎng)絡(luò)硬件實現(xiàn)與性能分析[D]. 楊帆.北京交通大學(xué) 2019
[4]基于卷積神經(jīng)網(wǎng)絡(luò)的SAR圖像變化檢測及硬件實現(xiàn)[D]. 楊孟然.西安電子科技大學(xué) 2019
[5]基于FPGA的SOM神經(jīng)網(wǎng)絡(luò)可配置模塊化硬件實現(xiàn)方法研究[D]. 杜琳.東北師范大學(xué) 2018
[6]基于FPGA的BP神經(jīng)網(wǎng)絡(luò)硬件實現(xiàn)及應(yīng)用[D]. 杜韋江.燕山大學(xué) 2018
[7]卷積神經(jīng)網(wǎng)絡(luò)的硬件實現(xiàn)算法研究[D]. 馬靜.上海交通大學(xué) 2018
[8]利用機(jī)器視覺分揀裂傷磁環(huán)的人工神經(jīng)網(wǎng)絡(luò)算法及硬件實現(xiàn)[D]. 路威德.河北工業(yè)大學(xué) 2017
[9]基于卷積神經(jīng)網(wǎng)絡(luò)的人臉識別及硬件實現(xiàn)[D]. 馬杰.西安理工大學(xué) 2017
[10]基于FPGA器件的脈沖神經(jīng)網(wǎng)絡(luò)硬件實現(xiàn)研究[D]. 萬雷.廣西師范大學(xué) 2017
本文編號:2935490
本文鏈接:http://sikaile.net/kejilunwen/dianzigongchenglunwen/2935490.html
最近更新
教材專著