• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種基于FPGA的感知量化卷積神經(jīng)網(wǎng)絡(luò)加速系統(tǒng)設(shè)計(jì)

      2021-06-30 01:43:52電子科技大學(xué)電子科學(xué)與工程學(xué)院賀雅娟
      電子世界 2021年11期
      關(guān)鍵詞:加速器功耗卷積

      電子科技大學(xué)電子科學(xué)與工程學(xué)院 周 航 賀雅娟

      近年來,卷積神經(jīng)網(wǎng)絡(luò)(CNN)在機(jī)器視覺等方面取得了巨大成功。為提升嵌入式設(shè)備上運(yùn)行CNN的速度和能效,本文針對LeNet-5網(wǎng)絡(luò)模型,先對該網(wǎng)絡(luò)模型進(jìn)行感知量化訓(xùn)練,特征圖和權(quán)重量化為8位整型數(shù)據(jù)。然后設(shè)計(jì)一種卷積神經(jīng)網(wǎng)絡(luò)加速器系統(tǒng),該片上系統(tǒng)(SoC)采用Cortex-M3為處理器,所提出的系統(tǒng)處理一張MNIST圖像所需時(shí)間5.3ms,精度達(dá)到98.2%。

      CNN已成功應(yīng)用于圖像識別等應(yīng)用,隨著CNN解決更復(fù)雜的問題,計(jì)算和存儲的需求急劇增加。然而,在一些低功耗的邊緣計(jì)算設(shè)備中,功耗是重要指標(biāo)。目前的研究主要針對CNN推理階段模型的壓縮和量化。大多數(shù)設(shè)計(jì)都用定點(diǎn)計(jì)算單元代替浮點(diǎn)單元。ESE采用12位定點(diǎn)權(quán)重和16位定點(diǎn)神經(jīng)元設(shè)計(jì),Guo等在嵌入式FPGA上使用8位單元進(jìn)行設(shè)計(jì)。但之前的設(shè)計(jì)主要采用Zynq或者HLS開發(fā),功耗較大。

      本文設(shè)計(jì)了一種基于FPGA的卷積神經(jīng)網(wǎng)絡(luò)加速系統(tǒng)。首先,通過感知量化訓(xùn)練的方法,實(shí)現(xiàn)了將浮點(diǎn)CNN模型的各層權(quán)重和特征圖量化成8比特整型;其次,通過采用單層時(shí)分復(fù)用的方式,設(shè)計(jì)流水線架構(gòu)提高數(shù)據(jù)吞吐率;再次,設(shè)計(jì)基于Cortex-M3的SoC;最后,采用MNIST手寫數(shù)字進(jìn)行方案和功能驗(yàn)證。

      1 卷積神經(jīng)網(wǎng)絡(luò)

      1.1 基本概念

      LeNet-5是一個典型的卷積神經(jīng)網(wǎng)絡(luò)模型,不包含輸入一共有7層。分別為3層卷積層,2層池化層,以及2層全連接層。

      1.2 量化原理

      針對目前CNN模型較大,參數(shù)多且不適合在移動設(shè)備上使用,Google團(tuán)隊(duì)提出了一種量化方案。該方案在推理過程中使用純整。量化方案是量化整數(shù)q到實(shí)數(shù)r的映射,如公式(1)所示:

      其中常數(shù)S和Z是量化參數(shù)。S表示比例系數(shù),是一個任意的正實(shí)數(shù)。Z表示零點(diǎn)。CNN中主要的操作,比如卷積層的卷積,以及全連接層的乘累加,都可以看成是矩陣乘法??紤]實(shí)數(shù)兩個N×N的矩陣r1和r2的乘積r3=r1r2。將每個矩陣ra的項(xiàng)表示為ra(r,j),其中1≤i,j≤N,用qa(r,j)表示量化項(xiàng),根據(jù)矩陣乘法的定義,得到:

      乘以浮點(diǎn)數(shù)M,可以轉(zhuǎn)化成先乘以定點(diǎn)數(shù)M1,再進(jìn)行右移n+31。

      將公式(2)中所有零點(diǎn)Z1,Z2,Z3都設(shè)為0,可以大大簡化推理階段的運(yùn)算。另外將偏置加法和激活函數(shù)合并到其中。比例系數(shù)Sbias=S1S2,零點(diǎn)Zbias=0。由于選用的激活函數(shù)是ReLU,所以只需要將結(jié)果鉗位到[0,255]。

      2 加速系統(tǒng)硬件設(shè)計(jì)

      2.1 整體結(jié)構(gòu)

      本系統(tǒng)采用CPU+FPGA的架構(gòu),包括AHB互聯(lián)矩陣、Cortex-M3處理器、DMA、緊耦合存儲器、雙端口緩存、AHB2APB橋和CNN加速器,如圖1所示。

      圖1 系統(tǒng)框圖

      存儲器部分包含ITCM,DTCM和雙端口RAM。ITCM存放程序鏡像文件;DTCM作為堆棧區(qū);Dual RAM作為權(quán)重?cái)?shù)據(jù),輸入特征圖,以及中間、最終結(jié)果緩存區(qū),一端連接L1級總線,CPU和DMA均可以訪問,另一端連接CNN加速器。

      2.2 CNN加速器設(shè)計(jì)

      CNN加速器設(shè)計(jì)的整體結(jié)構(gòu)如圖2所示,并行方案采用輸出通道和權(quán)重卷積核內(nèi)部并行,同時(shí)計(jì)算6個輸出通道,以及卷積核25個乘法器同時(shí)計(jì)算。

      圖2 CNN加速器整體結(jié)構(gòu)

      特征圖行緩沖的窗口尺寸為5x5,可以通過數(shù)據(jù)選擇器選擇輸入特征圖的寬度。權(quán)重特征圖的行緩沖設(shè)計(jì)同理,由于卷積核均為5x5,所以不需要數(shù)據(jù)選擇器。

      乘累加陣列輸入為25個8位特征圖和25個8位權(quán)重,對應(yīng)相乘后采用加法樹方式累加,最后得到1個位寬為21的有符號數(shù)。

      偏置加法器用于累加偏置或者中間結(jié)果。選擇哪一個是由數(shù)據(jù)選擇器控制,輸出一個32位結(jié)果。

      量化激活模塊包含一個32x32位的乘法器,用于將累加結(jié)果和乘法系數(shù)相乘,再經(jīng)過右移,鉗位到[0,255],經(jīng)過四舍五入得到量化的結(jié)果。

      池化模塊設(shè)計(jì)思路同卷積模塊,采用最大池化。包含3個比較器和一個行緩沖,針對不同層可以選擇不同長度的特征圖,窗口尺寸為2x2。

      3 實(shí)驗(yàn)結(jié)果與分析

      3.1 實(shí)驗(yàn)環(huán)境

      本文采用的FPGA是Xilinx公司的Artix-7XC7A200T芯片,開發(fā)環(huán)境為Vivado 2018.3。卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練和推理采用Pytorch 1.7.1。實(shí)驗(yàn)的數(shù)據(jù)集是MNIST數(shù),CNN模型采用LeNet-5。

      3.2 實(shí)驗(yàn)結(jié)果

      本文的SoC工作的頻率為100MHz,識別一張MNIST圖片的時(shí)間為5.3ms,F(xiàn)PGA的功耗由Vivado的Report Power工具獲得,僅為0.448W。本文處理單幀的時(shí)間比較長,但是功耗是其他文獻(xiàn)的四分之一。由于采用感知量化,識別正確率FPGA實(shí)現(xiàn)和軟件實(shí)現(xiàn)一致,達(dá)到98.2%。實(shí)驗(yàn)結(jié)果對比如表1所示。

      表1 實(shí)驗(yàn)結(jié)果對比

      結(jié)論:為了解決嵌入式設(shè)備上實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)速度慢和功耗大的問題,本文提出了一種卷積神經(jīng)網(wǎng)絡(luò)加速系統(tǒng)。首先對卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行感知量化,得到8比特的權(quán)重、特征值和量化參數(shù)。采用Cortex-M3作為處理器設(shè)計(jì)片上系統(tǒng),大大降低了功耗。本設(shè)計(jì)在Artix-7 Xc7a200T上實(shí)現(xiàn)了LeNet-5。通過MNIST數(shù)據(jù)集,實(shí)驗(yàn)結(jié)果表明本設(shè)計(jì)保持了準(zhǔn)確性,降低了功耗。

      猜你喜歡
      加速器功耗卷積
      輪滑加速器
      化學(xué)工業(yè)的“加速器”
      基于3D-Winograd的快速卷積算法設(shè)計(jì)及FPGA實(shí)現(xiàn)
      全民小康路上的“加速器”
      從濾波器理解卷積
      電子制作(2019年11期)2019-07-04 00:34:38
      基于傅里葉域卷積表示的目標(biāo)跟蹤算法
      揭開GPU功耗的面紗
      個人電腦(2016年12期)2017-02-13 15:24:40
      數(shù)字電路功耗的分析及優(yōu)化
      電子制作(2016年19期)2016-08-24 07:49:54
      等待“加速器”
      “功耗”說了算 MCU Cortex-M系列占優(yōu)
      電子世界(2015年22期)2015-12-29 02:49:44
      长沙县| 衡水市| 宣化县| 旬邑县| 宜君县| 囊谦县| 廊坊市| 芜湖市| 吉林市| 塔河县| 象山县| 嘉祥县| 象州县| 扎囊县| 拜城县| 泽州县| 墨脱县| 台南市| 海原县| 同仁县| 左贡县| 舒兰市| 玉门市| 定远县| 新巴尔虎左旗| 丰镇市| 信阳市| 盐池县| 兴文县| 清原| 大宁县| 双流县| 罗源县| 宁乡县| 潮安县| 克东县| 渭南市| 江门市| 西畴县| 山东| 措勤县|