王 鵬,任軼群,范毓洋,張嘉誠
(中國民航大學(xué)a.民航航空器適航審定技術(shù)重點(diǎn)實(shí)驗(yàn)室;b.電子信息與自動(dòng)化學(xué)院;c.安全科學(xué)與工程學(xué)院,天津 300300)
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)為基礎(chǔ)的計(jì)算機(jī)視覺算法,在汽車自動(dòng)駕駛、無人機(jī)圖像識(shí)別、人體行為識(shí)別等領(lǐng)域有著廣泛的應(yīng)用[1-3],典型的卷積神經(jīng)網(wǎng)絡(luò)有AlexNet、VGGNet、GoogLeNet和ResNet等[4]。為了使CNN網(wǎng)絡(luò)獲得更好的精度,模型引入了更深層次的網(wǎng)絡(luò)架構(gòu),導(dǎo)致正向推理過程所需要的計(jì)算復(fù)雜度增加,邊緣設(shè)備難以高幀率地運(yùn)行CNN網(wǎng)絡(luò)[5]。實(shí)際應(yīng)用中圖像的特征識(shí)別難度不同,一些特征明顯的圖像只需要較少層數(shù)的網(wǎng)絡(luò)即可準(zhǔn)確識(shí)別[6]。為此,動(dòng)態(tài)深度神經(jīng)網(wǎng)絡(luò)[7-9]通過在CNN中插入側(cè)分枝(BranchyNet)分類器,允許交叉熵?fù)p失滿足一定置信度的簡單圖像提前退出,減少不必要的特征提取次數(shù),提升CNN模型在邊緣部署的計(jì)算效率。BranchyNet的加入雖然減少了識(shí)別部分圖像的計(jì)算量,但在邊緣平臺(tái)部署動(dòng)態(tài)深度神經(jīng)網(wǎng)絡(luò)仍面臨計(jì)算量大、算法復(fù)雜度高等問題。
現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array,FPGA)有著強(qiáng)大的并行性,不但可以數(shù)據(jù)并行還可以數(shù)據(jù)流并行,能夠滿足卷積神經(jīng)網(wǎng)絡(luò)的大量并行計(jì)算需求,并且具有低延時(shí)和低功耗的特性,還可以通過硬件適應(yīng)算法的特性[10],設(shè)計(jì)針對(duì)特殊算法的加速電路。因此,FPGA可以很好地契合動(dòng)態(tài)深度神經(jīng)網(wǎng)絡(luò)在邊緣部署的需求。在FPGA加速神經(jīng)網(wǎng)絡(luò)方面,Venieris等人[11]采用同步數(shù)據(jù)流架構(gòu)(Synchronous Dataflow Model)設(shè)計(jì)了一種將CNN模型計(jì)算任務(wù)映射到FPGA平臺(tái)的流水處理方法,為了避免因數(shù)據(jù)缺失而導(dǎo)致流水線停頓,將需要加速的CNN模型權(quán)重和各層之間的特征圖全部緩存到片上,但因?yàn)槠蟽?nèi)存受限,此類方法只能適用于規(guī)模較小的CNN模型。……