全連接神經(jīng)網(wǎng)絡(luò)在FPGA上的實(shí)現(xiàn)與優(yōu)化
發(fā)布時(shí)間:2020-06-19 23:26
【摘要】:隨著電子電路領(lǐng)域的飛速發(fā)展,計(jì)算機(jī)的計(jì)算能力得到了大幅提升,深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)再次迎來了飛速發(fā)展的浪潮。全連接神經(jīng)網(wǎng)絡(luò)能夠處理大規(guī)模的數(shù)據(jù),提取全部的數(shù)據(jù)特征,實(shí)現(xiàn)大規(guī)模數(shù)據(jù)的分類,因此,仍在圖像領(lǐng)域有重要應(yīng)用。全連接神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程計(jì)算復(fù)雜,計(jì)算量大,領(lǐng)域?qū)<彝褂糜?jì)算能力出眾的GPU設(shè)備進(jìn)行訓(xùn)練;而訓(xùn)練成功的神經(jīng)網(wǎng)絡(luò)在處理前向過程時(shí),計(jì)算相對簡單,因此往往采用FPGA搭載神經(jīng)網(wǎng)絡(luò)的前向推斷過程。雖然FPGA的計(jì)算能力難以趕超同時(shí)代的GPU加速設(shè)備,但其功耗與GPU相比較低,可以計(jì)算全連接神經(jīng)網(wǎng)絡(luò)的前向過程。本文提出了一套利用OpenCL在FPGA上高效地實(shí)現(xiàn)全連接神經(jīng)網(wǎng)絡(luò)的方案,并利用商用的全連接神經(jīng)網(wǎng)絡(luò)模型,驗(yàn)證了方案的優(yōu)化效果,為FPGA上利用OpenCL實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)提供了參考。本文的主要工作和研究成果主要包括:1.全連接神經(jīng)網(wǎng)絡(luò)算法的實(shí)現(xiàn)與優(yōu)化。傳統(tǒng)的FPGA開發(fā)利用較為復(fù)雜的硬件描述語言,為FPGA的廣泛應(yīng)用帶來了挑戰(zhàn)。而OpenCL定義了完整的框架,開發(fā)者可以利用OpenCL提供的框架針對FPGA進(jìn)行編程,縮短了開發(fā)周期。本文首先利用OpenCL,在FPGA上實(shí)現(xiàn)了全連接神經(jīng)網(wǎng)絡(luò)模型的各計(jì)算模塊,并分別針對兩個(gè)計(jì)算熱點(diǎn)提出了算法實(shí)現(xiàn)與優(yōu)化方案:針對全連接層數(shù)據(jù)規(guī)模大、數(shù)據(jù)復(fù)用率較低、對帶寬要求高的計(jì)算特點(diǎn),本文利用合并偏移量的方式規(guī)整計(jì)算任務(wù)、通過分組劃分的方式發(fā)掘并行性、同時(shí)利用數(shù)據(jù)復(fù)用提升了數(shù)據(jù)使用效率,降低了訪存壓力;針對較為復(fù)雜的激活函數(shù)(如Sigmoid函數(shù)),本文分析了泰勒級數(shù)法、查找表法、分段函數(shù)逼近法三種常用的激活函數(shù)實(shí)現(xiàn)方式,并衡量了 FPGA上適宜的方法;針對激活函數(shù)的特征,設(shè)計(jì)了差分查找表的方式實(shí)現(xiàn)激活函數(shù),在保證精度的前提下將查找表壓縮,節(jié)約了系統(tǒng)中的存儲空間。2.針對系統(tǒng)特征,提出系統(tǒng)級的優(yōu)化方案。為最大化地利用FPGA系統(tǒng)內(nèi)的各種資源,本文針對算法實(shí)現(xiàn)后的基準(zhǔn)系統(tǒng),根據(jù)硬件特征,分析了資源占用情況和流水線、訪存情況,利用數(shù)據(jù)重排、單指令多數(shù)據(jù)、多流水線、半精化等策略進(jìn)行了系統(tǒng)優(yōu)化,平衡了系統(tǒng)中的資源占用情況、擴(kuò)大了電路規(guī)模、提升了系統(tǒng)性能。優(yōu)化后的版本與基準(zhǔn)版本相比,得到了 2.19x的加速。優(yōu)化后,系統(tǒng)的主頻達(dá)到380MHz,RAM占用率達(dá)到94%,DSP占用率達(dá)到42%。
【學(xué)位授予單位】:中國科學(xué)技術(shù)大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2018
【分類號】:TP183;TN791
【圖文】:
系列在實(shí)數(shù)范圍之內(nèi)的激活值。逡逑人工神經(jīng)網(wǎng)絡(luò)的雛形是出現(xiàn)于20世紀(jì)50年代左右的感知機(jī)。感知機(jī)實(shí)現(xiàn)了逡逑最基本的人工神經(jīng)網(wǎng)絡(luò)單元,其結(jié)構(gòu)如圖1.1所示。逡逑x2逡逑x3逡逑圖1.1感知機(jī)的結(jié)構(gòu)逡逑感知機(jī)由輸入權(quán)值、激活函數(shù)、輸出組成。一個(gè)感知機(jī)可以接收一組輸入,逡逑標(biāo)記為...},每個(gè)輸入對應(yīng)一個(gè)權(quán)值W;;多個(gè)輸入根據(jù)逡逑對應(yīng)的權(quán)值相加得到的結(jié)果經(jīng)過偏置項(xiàng)b處理,再經(jīng)激活函數(shù)激活(Bias),得逡逑到最終的輸出。感知機(jī)中的激活函數(shù)一般情況下為階躍函數(shù)。如:逡逑F(z)邋=邐Z>UQ邐(2.1)逡逑L0邋other邐v逡逑因此,感知機(jī)的數(shù)學(xué)意義可以表示為:逡逑y邋=邋FiXlZxiWi邋x邋Xi)邋+邋bi)邐(2.2)逡逑1逡逑
深度學(xué)習(xí)的發(fā)展過程中,歷史最悠久的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)是全連接神經(jīng)網(wǎng)絡(luò)逡逑(即FullyConnectedNetwork)。全連接神經(jīng)網(wǎng)絡(luò)每層的“神經(jīng)元”之間采用全連逡逑接的映射方式與下一層網(wǎng)絡(luò)中的神經(jīng)元互聯(lián)["],其結(jié)構(gòu)如圖1.2所示。逡逑┙劐義賢跡保踩由窬玨義顯諶由窬韁�,定义其中的一庚l兄魑吧窬薄I喜閫緄拿垮義細(xì)鏨窬胂虜閫緄拿扛鏨窬櫻鉤閃巳擁耐紓幌虜愕拿扛鏨皴義暇萑ㄖ亟郵萇喜閫韁忻扛鏨窬蕕奶卣髦擔(dān)糜爰せ釤崛√劐義險(xiǎn)鰲>嗖閭卣魈崛�,租傉可揖壝到预圃懩结果`P保保蕁M賈性殘謂詰憒砩窬義狹嘰聿煌娜ㄖ�。辶x先由窬緋魷忠潦季捅還惴河τ糜諭枷翊砹煊潁縭中詞質(zhì)侗稹㈠義先肆呈侗鸕齲郟保保藎恢兩袢栽詿蠊婺J蕕畝嚳擲轡侍庵杏τ霉惴�,染樒大讯窌瘾藨至x仙逃玫耐枷袷侗鶼低車取e義希保保炒鈐厴窬緄撓布教ㄥ義希保危茫校掌教ㄥ義希茫校帳侵醒氪砥鰨侵髁韉拇砥骱誦�,负扎F瓿篩髦炙閌嘸慫悖義系骷撲慊韃糠治榷ㄔ誦�。虽然它能够协调紦溷机脑嶍^考ぷ
本文編號:2721490
【學(xué)位授予單位】:中國科學(xué)技術(shù)大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2018
【分類號】:TP183;TN791
【圖文】:
系列在實(shí)數(shù)范圍之內(nèi)的激活值。逡逑人工神經(jīng)網(wǎng)絡(luò)的雛形是出現(xiàn)于20世紀(jì)50年代左右的感知機(jī)。感知機(jī)實(shí)現(xiàn)了逡逑最基本的人工神經(jīng)網(wǎng)絡(luò)單元,其結(jié)構(gòu)如圖1.1所示。逡逑x2逡逑x3逡逑圖1.1感知機(jī)的結(jié)構(gòu)逡逑感知機(jī)由輸入權(quán)值、激活函數(shù)、輸出組成。一個(gè)感知機(jī)可以接收一組輸入,逡逑標(biāo)記為...},每個(gè)輸入對應(yīng)一個(gè)權(quán)值W;;多個(gè)輸入根據(jù)逡逑對應(yīng)的權(quán)值相加得到的結(jié)果經(jīng)過偏置項(xiàng)b處理,再經(jīng)激活函數(shù)激活(Bias),得逡逑到最終的輸出。感知機(jī)中的激活函數(shù)一般情況下為階躍函數(shù)。如:逡逑F(z)邋=邐Z>UQ邐(2.1)逡逑L0邋other邐v逡逑因此,感知機(jī)的數(shù)學(xué)意義可以表示為:逡逑y邋=邋FiXlZxiWi邋x邋Xi)邋+邋bi)邐(2.2)逡逑1逡逑
深度學(xué)習(xí)的發(fā)展過程中,歷史最悠久的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)是全連接神經(jīng)網(wǎng)絡(luò)逡逑(即FullyConnectedNetwork)。全連接神經(jīng)網(wǎng)絡(luò)每層的“神經(jīng)元”之間采用全連逡逑接的映射方式與下一層網(wǎng)絡(luò)中的神經(jīng)元互聯(lián)["],其結(jié)構(gòu)如圖1.2所示。逡逑┙劐義賢跡保踩由窬玨義顯諶由窬韁�,定义其中的一庚l兄魑吧窬薄I喜閫緄拿垮義細(xì)鏨窬胂虜閫緄拿扛鏨窬櫻鉤閃巳擁耐紓幌虜愕拿扛鏨皴義暇萑ㄖ亟郵萇喜閫韁忻扛鏨窬蕕奶卣髦擔(dān)糜爰せ釤崛√劐義險(xiǎn)鰲>嗖閭卣魈崛�,租傉可揖壝到预圃懩结果`P保保蕁M賈性殘謂詰憒砩窬義狹嘰聿煌娜ㄖ�。辶x先由窬緋魷忠潦季捅還惴河τ糜諭枷翊砹煊潁縭中詞質(zhì)侗稹㈠義先肆呈侗鸕齲郟保保藎恢兩袢栽詿蠊婺J蕕畝嚳擲轡侍庵杏τ霉惴�,染樒大讯窌瘾藨至x仙逃玫耐枷袷侗鶼低車取e義希保保炒鈐厴窬緄撓布教ㄥ義希保危茫校掌教ㄥ義希茫校帳侵醒氪砥鰨侵髁韉拇砥骱誦�,负扎F瓿篩髦炙閌嘸慫悖義系骷撲慊韃糠治榷ㄔ誦�。虽然它能够协调紦溷机脑嶍^考ぷ
本文編號:2721490
本文鏈接:http://sikaile.net/kejilunwen/dianzigongchenglunwen/2721490.html
最近更新
教材專著