• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于幀間數(shù)據(jù)復(fù)用的稀疏CNN 加速器設(shè)計

    2023-12-16 10:29:08洪起潤
    計算機工程 2023年12期
    關(guān)鍵詞:加速器差分運算

    洪起潤,王 琴

    (上海交通大學(xué) 電子信息與電氣工程學(xué)院,上海 200240)

    0 概述

    近年來,隨著人工智能研究的熱潮興起,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)憑借其強大的特征提取和表征學(xué)習能力,在圖像識別領(lǐng)域占據(jù)了主導(dǎo)地位,并在視頻監(jiān)控、目標檢測、目標追蹤等視頻應(yīng)用中也得到了廣泛的應(yīng)用。然而,CNN模型計算復(fù)雜度高、參數(shù)過于冗余的特點極大增加了計算規(guī)模和存儲需求。研究表明,面向視頻應(yīng)用的CNN 模型具有數(shù)十億級的計算量以及數(shù)百萬級的參數(shù)[1-3]。

    視頻應(yīng)用對實時性要求較高,這對CNN 模型在資源受限的計算平臺上進行前向推理提出了巨大挑戰(zhàn)。為了得到緊湊、高效的網(wǎng)絡(luò)模型,研究人員已經(jīng)在神經(jīng)網(wǎng)絡(luò)量化領(lǐng)域展開了大量的研究。線性量化使用量化后的數(shù)據(jù)直接進行計算,是低精度量化的主要方法。文獻[4-6]通過量化感知訓(xùn)練(Quantization Aware Training,QAT)來對模型進行線性量化,并且都使用了直通估計器(Straight-Through Estimator,STE)來近似梯度,解決因四舍五入運算梯度為零導(dǎo)致反向傳播的梯度為零而無法訓(xùn)練的問題。文獻[7]提出逐元素梯度縮放(Element-Wise Gradient Scaling,EWGS)來替代STE,優(yōu)化STE 近似梯度存在的問題。

    目前對單幀圖像的前向推理計算進行加速的神經(jīng)網(wǎng)絡(luò)加速器研究取得了很大的進展[8-10],這些工作在視頻應(yīng)用中只對單幀圖像空間維度上的數(shù)據(jù)進行了復(fù)用,而沒有對連續(xù)幀時間維度上的數(shù)據(jù)進行復(fù)用。近年來,一些研究利用幀間數(shù)據(jù)的相似性來解決現(xiàn)有的加速器對視頻應(yīng)用加速效果差的問題。文獻[11]通過對輸入激活進行線性量化來增加差分幀的稀疏性,從而減少計算量和訪存次數(shù)。文獻[12]提出使用混合精度來表示幀間數(shù)據(jù)的處理器架構(gòu),分別使用4 bit 和8 bit 來表示值比較小的密集數(shù)據(jù)和值比較大的稀疏數(shù)據(jù)。上述工作都是基于ASIC 實現(xiàn)利用幀間數(shù)據(jù)復(fù)用來對視頻任務(wù)進行加速處理。目前基于現(xiàn)場可編程門陣列(FPGA)實現(xiàn)的研究較少。文獻[13]基于FPGA 平臺,使用Winograd 算法來減小卷積算子的計算復(fù)雜度,利用幀間數(shù)據(jù)的相似性,跳過差分幀中小于所設(shè)置閾值的數(shù)據(jù)塊計算來加速計算。然而,該計算方式中閾值的存在限制了加速器的加速效果,閾值設(shè)置過高將導(dǎo)致模型精度損失較大。

    目前已有不少基于FPGA 平臺利用數(shù)據(jù)稀疏性來加速CNN 處理的研究工作[14-16]。Winograd 快速卷積算法可以降低卷積運算的復(fù)雜度,文獻[17-19]使用Winograd 快速卷積算法來替代直接卷積算法,并且將稀疏性應(yīng)用于Winograd 算法,在FPGA 平臺上進行了實現(xiàn)。

    本文對CNN 的低精度量化方法進行分析,研究視頻應(yīng)用中基于幀間數(shù)據(jù)復(fù)用的稀疏化數(shù)據(jù)流方案,提出一種輸入通道位圖壓縮的方案來同時利用激活和權(quán)重的稀疏性。在此基礎(chǔ)上基于FPGA 平臺設(shè)計一個高能效的稀疏CNN 加速器,并以YOLOv3-tiny 網(wǎng)絡(luò)為例進行實驗驗證。

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

    1.1 幀間數(shù)據(jù)復(fù)用的卷積神經(jīng)網(wǎng)絡(luò)

    卷積神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)由卷積層、池化層和全連接層組成,其中卷積層是卷積神經(jīng)網(wǎng)絡(luò)的最關(guān)鍵模塊,也是計算量最大、時間消耗最多的部分。卷積層包括卷積、批歸一化(Batch Normalization,BN)和激活函數(shù)。卷積運算過程如式(1)所示:

    卷積運算參數(shù)定義如表1 所示。

    表1 卷積運算參數(shù)定義Table 1 Definition of convolution operation parameters

    為了復(fù)用幀間數(shù)據(jù),加速器同時對批次為B的連續(xù)幀進行運算,需要對前后兩幀進行差分運算,得到差分幀,然后用差分幀進行卷積運算。因此除了第1 幀使用原始數(shù)據(jù)進行卷積運算外,該批次后續(xù)幀都使用差分幀數(shù)據(jù)進行卷積運算。傳統(tǒng)計算方式與幀間數(shù)據(jù)復(fù)用計算方式對比如圖1 所示。由于卷積運算為線性運算,因此在運算前先進行差分運算得到差分幀激活ΔXb,然后對差分幀ΔXb進行卷積運算,再將差分幀運算結(jié)果ΔYb與上一幀結(jié)果Y(b-1)進行累加恢復(fù)得到當前幀的卷積運算結(jié)果Yb,該結(jié)果與直接使用當前幀的原始數(shù)據(jù)進行卷積運算得到的結(jié)果是等價的。而激活函數(shù)如ReLU 等為非線性運算,因此需要在非線性激活函數(shù)運算前恢復(fù)得到當前幀的卷積結(jié)果。

    圖1 幀間數(shù)據(jù)復(fù)用計算方式Fig.1 Inter-frame data reuse computation mode

    幀間數(shù)據(jù)復(fù)用卷積計算過程如式(2)所示:

    1.2 Winograd 算法

    使用Winograd 算法可以降低卷積算子的計算復(fù)雜度,從而加速卷積運算[20]。定義F(m×n,r×s)為輸出尺寸為m×n、卷積核尺寸為r×s的卷積運算過程,該卷積運算過程使用Winograd 算法計算需要的乘法次數(shù)μ如式(3)所示:

    以F(2×2,3×3)為例,二維Winograd 算法的矩陣形式如式(4)所示:

    其中:向量矩陣g和d分別為3×3 的卷積核權(quán)重以及4×4 的輸入圖像塊。Winograd 轉(zhuǎn)換方程的參數(shù)矩陣BT、G、AT如式(5)所示:

    本文采用F(2×2,3×3)來計算3×3 的卷積核,由式(4),對4×4 的輸入圖像塊和3×3 的卷積核分別進行BTdB參數(shù)轉(zhuǎn)換計算和GgGT參數(shù)轉(zhuǎn)換計算,矩陣維度都變成4×4。因此,進行一次二維Winograd運算過程,即兩個4×4 大小的矩陣點乘運算所需乘法次數(shù)為16。對于3×3 的卷積核運算,一個輸出所需乘法次數(shù)為9 次,因此使用直接卷積的計算方式計算2×2 大小的輸出所需乘法次數(shù)為3×3×2×2=36。使用Winograd 算法來計算3×3 卷積的乘法次數(shù)由36 次減少到16 次,計算復(fù)雜度降低了2.25 倍。

    2 量化方法

    2.1 BN 層融合

    BN 層用來緩解數(shù)據(jù)分布在訓(xùn)練中出現(xiàn)的偏移問題,可以加快訓(xùn)練的收斂速度并且提高模型的泛化能力[21]。BN 層的計算過程如式(6)所示:

    其中:xi為i輸出通道的卷積結(jié)果;yi為i輸出通道的BN層輸出結(jié)果;μ和σ2分別為當前批次的均值和方差;γ和β分別為尺度因子和偏置;ε為防止分母為0所添加的很小的正數(shù)。

    本文將卷積層與BN 層進行了融合操作,減少了前向推理時BN 層計算的延時和硬件資源消耗。卷積層與BN 層融合后的權(quán)重和偏置如式(7)所示:

    其中:W和B分別為融合前卷積層的權(quán)重和偏置。

    2.2 網(wǎng)絡(luò)量化

    使用更低位寬來表示激活數(shù)據(jù)可以顯著增加差分幀的稀疏度。因此,對神經(jīng)網(wǎng)絡(luò)進行低精度量化可以更充分地復(fù)用幀間數(shù)據(jù)。線性量化公式及反量化公式如式(8)所示:

    其中:v是待量化的浮點數(shù)據(jù);是量化后的數(shù)據(jù)是反量化后的數(shù)據(jù);s是量化因子;QN和QP分別是量化的最小值與最大值;clip(x,cmin,cmax)函數(shù)截取超出[cmin,cmax]的值;round(x)函數(shù)返回最靠近x的整數(shù)。

    本文基于可學(xué)習的步長量化(Learned Step size Quantization,LSQ)[6]方法對網(wǎng)絡(luò)模型進行量化,實現(xiàn)了一個硬件更友好的全整形量化方法,將激活和權(quán)重位寬都量化到了4 bit。與其他量化方法根據(jù)先驗數(shù)據(jù)的最大最小值來確定量化因子s不同,LSQ 量化將s當作可學(xué)習的參數(shù)加入到網(wǎng)絡(luò)訓(xùn)練中,通過訓(xùn)練來尋找最合適的量化因子。量化因子s的梯度如式(9)所示:

    直接使用LSQ 方法得到的量化因子需要在硬件實現(xiàn)中使用乘法器或者DSP 來進行量化和反量化操作,不利于硬件執(zhí)行。因此,本文提出了對量化因子進行2 的冪次(Power-of-Two,PoT)約束來優(yōu)化量化方法,在硬件實現(xiàn)時直接使用移位器來完成量化和反量化操作,對硬件執(zhí)行更友好。

    本文提出的對量化因子進行PoT 約束的計算如式(10)所示:

    其中:sPoT為PoT 約束后的量化因子。

    對量化因子進行PoT 約束優(yōu)化后,本文使用的量化和反量化公式如式(11)所示:

    由于?lbssPoT=sPoTln 2,經(jīng)過優(yōu)化后,本文在量化感知訓(xùn)練中所使用的量化因子的梯度如式(12)所示:

    3 加速器設(shè)計

    3.1 基于幀間數(shù)據(jù)復(fù)用的稀疏數(shù)據(jù)流方案

    對三維卷積計算按照不同的循環(huán)順序進行展開決定了加速器的數(shù)據(jù)流方案。文獻[22]基于空間上的數(shù)據(jù)復(fù)用對不同數(shù)據(jù)流方案進行了討論,目前在結(jié)合幀間數(shù)據(jù)復(fù)用和Winograd 算法的稀疏數(shù)據(jù)流方案上的研究工作很少。文獻[13]提出了結(jié)合幀間數(shù)據(jù)復(fù)用和Winograd 算法的稠密數(shù)據(jù)流方案,本文在其基礎(chǔ)上提出了針對本文稀疏壓縮方案的稀疏數(shù)據(jù)流。本文提出的結(jié)合幀間數(shù)據(jù)復(fù)用和Winograd 算法的稀疏數(shù)據(jù)流簡化示意圖如圖2 所示,采用F(2×2,3×3)的Winograd 算法來計算3×3 卷積,因此式(3)中的矩陣點積運算的維度為4×4,一個Winograd 塊的乘法數(shù)量為16。一個Winograd 塊要求的輸入特征圖尺寸為4×4,對于3×3 卷積,輸入特征圖的移動步長為2,因此重疊區(qū)域為2。由于1×1 卷積就是點積計算,因此對于1×1 卷積,一個卷積塊的輸入特征圖塊大小為4×4,并且移動步長為4,不存在重疊區(qū)域。由圖2 可知,在3×3 卷積的輸入特征圖塊進行Winograd 轉(zhuǎn)換之后與1×1 卷積的輸入特征圖塊一樣都是無重疊區(qū)域的4×4 大小的塊,因此3×3 卷積和1×1 卷積在計算單元中的數(shù)據(jù)維度相同,可以使用相同的稀疏數(shù)據(jù)處理路徑和同一個計算單元完成乘累加運算。但是3×3 卷積運算結(jié)果進行Winograd 轉(zhuǎn)換后輸出維度為2×2,而1×1 卷積運算輸出維度為4×4,它們的輸入輸出數(shù)據(jù)路徑不完全相同,因此在運行時需要根據(jù)配置的卷積核尺寸參數(shù)選擇相應(yīng)的輸入輸出路徑。

    圖2 稀疏數(shù)據(jù)流簡化示意圖Fig.2 Schematic diagram of sparse data flow simplification

    由于FPGA 的片上硬件資源和存儲資源有限,本文對輸入特征圖進行分塊處理。一個塊內(nèi)的輸入特征圖可以共享權(quán)重數(shù)據(jù),實現(xiàn)對權(quán)重數(shù)據(jù)的復(fù)用,從而減少權(quán)重數(shù)據(jù)的多次搬運。每個特征圖塊的寬度和高度分別為Wt和Ht,每個特征圖塊中Winograd塊的數(shù)目分別為TW和TH。在并行方式上,一個Winograd 塊中的矩陣點積操作并行計算,并行度為16。為了充分復(fù)用輸入特征圖數(shù)據(jù),本文在輸出通道上進行了并行展開,并行度設(shè)置為OC。為了壓縮輸入通道方向上的稀疏數(shù)據(jù)以及充分利用部分和累加結(jié)果,本文在數(shù)據(jù)加載時并行載入多個輸入通道的數(shù)據(jù),并行度設(shè)置為IC。對輸入通道進行壓縮之后,計算時仍然按照單個輸入通道進行計算,因此計算單元的并行度為16×OC。單層一個批次輸入特征圖的Winograd 塊的數(shù)量計算公式如式(13)所示:

    3.2 稀疏數(shù)據(jù)表示格式

    稀疏數(shù)據(jù)常用的表示格式有壓縮稀疏行/列、坐標(Coordinate,COO)和位圖(Bitmap,BM)等。其中位圖格式相比其他方式只使用單比特來表示數(shù)據(jù)是否有效,存儲資源更少,索引效率更高。本文使用位圖格式來表示權(quán)重數(shù)據(jù)和激活數(shù)據(jù)是否有效,同時利用權(quán)重和激活的稀疏性來最大化跳過無效的零值計算。假定二維矩陣的大小為Wb×IC,稀疏數(shù)據(jù)表示格式如圖3 所示。

    圖3 位圖稀疏數(shù)據(jù)的表示格式Fig.3 Representation format of bitmap sparse data

    對于3×3 卷積,本文的位圖稀疏針對的是Winograd 轉(zhuǎn)換之后的數(shù)據(jù),對于1×1 卷積則是對原始數(shù)據(jù)使用位圖稀疏。激活數(shù)據(jù)在計算時動態(tài)生成,因此激活位圖在片上動態(tài)生成,權(quán)重數(shù)據(jù)在訓(xùn)練完成之后就已經(jīng)固定,則權(quán)重位圖離線生成。為了索引方便,權(quán)重數(shù)據(jù)和激活數(shù)據(jù)的存儲仍然按照稠密格式存儲。由于Winograd 塊的大小為4×4,因此Wb=16。本文提出了針對并行度為IC 的輸入通道位圖壓縮稀疏方案,通過跳過無效輸入通道的計算來加速卷積運算。假設(shè)Wb=2、IC=8、OC=2,稀疏方案示意圖如圖4 所示。

    圖4 輸入通道位圖壓縮方案Fig.4 Bitmap compression scheme of input channel

    激活位圖與對應(yīng)的權(quán)重進行相與后得到激活和權(quán)重同時有效的位圖矩陣,之后通過索引電路找到有效輸入通道的索引。

    3.3 加速器整體架構(gòu)

    加速器整體架構(gòu)如圖5所示。加速器與主存通過AXI 接口進行數(shù)據(jù)傳輸,通過AXI-Lite 接口來配置加速器的工作模式以及獲取加速器的工作狀態(tài)。加速器的關(guān)鍵模塊包括控制器、緩存單元、Winograd 轉(zhuǎn)換單元、數(shù)據(jù)預(yù)處理單元、計算單元、幀數(shù)據(jù)恢復(fù)單元和差分幀計算單元等。Winograd轉(zhuǎn)換單元在計算3×3卷積時完成激活數(shù)據(jù)從原始域到Winograd域的轉(zhuǎn)換以及完成結(jié)果數(shù)據(jù)從Winograd 域到原始域的轉(zhuǎn)換,在計算1×1卷積時則跳過Winograd轉(zhuǎn)換過程。幀數(shù)據(jù)恢復(fù)單元將計算出的當前差分幀卷積結(jié)果與緩存的上一幀卷積結(jié)果進行累加運算恢復(fù)出當前幀的卷積結(jié)果。差分幀計算單元將當前幀輸出特征圖與緩存的上一幀輸出特征圖進行差分運算,計算下一層網(wǎng)絡(luò)所需要的差分幀特征圖以便復(fù)用幀間數(shù)據(jù)進行加速處理。

    圖5 加速器整體架構(gòu)Fig.5 Overall architecture of accelerator

    3.3.1 緩存單元

    加速器中的緩存單元包括權(quán)重位圖緩存、權(quán)重緩存、輸入激活緩存、偏置項緩存、部分和緩存、參考幀數(shù)據(jù)緩存以及輸出緩存等多個緩存單元。其中權(quán)重位圖緩存一次性緩存了當前層的所有權(quán)重位圖數(shù)據(jù),偏置項緩存存儲了所有層的偏置數(shù)據(jù)。權(quán)重緩存、輸入激活緩存和輸出緩存都使用了乒乓結(jié)構(gòu)來提高數(shù)據(jù)傳輸?shù)男?。所有的緩存單元都使用了FPGA 上的BRAM 資源來實現(xiàn)。

    3.3.2 稀疏處理單元

    稀疏處理單元用來實現(xiàn)所提出的輸入通道位圖壓縮的稀疏方案。激活數(shù)據(jù)的位圖生成模塊根據(jù)Winograd 轉(zhuǎn)換后的數(shù)據(jù)或者原始數(shù)據(jù)生成16 個長度為IC的激活位圖數(shù)據(jù),并將激活位圖與權(quán)重位圖進行與運算后得到16×OC個長度為IC的位圖,將這些位圖送入到有效項數(shù)目計算模塊中求出16×OC個有效輸入通道的數(shù)目,然后將這些數(shù)據(jù)送入到求最大值電路中求出有效輸入通道的最大值。前導(dǎo)1 位置檢測電路(Leading One Position Detector,LOPD)對長度為IC的位圖進行檢測,找到有效輸入通道的位置并將位置索引送入到激活和權(quán)重選擇模塊,由激活和權(quán)重選擇模塊選擇有效的激活數(shù)據(jù)和權(quán)重數(shù)據(jù)送入計算單元中進行計算。

    由于需要求出有效輸入通道的最大值之后才能確定何時更新下一次輸入通道的數(shù)據(jù),因此即使輸入數(shù)據(jù)全部為無效數(shù)據(jù),仍然需要消耗一定的時鐘周期來完成判定。

    3.3.3 計算單元

    計算單元為PE 并行單元的陣列,每個PE 單元完成4×4 的點積操作,因此每個PE 單元包括16 個乘累加(Multiply-Accumulate,MAC)單元和1 個部分和緩存單元,MAC 完成激活和權(quán)重的點積運算以及在輸入通道方向上的累加運算,部分和緩存單元緩存一個特征圖分塊的中間結(jié)果。PE 單元每個時鐘周期完成一個Winograd 塊的計算,并行MAC 數(shù)量為16,計算單元的并行PE 單元數(shù)量為OC,因此加速器總的并行MAC 數(shù)量為16×OC。

    4 實驗與結(jié)果分析

    4.1 實驗環(huán)境

    本文算法實驗基于PyTorch 框架在RTX3090 GPU 上進行,使用的網(wǎng)絡(luò)為YOLOv3-tiny,網(wǎng)絡(luò)量化使用的數(shù)據(jù)集為ILSVRC2015 VID 部分數(shù)據(jù)集和DAC2020 數(shù)據(jù)集,使用平均精度均值(mean Average Precision,mAP)作為準確率的指標。分塊大小設(shè)置為Wt=Ht=12,輸入圖像大小設(shè)置為384×384 像素。硬件平臺為Xilinx KC705,加速器在Vivado 2020.2軟件平臺上完成綜合與實現(xiàn)。設(shè)置參數(shù)batch 為16,OC=16、IC=16,加速器消耗的FPGA 資源如表2 所示。由于激活和權(quán)重位寬都量化到了4 bit,因此為了降低功耗,計算單元直接使用LUT 表來實現(xiàn)乘累加運算,而不是使用DSP 實現(xiàn)。

    表2 加速器消耗的FPGA 資源Table 2 FPGA resources consumed by accelerator

    4.2 結(jié)果分析

    4.2.1 網(wǎng)絡(luò)低精度量化

    使用所提出的低精度量化方法對YOLOv3-tiny網(wǎng)絡(luò)進行量化,ILSVRC2015 VID 部分數(shù)據(jù)集和DAC2020 數(shù)據(jù)集在4 bit 整形量化后的mAP 損失結(jié)果分別如表3 所示。

    表3 4 bit 全整形量化后的mAP 損失結(jié)果Table 3 mAP loss with 4 bit full integer quantization %

    表3 中的數(shù)據(jù)表明使用所提出的低精度量化方法將權(quán)重和激活位寬都量化到了4 bit,所使用的數(shù)據(jù)集的mAP 損失都小于2%。

    使用ILSVRC2015 VID 數(shù)據(jù)集進行分析,輸入特征圖量化為4 bit 后各個卷積層差分幀與原始幀的稀疏度變化如圖6 所示。從圖6 可以看出,差分幀的整體稀疏度為80%,與原始幀的整體稀疏度相比有23%的提升。

    圖6 4 bit 差分幀與原始幀的稀疏度Fig.6 Sparsity between 4 bit diff-frame and raw-frame

    4.2.2 加速器性能

    本文使用ILSVRC2015 VID 數(shù)據(jù)集來驗證加速器的性能。本文的加速器設(shè)計結(jié)合了Winograd 算法、幀間數(shù)據(jù)復(fù)用、利用數(shù)據(jù)的稀疏性跳過無效數(shù)據(jù)的計算等多種優(yōu)化方法,因此對不同優(yōu)化方法的組合對性能的提升效果進行了探究,結(jié)果如圖7 所示。由圖7 可知,使用Winograd 算法后性能相比Baseline提高了2.14 倍,接近2.25 倍的理論性能提升。采用所提方案設(shè)計的加速器性能與原始方法的性能相比具有6.4 倍的提升。

    圖7 不同優(yōu)化方案的性能Fig.7 Performance of different optimization mchemes

    輸入通道并行度IC的大小決定了對稀疏數(shù)據(jù)的利用率,對加速器的性能具有很大的影響。本文對不同輸入通道并行度下的性能和稀疏度進行了探究,結(jié)果如圖8 所示。對IC設(shè)置的過小則無法充分利用數(shù)據(jù)的稀疏性,導(dǎo)致性能受限。同時,IC受到數(shù)據(jù)傳輸帶寬的限制無法設(shè)置過大,雖然在IC為32 時具有更高的稀疏度和性能,但是受限于加速器帶寬,本文設(shè)置IC為16。

    圖8 不同輸入通道下的性能和稀疏度Fig.8 Performance and sparsity with different input channels

    本文所設(shè)計的加速器的性能和功耗及其與目前基于FPGA 的其他加速器對比結(jié)果如表4所示。本文方案在運行頻率為200 MHz 的條件下實現(xiàn)了814.2×109operation/s 的性能以及201.1×109operation/s/W 的能效 比。與其他使用YOLOv3-tiny 網(wǎng)絡(luò)的加速器相比,本文提供了1.77~8.99 倍的性能提升以及1.91~5.56 倍的能效比提升。

    表4 基于YOLOv3-tiny 的加速器性能比較Table 4 Performance comparison with accelerators based on YOLOv3-tiny

    5 結(jié)束語

    本文設(shè)計一個基于幀間數(shù)據(jù)復(fù)用的高能效稀疏卷積神經(jīng)網(wǎng)絡(luò)加速器。該加速器通過量化感知訓(xùn)練的方式對網(wǎng)絡(luò)進行低精度量化,使用Winograd 算法降低CNN 的計算復(fù)雜度,并通過差分幀的方式增加輸入特征圖的稀疏度,在此基礎(chǔ)上提出輸入通道位圖壓縮方法跳過無效輸入通道的計算。實驗結(jié)果表明,本文所設(shè)計的高能效稀疏CNN 加速器在性能和能效上都優(yōu)于同類型的加速器。后續(xù)將進一步研究如何提高激活的稀疏度,并提出相應(yīng)的方法優(yōu)化負載平衡及提高計算單元的利用率,進一步提升加速器的性能和能效比。

    猜你喜歡
    加速器差分運算
    輪滑加速器
    化學(xué)工業(yè)的“加速器”
    重視運算與推理,解決數(shù)列求和題
    數(shù)列與差分
    全民小康路上的“加速器”
    少先隊活動(2021年6期)2021-07-22 08:44:24
    有趣的運算
    “整式的乘法與因式分解”知識歸納
    撥云去“誤”學(xué)乘除運算
    等待“加速器”
    基于差分隱私的大數(shù)據(jù)隱私保護
    罗定市| 额尔古纳市| 石狮市| 江门市| 清涧县| 资讯 | 阳泉市| 罗田县| 卓尼县| 永昌县| 台东县| 三穗县| 汝州市| 许昌县| 曲阜市| 禹城市| 斗六市| 堆龙德庆县| 灵寿县| 乌鲁木齐县| 宜兰市| 宁德市| 鹤岗市| 页游| 昭通市| 郴州市| 中阳县| 凤山市| 南汇区| 会昌县| 剑河县| 景洪市| 南涧| 七台河市| 湖南省| 金溪县| 利辛县| 富民县| 石家庄市| 娄底市| 庆元县|