二值化卷積神經(jīng)網(wǎng)絡(luò)及其FPGA實現(xiàn)研究
發(fā)布時間:2025-04-26 21:20
目前,現(xiàn)有的卷積神經(jīng)網(wǎng)絡(luò)由于其結(jié)構(gòu)復(fù)雜且依賴的數(shù)據(jù)集龐大,難以滿足某些實際應(yīng)用或者計算平臺對運算性能的要求和能耗的限制。針對這些應(yīng)用或計算平臺,對基于ARM+FPGA平臺的二值算法進行了研究,并設(shè)計了二值化卷積神經(jīng)網(wǎng)絡(luò)(Bianry Neural Network,BNN),該網(wǎng)絡(luò)減少了數(shù)據(jù)對存儲單元的需求量,也降低了運算的復(fù)雜度。首先,本文在FPGA上進行了一些優(yōu)化包括矩陣算法的優(yōu)化,數(shù)據(jù)分布的優(yōu)化,網(wǎng)絡(luò)規(guī)模的優(yōu)化等。對FPGA上實現(xiàn)BNN時遇到的一些問題進行了分析,提出了切實可行的解決方法。根據(jù)BNN網(wǎng)絡(luò)的運算方式,設(shè)計了并行的流水線式處理方式,將BNN網(wǎng)絡(luò)的推斷過程分為了三個部分,包括輸入模塊、卷積層模塊、全連接層模塊。同時,在軟件實現(xiàn)階段使用C/C++的開發(fā)模式,不僅降低了整個工程的開發(fā)難度,加快了算法的實現(xiàn),也縮短了開發(fā)的周期。本文在ARM+FPGA平臺內(nèi)部實現(xiàn)BNN網(wǎng)絡(luò)的前向推斷過程中,通過將卷積的乘累加運算轉(zhuǎn)換為XNOR邏輯運算和popcount等操作,提高了整體的運算效率,降低了對能源和資源的消耗。此外,根據(jù)網(wǎng)絡(luò)中數(shù)據(jù)存儲的特點,提出了新的改進緩沖行處理算法,提高了網(wǎng)絡(luò)的吞...
【文章頁數(shù)】:72 頁
【學(xué)位級別】:碩士
【文章目錄】:
摘要
ABSTRACT
第一章 緒論
1.1 研究背景及意義
1.2 國內(nèi)外研究現(xiàn)狀
1.3 本文的研究內(nèi)容
1.4 論文結(jié)構(gòu)安排
第二章 相關(guān)工作
2.1 CNN卷積過程加速
2.1.1 卷積運算優(yōu)化
2.1.2 數(shù)據(jù)空間優(yōu)化
2.2 CNN參數(shù)量化和裁剪
2.2.1 網(wǎng)絡(luò)參數(shù)量化
2.2.2 網(wǎng)絡(luò)權(quán)重裁剪
2.3 硬件實現(xiàn)
2.3.1 基于RTL方式
2.3.2 基于HLS方式
2.3.3 基于ARM+FPGA的方式
2.4 典型網(wǎng)絡(luò)的FPGA加速實現(xiàn)
2.5 本章小結(jié)
第三章 BNN網(wǎng)絡(luò)的設(shè)計以及訓(xùn)練和性能分析
3.1 CNN與BNN
3.1.1 CNN網(wǎng)絡(luò)
3.1.2 BNN網(wǎng)絡(luò)
3.2 本文BNN設(shè)計
3.3 BNN訓(xùn)練分析
3.4 BNN性能分析
3.5 BNN結(jié)構(gòu)劃分
3.6 本章小結(jié)
第四章 基于FPGA的BNN加速系統(tǒng)設(shè)計
4.1 系統(tǒng)架構(gòu)設(shè)計
4.2 系統(tǒng)數(shù)據(jù)結(jié)構(gòu)
4.3 系統(tǒng)模塊設(shè)計
4.3.1 輸入層模塊設(shè)計
4.3.2 卷積層模塊設(shè)計
4.3.3 全連接層模塊設(shè)計
4.4 系統(tǒng)整體流程
4.5 本章小結(jié)
第五章 基于FPGA的BNN實現(xiàn)及結(jié)果分析
5.1 實驗環(huán)境
5.2 數(shù)據(jù)測量
5.3 結(jié)果分析
5.3.1 識別精度分析
5.3.2 加速性能分析
5.3.3 資源使用分析
5.4 本章小結(jié)
第六章 總結(jié)與展望
6.1 總結(jié)
6.2 展望
參考文獻
發(fā)表論文和參加科研情況說明
致謝
本文編號:4041382
【文章頁數(shù)】:72 頁
【學(xué)位級別】:碩士
【文章目錄】:
摘要
ABSTRACT
第一章 緒論
1.1 研究背景及意義
1.2 國內(nèi)外研究現(xiàn)狀
1.3 本文的研究內(nèi)容
1.4 論文結(jié)構(gòu)安排
第二章 相關(guān)工作
2.1 CNN卷積過程加速
2.1.1 卷積運算優(yōu)化
2.1.2 數(shù)據(jù)空間優(yōu)化
2.2 CNN參數(shù)量化和裁剪
2.2.1 網(wǎng)絡(luò)參數(shù)量化
2.2.2 網(wǎng)絡(luò)權(quán)重裁剪
2.3 硬件實現(xiàn)
2.3.1 基于RTL方式
2.3.2 基于HLS方式
2.3.3 基于ARM+FPGA的方式
2.4 典型網(wǎng)絡(luò)的FPGA加速實現(xiàn)
2.5 本章小結(jié)
第三章 BNN網(wǎng)絡(luò)的設(shè)計以及訓(xùn)練和性能分析
3.1 CNN與BNN
3.1.1 CNN網(wǎng)絡(luò)
3.1.2 BNN網(wǎng)絡(luò)
3.2 本文BNN設(shè)計
3.3 BNN訓(xùn)練分析
3.4 BNN性能分析
3.5 BNN結(jié)構(gòu)劃分
3.6 本章小結(jié)
第四章 基于FPGA的BNN加速系統(tǒng)設(shè)計
4.1 系統(tǒng)架構(gòu)設(shè)計
4.2 系統(tǒng)數(shù)據(jù)結(jié)構(gòu)
4.3 系統(tǒng)模塊設(shè)計
4.3.1 輸入層模塊設(shè)計
4.3.2 卷積層模塊設(shè)計
4.3.3 全連接層模塊設(shè)計
4.4 系統(tǒng)整體流程
4.5 本章小結(jié)
第五章 基于FPGA的BNN實現(xiàn)及結(jié)果分析
5.1 實驗環(huán)境
5.2 數(shù)據(jù)測量
5.3 結(jié)果分析
5.3.1 識別精度分析
5.3.2 加速性能分析
5.3.3 資源使用分析
5.4 本章小結(jié)
第六章 總結(jié)與展望
6.1 總結(jié)
6.2 展望
參考文獻
發(fā)表論文和參加科研情況說明
致謝
本文編號:4041382
本文鏈接:http://sikaile.net/kejilunwen/dianzigongchenglunwen/4041382.html
最近更新
教材專著