基于FPGA的SSD算法加速設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2024-03-10 16:00
隨著計(jì)算機(jī)性能的不斷提升,以及學(xué)術(shù)界對(duì)機(jī)器學(xué)習(xí)領(lǐng)域研究的逐漸深入,卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)成為了近年來最為熱門的機(jī)器學(xué)習(xí)算法之一,在機(jī)器視覺、視頻監(jiān)控、圖像搜索、模式識(shí)別等領(lǐng)域得到了廣泛的應(yīng)用。目前的卷積神經(jīng)網(wǎng)絡(luò)算法主要通過GPU平臺(tái)進(jìn)行實(shí)現(xiàn),但由于GPU存在能耗過高的問題,難以應(yīng)用于嵌入式系統(tǒng)中;贏SIC的卷積神經(jīng)網(wǎng)絡(luò)加速器開發(fā)周期長、成本投入巨大且缺乏靈活性,F(xiàn)有的嵌入式系統(tǒng)大多基于ARM、FPGA等單一平臺(tái)。使用ARM可以方便快捷的搭建嵌入式系統(tǒng),由于卷積神經(jīng)網(wǎng)絡(luò)中特定的計(jì)算方法,單獨(dú)在通用處理器上運(yùn)行效率較低,難以達(dá)到滿意的性能。FPGA具有強(qiáng)大的可編程性、低延遲設(shè)計(jì)、低功耗特性,基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)加速器逐漸引起人們的重視,成為現(xiàn)如今深度學(xué)習(xí)算法硬件實(shí)現(xiàn)研究的一個(gè)重要領(lǐng)域。但是在FPGA中部署卷積神經(jīng)網(wǎng)絡(luò)算法仍然存在很多挑戰(zhàn),隨著算法理論的發(fā)展與完善,近年來提出的新算法網(wǎng)絡(luò)層數(shù)逐漸加深,網(wǎng)絡(luò)層操作復(fù)雜化、多樣化,通過傳統(tǒng)的HDL語言編寫FPGA存在開發(fā)難度高、開發(fā)周期長、可移植性差的問題。本文采用了ARM+FP...
【文章頁數(shù)】:85 頁
【學(xué)位級(jí)別】:碩士
【文章目錄】:
摘要
ABSTRACT
1 緒論
1.1 研究背景
1.2 國內(nèi)外研究現(xiàn)狀
1.2.1 目標(biāo)檢測算法的研究現(xiàn)狀與趨勢
1.2.2 卷積神經(jīng)網(wǎng)絡(luò)加速技術(shù)研究現(xiàn)狀
1.3 主要研究內(nèi)容及開展工作
2 基于卷積神經(jīng)網(wǎng)絡(luò)的SSD算法介紹
2.1 深度學(xué)習(xí)基礎(chǔ)理論
2.1.1 人工神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)
2.1.2 卷積神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)
2.2 SSD算法介紹
2.2.1 算法網(wǎng)絡(luò)結(jié)構(gòu)
2.2.2 訓(xùn)練過程
2.2.3 預(yù)測過程
2.3 本章小結(jié)
3 基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)加速器通用架構(gòu)設(shè)計(jì)
3.1 開發(fā)環(huán)境介紹
3.1.1 ZYNQ系列芯片
3.1.2 高層次綜合技術(shù)
3.1.3 SDSoC開發(fā)平臺(tái)
3.2 加速器整體架構(gòu)設(shè)計(jì)
3.3 外存數(shù)據(jù)高速訪問設(shè)計(jì)
3.4 分塊數(shù)據(jù)流管理設(shè)計(jì)
3.4.1 內(nèi)層卷積疊放
3.4.2 卷積分區(qū)疊放
3.4.3 疊放數(shù)據(jù)流配置
3.5 通用卷積加速模塊設(shè)計(jì)
3.5.1 卷積頂層模塊設(shè)計(jì)
3.5.2 Tile模塊設(shè)計(jì)
3.5.3 Input Tensor模塊設(shè)計(jì)
3.5.4 Output Tensor模塊設(shè)計(jì)
3.5.5 高性能PE單元設(shè)計(jì)
3.6 本章小結(jié)
4 基于通用架構(gòu)的SSD算法加速設(shè)計(jì)與實(shí)現(xiàn)
4.1 算法網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化
4.1.1 FC6 層優(yōu)化
4.1.2 L2 正則化層優(yōu)化
4.1.3 優(yōu)化后算法訓(xùn)練結(jié)果
4.2 算法的軟硬件劃分
4.3 算法網(wǎng)絡(luò)加速設(shè)計(jì)
4.3.1 輸入數(shù)據(jù)裝載函數(shù)
4.3.2 權(quán)重偏置裝載函數(shù)
4.3.3 特殊池化函數(shù)
4.3.4 依賴消除編碼/解碼函數(shù)
4.3.5 其他函數(shù)
4.4 算法網(wǎng)絡(luò)結(jié)構(gòu)實(shí)現(xiàn)
4.4.1 參數(shù)配置
4.4.2 綜合結(jié)果
4.5 本章小結(jié)
5 實(shí)驗(yàn)驗(yàn)證與分析
5.1 測試驗(yàn)證環(huán)境
5.1.1 Pytorch環(huán)境仿真
5.1.2 VS2010 環(huán)境仿真
5.1.3 Vivado HLS環(huán)境仿真
5.1.4 ZCU102 板級(jí)實(shí)現(xiàn)
5.2 實(shí)驗(yàn)結(jié)果分析
5.3 本章小結(jié)
6 結(jié)論及展望
6.1 全文總結(jié)
6.2 后續(xù)工作展望
6.2.1 定點(diǎn)量化
6.2.2 剪枝壓縮
參考文獻(xiàn)
附錄A 不同訓(xùn)練集各分類查準(zhǔn)率詳表
附錄B SSD算法主要網(wǎng)絡(luò)層計(jì)算量估計(jì)
附錄C LAYER1-11 層(卷積/池化/RELU)基本情況
附錄D CONVCONF、CONVLOC卷積層基本情況
附錄E 各網(wǎng)絡(luò)層運(yùn)行時(shí)間及軟硬件分配
攻讀碩士學(xué)位期間發(fā)表學(xué)術(shù)論文情況
致謝
本文編號(hào):3925044
【文章頁數(shù)】:85 頁
【學(xué)位級(jí)別】:碩士
【文章目錄】:
摘要
ABSTRACT
1 緒論
1.1 研究背景
1.2 國內(nèi)外研究現(xiàn)狀
1.2.1 目標(biāo)檢測算法的研究現(xiàn)狀與趨勢
1.2.2 卷積神經(jīng)網(wǎng)絡(luò)加速技術(shù)研究現(xiàn)狀
1.3 主要研究內(nèi)容及開展工作
2 基于卷積神經(jīng)網(wǎng)絡(luò)的SSD算法介紹
2.1 深度學(xué)習(xí)基礎(chǔ)理論
2.1.1 人工神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)
2.1.2 卷積神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)
2.2 SSD算法介紹
2.2.1 算法網(wǎng)絡(luò)結(jié)構(gòu)
2.2.2 訓(xùn)練過程
2.2.3 預(yù)測過程
2.3 本章小結(jié)
3 基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)加速器通用架構(gòu)設(shè)計(jì)
3.1 開發(fā)環(huán)境介紹
3.1.1 ZYNQ系列芯片
3.1.2 高層次綜合技術(shù)
3.1.3 SDSoC開發(fā)平臺(tái)
3.2 加速器整體架構(gòu)設(shè)計(jì)
3.3 外存數(shù)據(jù)高速訪問設(shè)計(jì)
3.4 分塊數(shù)據(jù)流管理設(shè)計(jì)
3.4.1 內(nèi)層卷積疊放
3.4.2 卷積分區(qū)疊放
3.4.3 疊放數(shù)據(jù)流配置
3.5 通用卷積加速模塊設(shè)計(jì)
3.5.1 卷積頂層模塊設(shè)計(jì)
3.5.2 Tile模塊設(shè)計(jì)
3.5.3 Input Tensor模塊設(shè)計(jì)
3.5.4 Output Tensor模塊設(shè)計(jì)
3.5.5 高性能PE單元設(shè)計(jì)
3.6 本章小結(jié)
4 基于通用架構(gòu)的SSD算法加速設(shè)計(jì)與實(shí)現(xiàn)
4.1 算法網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化
4.1.1 FC6 層優(yōu)化
4.1.2 L2 正則化層優(yōu)化
4.1.3 優(yōu)化后算法訓(xùn)練結(jié)果
4.2 算法的軟硬件劃分
4.3 算法網(wǎng)絡(luò)加速設(shè)計(jì)
4.3.1 輸入數(shù)據(jù)裝載函數(shù)
4.3.2 權(quán)重偏置裝載函數(shù)
4.3.3 特殊池化函數(shù)
4.3.4 依賴消除編碼/解碼函數(shù)
4.3.5 其他函數(shù)
4.4 算法網(wǎng)絡(luò)結(jié)構(gòu)實(shí)現(xiàn)
4.4.1 參數(shù)配置
4.4.2 綜合結(jié)果
4.5 本章小結(jié)
5 實(shí)驗(yàn)驗(yàn)證與分析
5.1 測試驗(yàn)證環(huán)境
5.1.1 Pytorch環(huán)境仿真
5.1.2 VS2010 環(huán)境仿真
5.1.3 Vivado HLS環(huán)境仿真
5.1.4 ZCU102 板級(jí)實(shí)現(xiàn)
5.2 實(shí)驗(yàn)結(jié)果分析
5.3 本章小結(jié)
6 結(jié)論及展望
6.1 全文總結(jié)
6.2 后續(xù)工作展望
6.2.1 定點(diǎn)量化
6.2.2 剪枝壓縮
參考文獻(xiàn)
附錄A 不同訓(xùn)練集各分類查準(zhǔn)率詳表
附錄B SSD算法主要網(wǎng)絡(luò)層計(jì)算量估計(jì)
附錄C LAYER1-11 層(卷積/池化/RELU)基本情況
附錄D CONVCONF、CONVLOC卷積層基本情況
附錄E 各網(wǎng)絡(luò)層運(yùn)行時(shí)間及軟硬件分配
攻讀碩士學(xué)位期間發(fā)表學(xué)術(shù)論文情況
致謝
本文編號(hào):3925044
本文鏈接:http://sikaile.net/kejilunwen/dianzigongchenglunwen/3925044.html
最近更新
教材專著