• 
    

    
    

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

      面向移動端的目標(biāo)檢測優(yōu)化研究

      2022-12-22 11:45:38韓晶晶劉江越公維軍魏宏楊錢育蓉
      計算機(jī)工程與應(yīng)用 2022年24期
      關(guān)鍵詞:剪枝張量輕量化

      韓晶晶,劉江越,公維軍,魏宏楊,錢育蓉

      1.新疆大學(xué) 信號檢測與處理重點實驗室,烏魯木齊 830046

      2.新疆大學(xué) 軟件學(xué)院,烏魯木齊 830091

      3.新疆大學(xué) 信息科學(xué)與工程學(xué)院,烏魯木齊 830046

      4.烏魯木齊職業(yè)大學(xué) 實訓(xùn)中心,烏魯木齊 830004

      5.新疆大學(xué) 軟件工程重點實驗室,烏魯木齊 830000

      目前,受益于計算機(jī)運算性能的提升、神經(jīng)網(wǎng)絡(luò)模型的發(fā)展以及便捷的數(shù)據(jù)獲取方式,目標(biāo)檢測技術(shù)在人臉識別[1]、智能監(jiān)控、自動駕駛、游戲娛樂等領(lǐng)域都取得了突破性進(jìn)展。小到日常的衣食住行,大到批量化工業(yè)生產(chǎn),目標(biāo)檢測技術(shù)帶來的影響無處不在[2]。目標(biāo)檢測已不滿足于僅在云端進(jìn)行復(fù)雜數(shù)據(jù)運算和推理,逐漸開始向有實時檢測需求的移動端遷移,如智能手機(jī)、車載電腦、智能傳感器等。

      目標(biāo)檢測采用的深度神經(jīng)網(wǎng)絡(luò)[3](deep neural net‐works,DNN)雖然賦予了網(wǎng)絡(luò)從大量數(shù)據(jù)中學(xué)習(xí)更高級特征的能力,但也使得檢測模型結(jié)構(gòu)越來越復(fù)雜,對硬件設(shè)備的運算能力和存儲空間的依賴愈發(fā)嚴(yán)重[4]。因此,如何在保持模型較高精度的前提下對目標(biāo)檢測進(jìn)行優(yōu)化,降低其內(nèi)存需求和計算成本,已成為將目標(biāo)檢測向移動端遷移時首當(dāng)其沖的一大課題。

      近些年來,在目標(biāo)檢測優(yōu)化領(lǐng)域各種優(yōu)化算法層出不窮,除了不同的解決思路外,每條解決思路也蘊含著無數(shù)種方案[5],這對移動端目標(biāo)檢測優(yōu)化研究具有極大的借鑒意義。由此,本文從算法角度介紹了適用于移動端的目標(biāo)檢測優(yōu)化方法,并對相關(guān)方法進(jìn)行了分析,主要貢獻(xiàn)可歸納如下:

      (l)從卷積結(jié)構(gòu)的設(shè)計入手,闡述了基于手工和AutoML的目標(biāo)檢測網(wǎng)絡(luò)輕量化方法,并借助參數(shù)量、精度、時延等指標(biāo)進(jìn)行了性能對比。

      (2)從壓縮手段入手,按照壓縮方法的不同闡述了三種目標(biāo)檢測模型壓縮方法,并從不同維度討論了每種壓縮方法的特點與不足。

      (3)從市場角度闡述了國內(nèi)移動端目標(biāo)檢測的產(chǎn)業(yè)化現(xiàn)狀,并就該領(lǐng)域優(yōu)化研究的潛在問題和發(fā)展方向展開了討論,為后續(xù)研究提供參考。

      1目 標(biāo)檢測的研究現(xiàn)狀及優(yōu)化方向

      1.1 目標(biāo)檢測的研究現(xiàn)狀

      縱觀近年來的研究成果,目標(biāo)檢測主要有兩個研究思路:一是手工提取特征,二是利用卷積網(wǎng)絡(luò)自動提取特征。在深度學(xué)習(xí)出現(xiàn)之前,研究人員通常借助特征提取器手動進(jìn)行特征提取以解決此類問題,但這些手工方法普遍操作繁瑣且難以解決復(fù)雜的非線性映射問題。其后,Hinton等人[6]提出了深度學(xué)習(xí)這一機(jī)器學(xué)習(xí)的分支算法,引入多層映射的概念,極大地推動了目標(biāo)檢測的發(fā)展,在神經(jīng)網(wǎng)絡(luò)普遍不被看好的年代將這一技術(shù)帶進(jìn)了主流學(xué)術(shù)界。

      基于手工提取特征的目標(biāo)檢測方法高度依賴于特定領(lǐng)域的先驗知識,常見的特征有Haar[7]、SIFT[8]、LBP[9]、PCA-SIFT[10]、SURF[11]等,如圖1所示。2004年,Viola和Jones[12]基于AdaBoost[13]借助Haar-like特征提出了影響深遠(yuǎn)的人臉檢測器(V&J)。2005年,Dalal和Triggs[14]提出了基于支持向量機(jī)[15]統(tǒng)計局部圖像的梯度方向信息的梯度直方圖(histogram of oriented gradient,HOG)。2010年,F(xiàn)elzenszwalb等人[16]通過研究HOG特征提出使用可形變模型[17](deformable part model,DPM)解決物體形變問題,后續(xù)又提出了利用級聯(lián)分類器[18]來加速檢測的研究[19]。傳統(tǒng)的檢測方法主要依靠滑動窗口遍歷來確定目標(biāo)位置,時間復(fù)雜度與操作冗余度較高,且特征提取的魯棒性較差,極易導(dǎo)致檢測性能下降。隨著深度學(xué)習(xí)理論的完善,傳統(tǒng)檢測算法逐漸被取代,但其滑動窗口等先進(jìn)理論仍被保留了下來。

      圖1 目標(biāo)檢測方法的發(fā)展里程碑Fig.1 Development milestones of object detection methods

      20世紀(jì)60年代,Hubel和Wiesel通過研究貓的視覺皮層提出了感受野的概念。此后,日本學(xué)者Fukushima基于感受野的概念提出了神經(jīng)認(rèn)知機(jī),首次實現(xiàn)了利用卷積神經(jīng)網(wǎng)絡(luò)識別簡單的圖像,自此神經(jīng)網(wǎng)絡(luò)的思想逐步成熟。1998年,Krizhevsky等人[20]嘗試將神經(jīng)網(wǎng)絡(luò)用于圖像處理,但受到計算性能的制約而陷入了瓶頸。2012年,Hinton等人[21]在ImageNet比賽中提出了特征提取能力較強的AlexNet網(wǎng)絡(luò),卷積神經(jīng)網(wǎng)絡(luò)自此成為目標(biāo)檢測領(lǐng)域的核心算法。2015年,He等人[22]使用殘差結(jié)構(gòu)解決深度學(xué)習(xí)中的過擬合問題,使得卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)檢測任務(wù)中的優(yōu)勢愈加明顯。經(jīng)過長期發(fā)展,基于深度學(xué)習(xí)的目標(biāo)檢測方法逐漸衍生出兩個流派:(1)R-CNN系列的兩階段算法;(2)YOLO系列、SSD系列的一階段算法。

      1.1.1 兩階段目標(biāo)檢測算法

      最初被廣泛接受的兩階段目標(biāo)檢測算法是由Girshick等人提出的R-CNN[23],通過在網(wǎng)絡(luò)中引入統(tǒng)一大小的候選框來搜索感興趣的目標(biāo)區(qū)域,但其對候選區(qū)域進(jìn)行固定尺寸縮放的過程極易導(dǎo)致圖像的信息缺失。針對此類問題,2014年He等人[24]為能夠任意比例地提取特征提出了在網(wǎng)絡(luò)卷積與全連接層間加入空間金字塔池化(spatial pyramid pooling,SPP)結(jié)構(gòu)的SPP-Net網(wǎng)絡(luò)。盡管SPP-Net相比傳統(tǒng)CNN算法來說檢測精準(zhǔn)度有所提高,但其利用候選框提取并存儲特征占用的空間較大。之后,結(jié)合R-CNN與SPP-Net的特性,Girshick等人[25]提出了Fast R-CNN,在網(wǎng)絡(luò)最后一層采用對感興趣區(qū)域(region of interest,RoI)池化代替SPP-Net的金字塔池化來獲取固定尺寸的特征,但其網(wǎng)絡(luò)結(jié)構(gòu)高度依賴選擇性搜索生成候選區(qū),性能耗費依然較高。為解決該問題,Ren等人[26]提出使用區(qū)域生成網(wǎng)絡(luò)(region pro‐posal network,RPN)來代替選擇搜索算法的Faster RCNN,并且針對目標(biāo)物體尺寸不一的問題在特征圖上使用了不同形狀、不同大小的選框(anchor box)機(jī)制,但其對小目標(biāo)的檢測效果并不理想?;贔aster R-CNN,Lin等人[27]提出了一種多尺度特征金字塔(feature pyra‐mid network,F(xiàn)PN)網(wǎng)絡(luò),實現(xiàn)了自頂向下的特征圖融合,有效提升了其對多尺度待測目標(biāo)的檢測效果。之后,He等人[28]提出了使用RoI Align代替RoI Pooling的Mask R-CNN,使特征感受野與原圖感受野信息對齊,在分割和檢測領(lǐng)域均取得了性能提升。

      在上述方法基礎(chǔ)上,近些年還涌現(xiàn)出了大量的兩階段目標(biāo)檢測算法,如Cascade R-CNN[29]、PANet[30]、Cen‐terNet[31]、Dynamic R-CNN[32]、LiDAR R-CNN[33]、Sparse R-CNN[34]、QueryDet[35]等,效果如表1所示。兩階段算法均需預(yù)先生成所有可能包含待檢物體的候選框,再進(jìn)行位置修正與分類,大量地重復(fù)了檢測與分類流程。雖然相較于手工提取特征的傳統(tǒng)目標(biāo)檢測方法的檢測精度有所提高,但其兩階段結(jié)構(gòu)依然嚴(yán)重制約著檢測速度的優(yōu)化[36]。

      表1 經(jīng)典兩階段目標(biāo)檢測算法Table 1 Classic two-stage object detection algorithms

      1.1.2 一階段目標(biāo)檢測算法

      一階段目標(biāo)檢測算法的訓(xùn)練相對簡單,省去了兩階段方法中的區(qū)域建議及預(yù)分類流程,可直接得出物體位置與類別。2016年,Redmon等人[37]最先提出了一階段目標(biāo)檢測算法(you only look once,YOLO),將輸入的圖像分割成多個網(wǎng)格來檢測中心點落在其內(nèi)的物體。YOLO的提出引起了學(xué)術(shù)界的極大關(guān)注,陸續(xù)出現(xiàn)了YOLO v2[38]、YOLO v3[39]、YOLO v4[40]、YOLO v5等改良模型。其中,YOLO v2采用k-means聚類算法對邊界框進(jìn)行聚類,并借助批量正則化和高分辨率分類器來平衡速度與精度。YOLO v3去除了池化層,使用更深層的骨干網(wǎng)絡(luò)來提取圖像特征,并且使用多標(biāo)簽分類以處理標(biāo)簽重疊的復(fù)雜數(shù)據(jù)。YOLO v4結(jié)合特征金字塔和聚合網(wǎng)絡(luò)機(jī)制,借助Mish激活函數(shù)、Mosaic數(shù)據(jù)增強、DropBlock正則化等優(yōu)化技巧獲得了全方位性能提升。同年,Liu等人[41]結(jié)合YOLO檢測速度和Faster R-CNN定位精度的優(yōu)勢提出了適于小目標(biāo)物體檢測的SSD模型。此后,DSSD[42]、FSSD[43]等基于SSD的模型陸續(xù)出現(xiàn)。其中,DSSD基于更深層的ResNet-101骨干網(wǎng)絡(luò)進(jìn)行特征提取,引入殘差單元來優(yōu)化檢測分類,并借助反卷積模塊進(jìn)行特征圖融合,在小目標(biāo)檢測上取得了性能提升。FSSD融合了SSD與特征金字塔的思想,將淺層的表象特征與高層的語義特征相融合,降低了重復(fù)檢測同一目標(biāo)或?qū)⒍鄠€目標(biāo)檢測為單個的概率。

      除上述經(jīng)典的一階段目標(biāo)檢測算法外,近些年還涌現(xiàn)出了YOLOX[44]、YOLOF[45]、PP-YOLOE[46]等,效果如表2所示。一階段算法不僅無須選框推薦,還可在同一階段獲取物體的位置與類別,在訓(xùn)練速度和推理速度上明顯優(yōu)于基于相同骨干網(wǎng)絡(luò)訓(xùn)練的兩階段算法,常被用于移動端目標(biāo)檢測產(chǎn)品的落地。

      表2 經(jīng)典一階段目標(biāo)檢測算法Table 2 Classic one-stage object detection algorithms

      1.2 目標(biāo)檢測的優(yōu)化方向

      在過去十幾年間,目標(biāo)檢測技術(shù)已針對形變、遮擋[47]、光照、雜亂背景等挑戰(zhàn)進(jìn)行了大量的理論創(chuàng)新[48],并在智能安防、智慧城市、遙感偵測等目標(biāo)檢測任務(wù)上受到了熱烈關(guān)注。然而,這些目標(biāo)檢測任務(wù)通常需要先在云端進(jìn)行復(fù)雜的數(shù)據(jù)運算和模型推理,然后再將運算結(jié)果傳輸?shù)揭苿佣藨?yīng)用上,難以確保目標(biāo)檢測過程的實時性和推理結(jié)果傳輸?shù)陌踩浴?/p>

      為適應(yīng)移動智能時代對實時目標(biāo)檢測的需求,大量研究學(xué)者針對現(xiàn)有的檢測思路展開了優(yōu)化研究。考慮到移動端設(shè)備的存儲空間和算力有限,其優(yōu)化方向可歸結(jié)為以下兩個角度(如圖2所示):(1)采用輕量化思想在設(shè)計之初進(jìn)行優(yōu)化;(2)使用壓縮手段對現(xiàn)有模型進(jìn)行優(yōu)化。其中,基于輕量化設(shè)計的優(yōu)化方法可按其理論研究歸結(jié)為手工設(shè)計和AutoML兩類,將在本文第2章進(jìn)行介紹;基于壓縮的優(yōu)化方法可按壓縮手段的不同分為張量分解、模型剪枝和參數(shù)量化三類主要方法,將在本文第3章進(jìn)行介紹。

      圖2 目標(biāo)檢測方法的優(yōu)化方向Fig.2 Optimization direction of target detection methods

      2 基于輕量化設(shè)計的優(yōu)化方法

      輕量化設(shè)計是從根本上解決目標(biāo)檢測向移動端遷移時性能受限問題的手段之一,其基本思想是利用手工設(shè)計(如分組卷積(group convolution)、深度可分離卷積[49](depth-wise separable convolution,DSC)等)或自動化機(jī)器學(xué)習(xí)(如超參數(shù)優(yōu)化、神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索[50](neural architecture search,NAS)等技術(shù))在模型設(shè)計之初采用輕量化設(shè)計思想減少卷積運算量,降低模型訓(xùn)練與推理的環(huán)境需求。輕量化設(shè)計方法可按其研究理論分為兩類:(1)基于手工設(shè)計的輕量化方法;(2)基于自動化機(jī)器學(xué)習(xí)的輕量化方法。

      2.1 基于手工設(shè)計的輕量化方法

      基于手工設(shè)計的輕量化方法需要人為針對卷積結(jié)構(gòu)優(yōu)化出更高效的網(wǎng)絡(luò)從而減少參數(shù)量。2016年,由伯克利和斯坦福合作Iandola等人提出的SqueezeNet[51]模型大量采用1×1的卷積核替換3×3的結(jié)構(gòu)對特征維度進(jìn)行壓縮。但該方法本質(zhì)上還是使用更深的網(wǎng)絡(luò)置換更少的參數(shù)量,推理時間反而被延長。

      其后,Google團(tuán)隊的Howard等人[52]基于深度可分離卷積提出了適用于移動端的MobileNet系列輕量化模型。MobileNet V1使用深度可分離卷積來替換傳統(tǒng)卷積核來提取特征,可將參數(shù)壓縮為標(biāo)準(zhǔn)卷積的1/9,并且引入超參數(shù)來降低模型寬度,從而達(dá)到提升運算速度的目的。MobileNet V2[53]借鑒經(jīng)典殘差結(jié)構(gòu)提出了先升維再降維的結(jié)構(gòu)(inverted residual),并且引入線性瓶頸(linear bottleneck)以減少非線性層大量使用ReLU激活函數(shù)帶來的損失。

      同年,曠視科技Zhang等人[54]提出了基于分組卷積的輕量級網(wǎng)絡(luò)(ShuffleNet),其核心是對組卷積得到的特征圖采用通道變換(channel shuffle)進(jìn)行打亂,有效對沖分組導(dǎo)致的組間特征信息不通的問題。2018年,Ma等人[55]基于上述研究提出了ShuffleNet V2,采用與輸入特征通道數(shù)目相同的卷積核以及適量的組卷積來最小化資源占用,并且減少細(xì)碎的網(wǎng)絡(luò)結(jié)構(gòu)來增加數(shù)據(jù)并行,使得ShuffleNet V1輸入輸出維度不一、卷積分組數(shù)目過多等內(nèi)存不友好的設(shè)計得到了改進(jìn)。

      但是手工設(shè)計的輕量化結(jié)構(gòu)如組卷積、深度可分離卷積、通道變換等需要人為對模型大小、速度與準(zhǔn)確度等指標(biāo)進(jìn)一步權(quán)衡,高度依賴基于手工設(shè)計的啟發(fā)式搜索結(jié)構(gòu)和基于規(guī)則的壓縮策略,存在大量偶然的設(shè)計因素,因此難以得到搜索空間的最優(yōu)解。

      2.2 基于自動化機(jī)器學(xué)習(xí)的輕量化方法

      基于AutoML的輕量化方法可以避免特征提取、模型選擇與參數(shù)調(diào)整階段的人工干預(yù)及偶然因素,將人工調(diào)整卷積的過程變?yōu)樽詣铀阉髯罴呀Y(jié)構(gòu)的過程。隨著該領(lǐng)域神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索技術(shù)(NAS)研究的深入,基于此的輕量化網(wǎng)絡(luò)逐漸被提出。NAS的基本流程是使用搜索策略在搜索空間內(nèi)大量評估候選項,然后根據(jù)反饋不斷搜羅滿足條件的超參數(shù)來優(yōu)化網(wǎng)絡(luò)。

      自此之后,基于神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索的輕量化網(wǎng)絡(luò)設(shè)計在主流輕量化方法中占據(jù)明顯優(yōu)勢。2018年,He等人[56]基于強化學(xué)習(xí)思想提出了自動化的輕量化壓縮方法(automl for model compression,ACM),選用深度確定性策略梯度法(DDPG)確定網(wǎng)絡(luò)的壓縮比,通過限定約束值尋找最適用于當(dāng)前硬件的方法。2019年,Google團(tuán)隊Howard等人[57]在MobileNet系列算法研究基礎(chǔ)上,提出了一種利用NAS搜索最優(yōu)配置的MobileNet V3,把基于硬件感知的網(wǎng)絡(luò)架構(gòu)搜索與NetAdapt算法相結(jié)合,采用互補方式來提高網(wǎng)絡(luò)的整體效果,并且向殘差中引入注意力機(jī)制的SE[58]結(jié)構(gòu)。2019年,Tan等人[59]提出了依據(jù)設(shè)備的資源限制情況自動搜索最適宜網(wǎng)絡(luò)結(jié)構(gòu)的MnasNet,在搜索過程中采用移動設(shè)備進(jìn)行模型推理以衡量最真實的延遲,對模型精度和延遲加以平衡以充分利用不同設(shè)備間的軟硬件特性。2020年,Han等人[60]提出了Ghost模塊,借助少量卷積核生成少量內(nèi)在特征圖,然后通過線性操作高效地生成Ghost特征圖,并將其作為即插即用的組件來升級現(xiàn)有網(wǎng)絡(luò)。2021年,Yu等人[61]意識到置換模塊中重復(fù)使用的卷積結(jié)構(gòu)是優(yōu)化瓶頸,提出了Lite-HRNet網(wǎng)絡(luò),引入條件加權(quán)通道的輕量化單元來置換模塊中計算代價昂貴的卷積結(jié)構(gòu),并從多個并行分支的學(xué)習(xí)信息權(quán)值,進(jìn)行信息交換以補償其帶來的特征損失。2022年,字節(jié)跳動的Ma等人[62]基于Transformer提出了一種輕量化的移動卷積模型(MoCoViT),通過結(jié)合移動自注意力(mobile self-attention,MoSA)模塊和移動前饋網(wǎng)絡(luò)(mobile feed forward Net‐work,MoFFN)二者的優(yōu)點,從而提高了在移動端運行時的性能和效率。

      基于手工設(shè)計的輕量化方法高度依賴手工啟發(fā)式搜索結(jié)構(gòu)和基于規(guī)則的輕量化策略,其過程存在較多的偶然因素,難以直接得到最優(yōu)解。而基于AutoML的輕量化設(shè)計則是借助強化學(xué)習(xí)來自動生成搜索空間,相較于傳統(tǒng)方法有了質(zhì)的提升,已成為目前主流的輕量化設(shè)計方法。為進(jìn)一步總結(jié)剖析上述輕量化設(shè)計方法,表3列出了上述輕量化神經(jīng)網(wǎng)絡(luò)的模型機(jī)制、優(yōu)點、局限性以及適用場景,表4詳細(xì)展示了所涉及的輕量化神經(jīng)網(wǎng)絡(luò)在ImageNet數(shù)據(jù)集上的參數(shù)量、FLOPs、精度以及在安卓手機(jī)運行時的時延。

      表3 輕量化神經(jīng)網(wǎng)絡(luò)對比Table 3 Comparison of lightweight neural networks

      表4 基于ImageNet數(shù)據(jù)集的性能對比Table 4 Performance comparison based on ImageNet dataset

      優(yōu)勢:基于輕量化設(shè)計的優(yōu)化方法從根本上解決了資源有限的移動端環(huán)境對目標(biāo)檢測的性能制約,可以有效地減少網(wǎng)絡(luò)參數(shù)、降低運行時延,對進(jìn)一步提高目標(biāo)檢測方法的實時檢測與處理性能至關(guān)重要,且具有輕量化、易部署、高性能等優(yōu)勢,適用于自動駕駛或汽車輔助駕駛等對實時性要求較高的任務(wù)。

      局限性:基于輕量化設(shè)計的優(yōu)化方法需要網(wǎng)絡(luò)設(shè)計者具備較高的專業(yè)素養(yǎng)和嫻熟的網(wǎng)絡(luò)設(shè)計經(jīng)驗,設(shè)計難度較高且不易與其他優(yōu)化方法結(jié)合使用。其中,基于手工設(shè)計的輕量化過程存在較多偶然因素,難以直接得到最優(yōu)解,而基于AutoML的輕量化方法并非完全自行設(shè)計網(wǎng)絡(luò)架構(gòu),人工痕跡太過明顯,需要朝著更廣泛的搜索空間和更高的自由度發(fā)展。

      3 基于壓縮的優(yōu)化方法

      基于壓縮的優(yōu)化方法常常在卷積層和全連接層借助張量分解、剪枝、量化等手段進(jìn)行模型調(diào)整,其核心在于如何減少參數(shù)的內(nèi)存占用和計算成本。通俗來講,如果將網(wǎng)絡(luò)中的原始張量拆分成更小的張量結(jié)構(gòu)則稱為張量分解;如果將原始網(wǎng)絡(luò)中冗余的信息刪除則稱為模型剪枝;如果將原始網(wǎng)絡(luò)的參數(shù)用更小的位寬表示則稱為數(shù)據(jù)量化??紤]到不同壓縮方法的發(fā)展規(guī)律不同且彼此之間有所關(guān)聯(lián),下文按照每種方法的特性采取了不同的介紹思路。

      3.1 張量分解

      數(shù)據(jù)的高維特征使得計算的時間和空間復(fù)雜度急劇增加。張量運算作為神經(jīng)網(wǎng)絡(luò)的基本計算單元,貢獻(xiàn)了網(wǎng)絡(luò)中絕大多數(shù)的計算任務(wù),因此對張量進(jìn)行分解可有效促進(jìn)模型的壓縮與加速。張量分解作為壓縮高維數(shù)據(jù)的常用方法,其基本思想是利用多個低階結(jié)構(gòu)替換一個高階結(jié)構(gòu),通過合并維數(shù)和施加低秩約束來稀疏化卷積矩陣。例如,濾波器就可看作一個四維張量,其權(quán)值主要分布在一些低秩子空間內(nèi),可以借助稀疏化矩陣進(jìn)行信息刪減。

      張量分解存在多種分解方式,其中較為經(jīng)典的分解方法有CP分解、Tucker分解[63]、SVD分解[64]、TT分解[65]和TR分解[66],其異同點和優(yōu)缺點分析如表5所示。1927年,Hitchcock等人首次提出CP分解法(canonical poly‐adic decomposition,CP),將張量分解為多個秩為1的張量和。1966年,Tucker等人提出Tucker分解法,將張量分解為一個核張量與多個因子矩陣的線性乘積。1980年,Kilmer等人為了盡量保留張量的內(nèi)在結(jié)構(gòu)信息提出了奇異值(SVD)分解法,將張量分解為多個正交張量與其對角張量的乘積。從上述分解方法的原理來看(如圖3所示),CP分解可以看作Tucker分解的一個特例,SVD分解是對CP分解和Tucker分解的高階擴(kuò)展。

      表5 張量分解方法對比Table 5 Comparison of tensor decomposition methods

      圖3 三階張量的分解Fig.3 Decomposition of third-order tensors

      隨著張量分解理論研究的成熟,許多分解方法被應(yīng)用于目標(biāo)檢測。2014年,Denton等人[67]基于SVD分解提出了一種對網(wǎng)絡(luò)中參數(shù)矩陣進(jìn)行降維分解的方法,該方法依據(jù)奇異值對模型維度進(jìn)行截斷選擇,以精度損失為代價獲得了速度提升。2015年,Novikov等人[65]基于張量鏈分解(tensor train,TT)提出了將全連接層的權(quán)重矩陣轉(zhuǎn)換為張量鏈的形式進(jìn)行分解的分解方法,減少了參數(shù)的存儲空間,類似的還有Garipov等人[68]對張量鏈分解的研究。

      近年來,基于卷積神經(jīng)網(wǎng)絡(luò)對張量分解進(jìn)行跨領(lǐng)域融合的研究取得了跨越式進(jìn)展[69]。Chien等人[70]基于Tucker分解在全連接層使用偽逆矩陣的模積來表示權(quán)重,并將整個分解過程進(jìn)行封裝,類似的還有Huang等人[71]的研究。Chen等人[72]結(jié)合Tucker分解與CP分解的優(yōu)點提出了一種引入塊項分解[73](block term decompo‐sition,BTD)的殘差結(jié)構(gòu)(collective residual unit,CRU),通過在殘差單元上共享張量分解的核心因子來提高殘差網(wǎng)絡(luò)的參數(shù)利用率并降低過擬合風(fēng)險。2021年,加利福尼亞大學(xué)的Cai等人[74]基于CUR分解和交替映射法衍生出了魯棒分解法(robust tensor CUR,RTCUR),與傳統(tǒng)SVD分解法不同,RTCUR分解不受限于被離群值破壞的數(shù)據(jù)。之后,Yin等人[75]提出使用交替方向乘子法[76](alternating direction method of multipliers,AD‐MM)進(jìn)行張量分解,利用ADMM技術(shù)以迭代的方式系統(tǒng)地解決張量分解中張量秩約束的優(yōu)化問題。

      從上述方法可以看出,當(dāng)存在大規(guī)模數(shù)據(jù)時,尤其是當(dāng)數(shù)據(jù)為非線性時,使用低秩矩陣的分解方法可以簡化參數(shù)并提高網(wǎng)絡(luò)的參數(shù)利用率。為進(jìn)一步剖析上述張量分解方法的壓縮效果,表6進(jìn)一步羅列了上述研究所涉及的分解方法、壓縮位置及其在各數(shù)據(jù)集下的壓縮比和精度損失情況。

      表6 張量分解方法對比Table 6 Comparison of tensor decomposition methods

      基于上述對張量分解方法的介紹,對基于張量分解的目標(biāo)檢測優(yōu)化方法的總結(jié)與展望如下:

      (1)張量分解通過合并維數(shù)和降秩的方式稀疏化卷積核矩陣,其分解過程涉及的求奇異值等矩陣高級運算[77]的計算量極大、計算成本極高,并且需要大量的模型重訓(xùn)練才能實現(xiàn)收斂。

      (2)目前流行的網(wǎng)絡(luò)(如VGG、ResNet等)為了減少參數(shù)量常常通過疊加多個小卷積核來替代一個大卷積核,網(wǎng)絡(luò)中大卷積核數(shù)目逐漸減少。而張量分解方法并不擅長于處理此類問題,因此張量分解相比于其他優(yōu)化方法的研究進(jìn)程略有滯后。

      (3)現(xiàn)有的分解方法大多只針對規(guī)模相對較小的檢測任務(wù)(如手寫數(shù)據(jù)集等)進(jìn)行實驗,不足以完全證明張量分解方法的有效性,在未來還需在大規(guī)模任務(wù)上(如ImageNet等)進(jìn)行壓縮效果驗證。

      (4)隨著數(shù)據(jù)維度的增加,網(wǎng)絡(luò)中的卷積核可能會具有更高的階數(shù),因此更通用的、非固定張量維度的張量分解方法會是未來研究的一大方向,如Huang等人[78]針對3D加速的研究和Zhong等人[79]對任意階張量進(jìn)行自適應(yīng)調(diào)整的研究。

      優(yōu)勢:張量分解方法的分解機(jī)制較為簡單,理論基礎(chǔ)成熟,可以有效減少網(wǎng)絡(luò)的參數(shù)量、降低模型體積,并且張量分解方法尤其適用于卷積核較大的網(wǎng)絡(luò),對高維特征數(shù)據(jù)的壓縮效果十分明顯。

      局限性:張量分解操作中涉及的復(fù)雜高級矩陣運算的計算量龐大、計算成本極高、實現(xiàn)難度極大,在大規(guī)模數(shù)據(jù)任務(wù)上的壓縮效果還有待研究。此外,由于不同網(wǎng)絡(luò)層所含的特征信息不同,不能直接進(jìn)行全局壓縮,而需要逐層進(jìn)行分解,因此需要大量的模型重訓(xùn)練才能重新實現(xiàn)原來的收斂效果。

      3.2 模型剪枝

      模型剪枝是模型壓縮與加速的通用方法。模型剪枝即在網(wǎng)絡(luò)訓(xùn)練過程中尋求一種評判機(jī)制來剪除網(wǎng)絡(luò)中冗余的神經(jīng)元、參數(shù)、通道、卷積等,如圖4所示。常見的卷積神經(jīng)網(wǎng)絡(luò)從卷積層到全連接層都含有大量冗余的權(quán)重信息和神經(jīng)元(輸出為零),因此借助模型剪枝剔除這些冗余的、信息含量少的網(wǎng)絡(luò)結(jié)構(gòu)并不會影響特征的表達(dá),能夠在不影響模型檢測性能的前提下加速模型推理速度[80]。

      圖4 模型剪枝示意圖Fig.4 Schematic diagram of model pruning

      早在20世紀(jì)80年代末90年代初,Hanson等人[81]就提出了對網(wǎng)絡(luò)中的隱藏單元施加與其絕對值相關(guān)的權(quán)衰減來最小化神經(jīng)元數(shù)量的剪枝方法。隨后,Lecun[82]和Hassibi等人[83]先后提出了較為經(jīng)典的OBD剪枝和OBS剪枝方法,借助損失函數(shù)相對權(quán)重的二階導(dǎo)數(shù)來衡量權(quán)重的重要程度,刪減網(wǎng)絡(luò)中非重要的元素使網(wǎng)絡(luò)結(jié)構(gòu)稀疏化。雖然其研究受到了神經(jīng)網(wǎng)絡(luò)發(fā)展及算力的限制而停滯不前,但是其對于模型剪枝問題的梳理對后來的研究工作產(chǎn)生了深遠(yuǎn)影響。

      自2012年來,隨著ImageNet準(zhǔn)確率屢創(chuàng)新高,模型剪枝才重回大眾視野。2015年,Han等人[84]提出了“訓(xùn)練權(quán)重-模型剪枝-重訓(xùn)練”三步法,按規(guī)則去除冗余的零參,并微調(diào)模型使重新收斂。而后,Han等人[85]又提出通過權(quán)值量化來共享權(quán)重,并通過霍夫曼編碼進(jìn)一步對參數(shù)進(jìn)行壓縮。2016年,Lebedev等人[86]將腦損傷研究應(yīng)用于加速卷積層,在網(wǎng)絡(luò)訓(xùn)練中加入組稀疏正則化來修剪卷積核張量,將復(fù)雜的卷積操作轉(zhuǎn)換為簡單的稀疏矩陣乘法以提升運算速度。Zhou等人[87]通過在訓(xùn)練階段向目標(biāo)函數(shù)加入組稀疏正則項來剪除濾波器,得到較為緊湊的網(wǎng)絡(luò)結(jié)構(gòu),從而在反向傳播過程中繞過不易求導(dǎo)的稀疏限制項。

      近幾年來,基于模型剪枝的網(wǎng)絡(luò)壓縮方法逐漸豐富,考慮到手工設(shè)計剪枝方案的局限性,基于自動化機(jī)器學(xué)習(xí)(AutoML)的剪枝方案陸續(xù)被提出。2018年,He等人[88]借助修剪率和激勵機(jī)制提出了與手工設(shè)計剪枝方案相比更具優(yōu)勢的方法,自適應(yīng)地決定每層的壓縮比例,將剪枝轉(zhuǎn)化為了序列化決策的過程。2019年,Yu等人[89]依托輕量級網(wǎng)絡(luò)提出了采用貪心搜索對給定配置選取各層最優(yōu)網(wǎng)絡(luò)寬度的方法(AutoSlim),通過訓(xùn)練輕量級網(wǎng)絡(luò)來得到不同通道的重要程度,然后不斷評估迭代訓(xùn)練后的模型進(jìn)行貪婪剪枝。2020年,滴滴AI實驗室的Liu等人[90]提出的自動剪枝框架實時使用交替乘子法來優(yōu)化正則項,并利用基于經(jīng)驗的增強搜索自動化尋找模型剪枝中的超參數(shù),從而滿足移動端的實時性能需求。騰訊優(yōu)圖實驗室的Meng等人[91]基于對濾波器剪枝與權(quán)重剪枝相融合的研究,提出了基于濾波器骨架的逐條剪枝算法(SWP),將每個濾波器視為多條濾波器的組合,逐條進(jìn)行修剪。2021年,Wang等人[92]為緩解剪枝維度局限在單維的問題,提出了對三個最佳維度進(jìn)行自動化剪枝,將剪枝問題按維度關(guān)系轉(zhuǎn)換為多項式回歸問題,最大化多項式即可獲得最優(yōu)解。Gao等人[93]考慮到用于剪枝的損失度量不匹配問題,直接通過最大化子網(wǎng)絡(luò)的性能提出了一種新通道剪枝方法,通過最大化網(wǎng)絡(luò)的輸出來指導(dǎo)參數(shù)修剪,并且引入了事件記憶模塊來沿著剪枝軌跡收集樣本。2022年,Myung等人[94]提出了一種采用模型剪枝來進(jìn)行遷移學(xué)習(xí)的簡單有效PAC-Net模型,其基本思想是更新基本權(quán)重以對原先的任務(wù)進(jìn)行微調(diào),然后再通過更新冗余的剩余權(quán)重來進(jìn)一步校準(zhǔn)。

      表7進(jìn)一步列出了上述模型剪枝方法的模型機(jī)制及優(yōu)缺點。從上述避免手工設(shè)計超參數(shù)的自動化剪枝的研究進(jìn)展來看,基于自動化機(jī)器學(xué)習(xí)的模型剪枝展現(xiàn)出了巨大的發(fā)展?jié)摿?,將長期處于模型剪枝領(lǐng)域的主要研究方向。

      表7 模型剪枝方法對比Table 7 Comparison of model pruning methods

      從對剪枝方法的介紹來看,模型剪枝可按剪枝粒度的不同進(jìn)行分類,如圖5所示。結(jié)構(gòu)化剪枝是在通道等整個維度進(jìn)行剪枝,而非結(jié)構(gòu)化剪枝則是單個元素進(jìn)行剪枝。一般來說,剪枝粒度越細(xì),對硬件的加速效果則越明顯,剪枝效果則越好,但其權(quán)重矩陣趨于不規(guī)則分布,因此加速效果并不明顯。

      圖5 模型剪枝方法的分類Fig.5 Classification of model pruning methods

      目前,模型剪枝仍是一個動態(tài)的領(lǐng)域,多項理論研究清晰地定義了網(wǎng)絡(luò)借助剪枝操作可以獲得何種收益。剪枝的性能會隨著網(wǎng)絡(luò)模型的增大而得到提高,并且隨著網(wǎng)絡(luò)的增大,剪枝方法間的性能差異逐漸縮小,如Liu等人[95]在2022年的研究。通常來說,梯度對剪枝的容忍度較高,神經(jīng)元剪枝會比權(quán)重剪枝帶來的精度損失更為嚴(yán)重。在上述基于模型剪枝的壓縮方法的介紹基礎(chǔ)上,對此進(jìn)行了以下幾點思考:

      (1)模型剪枝的早期研究受限于增加元素的稀疏性,傾向于對整個維度進(jìn)行結(jié)構(gòu)化剪枝。相比之下,近期研究更注重對單個元素的非結(jié)構(gòu)化稀疏性以實現(xiàn)加速,通常需要特殊的硬件支持。

      (2)與早期的啟發(fā)式方法相比,基于強化學(xué)習(xí)的自動化剪枝方法能夠精準(zhǔn)地動態(tài)裁剪無意義的結(jié)構(gòu),避免手動設(shè)置層敏感度和的參數(shù)微調(diào)的局限性,在不影響精度的前提下高效地減少計算量。

      (3)全連接層通常比卷積層具有更多冗余信息,因此模型剪枝算法在擁有大尺寸全連接層的網(wǎng)絡(luò)上(如AlexNet、VGG)的剪枝效果要明顯優(yōu)于在其他網(wǎng)絡(luò)上(如ResNet)進(jìn)行剪枝。

      優(yōu)勢:模型剪枝能有效移除網(wǎng)絡(luò)中的冗余參數(shù),且靈活度高、泛化能力強,既可以應(yīng)用在訓(xùn)練過程中也可以用于訓(xùn)練結(jié)束后,既可以應(yīng)用在卷積層也可以用在全連接層,并且對任意一個結(jié)構(gòu),都可以對推理時間、模型大小與準(zhǔn)確率三者進(jìn)行平衡。

      局限性:模型剪枝一方面閾值選取困難,人為設(shè)定的閾值很容易剪去某些重要的權(quán)重,而自動化搜索的范圍過大,需要較高的算力支持。另一個缺點則是不同模型的參數(shù)冗余度不同,過度進(jìn)行參數(shù)剪枝會使模型準(zhǔn)確率有所下降,需要重新訓(xùn)練網(wǎng)絡(luò)。

      3.3 參數(shù)量化

      參數(shù)量化的核心思想是采用低比特數(shù)來存儲神經(jīng)網(wǎng)絡(luò)模型的參數(shù),從而降低網(wǎng)絡(luò)模型中權(quán)重參數(shù)的資源占用量。例如,將模型參數(shù)由標(biāo)準(zhǔn)32位轉(zhuǎn)化為INT8整數(shù)時,浮點數(shù)被表示為低精度的定點數(shù),使得參數(shù)被壓縮了四倍。這個浮點數(shù)到定點數(shù)的量化本質(zhì)上就是將實數(shù)域中的某一段映射到整數(shù)域上。

      在模型訓(xùn)練階段,主流目標(biāo)檢測模型大多采用高精度表示的數(shù)據(jù)來捕捉參數(shù)傳遞時微小的梯度變化,但是這些結(jié)構(gòu)在推理階段卻是可有可無或無需精細(xì)表示的,因此可采用參數(shù)量化減少其表示所需的比特數(shù),其量化過程如圖6所示。如圖,神經(jīng)網(wǎng)絡(luò)中可量化的數(shù)據(jù)對象包括權(quán)重(W)、激活函數(shù)(A)、誤差(E)、梯度(G)和權(quán)重更新(U)。雖然這些數(shù)據(jù)對象均可進(jìn)行量化,但其量化效果參差不齊,表8選取了部分典型量化研究來對比不同數(shù)據(jù)對象對量化的敏感性[96]。

      表8 量化對象的敏感性分析Table 8 Sensitivity analysis of quantization object

      圖6 量化過程Fig.6 Quantization process

      參數(shù)量化的一個核心問題就是量化參數(shù)的選取,下文將就量化參數(shù)選取方法展開介紹。

      (1)傳統(tǒng)的量化參數(shù)選取方法

      最早對神經(jīng)網(wǎng)絡(luò)的量化研究可追溯到1990年,F(xiàn)iesler等人[105]最先意識到將神經(jīng)網(wǎng)絡(luò)運用于光學(xué)計算機(jī)中所面臨的主要問題是連續(xù)實數(shù)表示的權(quán)重與離散表示的光學(xué)間的矛盾,由此提出基于反向傳播(back propagation,BP)的權(quán)重離散化方法,將神經(jīng)網(wǎng)絡(luò)權(quán)重分布在有限的離散級數(shù)上。后來,Gupta等人[106]簡單歸結(jié)了低精度數(shù)據(jù)表示的兩種基于“四舍五入”的量化方法,一種是就近取整法,另一種是向上或向下取整法,這也是最簡單粗暴的量化方法。在此基礎(chǔ)上,2020年Nagel等人[107]的最新研究中提出了利用泰勒級數(shù)展開任務(wù)的權(quán)重舍入機(jī)制,將舍入任務(wù)簡化為逐層局部損失,大大優(yōu)化了“四舍五入”方法。

      (2)先進(jìn)的量化參數(shù)選取方法

      除了上述手工設(shè)定參數(shù)的量化方法外,目前已衍生出了豐富的用于模型參數(shù)壓縮的量化方法。不可否認(rèn)的是,這些量化方法或多或少帶來了一定的精度損失。為了盡量減少量化誤差,目前主要采用下述三種量化方法來選取最小化誤差的量化參數(shù)。

      ①基于統(tǒng)計近似的選取方法

      基于統(tǒng)計近似的量化參數(shù)選取方法是一個將信號連續(xù)值或大量離散值近似為有限多個或較少的離散值的過程。2016年,斯坦福大學(xué)的Miyashita等人[108]提出了一種用以2為底的對數(shù)來統(tǒng)計權(quán)重和激活信息的非均勻量化方法,較好地解決了可能存在的離群值帶來的精度損失問題,具有比線性運算更好的魯棒性。2018年,Gong等人[109]通過統(tǒng)計量化對象的最大值來選取量化參數(shù),從而較好地支持8位低精度推理,并且其校準(zhǔn)過程是自動生成的,因此無需微調(diào)或重新訓(xùn)練。2020年,Liu等人[110]提出了使用多個低位線性組合來近似高位矢量的多點量化方法,能夠根據(jù)輸出誤差自適應(yīng)確定每個權(quán)向量的低精度點數(shù),僅對影響輸出的重要權(quán)重保留較高的精度水平,從而產(chǎn)生了混合精度效果,解決了當(dāng)前技術(shù)在進(jìn)行端到端量化時對精度造成的損失。

      ②基于優(yōu)化的量化參數(shù)選取方法

      基于優(yōu)化選取量化參數(shù)的方法即利用優(yōu)化來求解量化誤差最小值的方法。2017年,大疆的Lin等人[111]將激活值和權(quán)重看做一系列的線性組,提出了一種對誤差進(jìn)行優(yōu)化的高精度二值化網(wǎng)絡(luò)結(jié)構(gòu)(ABC-Net),解決了量化中二值網(wǎng)絡(luò)帶來的精度損失問題。2019年,華為的Choukroun等人[112]將線性量化任務(wù)看做最小均方誤差問題,對量化尺度進(jìn)行精細(xì)搜索以求得最優(yōu)解,類似的還有英特爾的Banner等人[113]的研究。2020年,F(xiàn)ang等人[114]提出了一種將整個量化范圍分解為多個非重疊區(qū)域的分段線性量化方法,通過最小化誤差來尋找最優(yōu)斷點。2021年,針對常用直通估計器忽略了輸入和輸出函數(shù)離散化誤差的缺陷,Lee等人[115]提出了逐元素梯度放縮法(element-wise gradient scaling,EWGS),自適應(yīng)地調(diào)整梯度元素的比例因子。2022年,張帆等人[116]針對敏感性數(shù)據(jù)場景下存在數(shù)據(jù)集在模型量化時不可用的問題,提出了一種不需要使用數(shù)據(jù)集的模型量化方法。上述量化方法將最小化量化誤差作為優(yōu)化目標(biāo),但最小化量化誤差不等同于最小化精度損失,實際優(yōu)化目標(biāo)與最終優(yōu)化目標(biāo)仍存在偏差,如Nahshan等人[117]的研究內(nèi)容。

      ③基于微分的量化參數(shù)選取方法

      基于微分選取量化參數(shù)的方法以最小化精度損失為量化目標(biāo),借助隨機(jī)梯度下降解決了上述基于優(yōu)化選取量化參數(shù)時存在的優(yōu)化目標(biāo)不一致的問題。2018年,Choi等人[118]針對適宜部署到移動設(shè)備的低精度神經(jīng)網(wǎng)絡(luò),提出以最小化精度損失為目標(biāo)的優(yōu)化方法,通過簡單的逐位運算實現(xiàn)卷積操作。2019年,Gong等人[119]借助tanh函數(shù)構(gòu)造了具有可微特性的量化函數(shù)(differen‐tiable soft quantization,DSQ),用可微量化彌補全精度神經(jīng)網(wǎng)絡(luò)和低位神經(jīng)網(wǎng)絡(luò)之間的差距。2022年,Guo等人[120]利用模型梯度的Hessian矩陣分層刻畫量化模型的精度損失,提出了一種具有次秒級量化時間的無數(shù)據(jù)量化框架(SQuant),在隱私敏感和機(jī)密場景下前景廣闊。除此之外,還有阿里的Yang等人[121]基于Sigmoid函數(shù)提出的可微分非線性方法。

      基于微分選取量化參數(shù)的方法解決了最小化精度損失的問題,但其借助梯度下降法對多個參數(shù)進(jìn)行聯(lián)合量化也帶來了雙線性問題,使得訓(xùn)練的收斂更加困難。2020年,Zhuo等人[122]針對上述方法中對權(quán)重參數(shù)和激活參數(shù)進(jìn)行聯(lián)合量化導(dǎo)致的雙線性問題,提出了利用投影函數(shù)協(xié)調(diào)變量的理論框架(cogradient descent,CoGD),利用兩個變量間的耦合關(guān)系消除其中之一,誘導(dǎo)梯度同步下降以優(yōu)化量化過程。

      基于參數(shù)量化的壓縮方法可以實現(xiàn)較好的模型優(yōu)化與壓縮效果,究其原因主要有以下幾個方面:

      (1)參數(shù)量化的本質(zhì)是將多個參數(shù)映射到同一范圍,從而減小模型尺寸、降低內(nèi)存耗用、減少設(shè)備功耗,如進(jìn)行8位整型量化可減少約75%的模型。

      (2)對大多數(shù)處理器來說,浮點型運算的速度要顯著低于整型運算,因此將模型參數(shù)由浮點數(shù)轉(zhuǎn)化為低精度的整數(shù)能夠加快模型的推理速度。

      (3)從硬件角度來看,參數(shù)量化能夠提高系統(tǒng)吞吐量,適用于性能有限的移動設(shè)備,例如對一個寬度為512位的指令來說,將32位數(shù)據(jù)量化為4位表示時,理論上可以讓芯片的計算峰值擴(kuò)大8倍。

      表9進(jìn)一步羅列了上述研究所涉及的量化方法的模型機(jī)制及優(yōu)缺點?;谏鲜鰧趨?shù)量化的壓縮方法的研究,本節(jié)進(jìn)行了以下幾點思考:

      表9 參數(shù)量化方法對比Table 9 Comparison of model pruning methods

      (1)參數(shù)量化使模型質(zhì)量與特征表達(dá)能力受到影響,會導(dǎo)致一定程度的精度損失,尤其是對大型網(wǎng)絡(luò)而言量化帶來的影響更為明顯,雖然通過微調(diào)可以減少部分精度的下降,但其損失仍是不可避免的。

      (2)最小化量化誤差并不等同于最小化精度損失,因此可以借助梯度下降法在訓(xùn)練網(wǎng)絡(luò)的同時優(yōu)化量化參數(shù)。但是,在這個過程中需要同時對多個參數(shù)進(jìn)行量化,參數(shù)間的耦合關(guān)系可能會導(dǎo)致梯度消失現(xiàn)象,這使得訓(xùn)練的收斂難度有所增加。

      (3)基于參數(shù)量化的壓縮方法雖然涉及模型的算子層面較為局限,但兼容性較強,較好地與其他壓縮算法相融合,如Ornhag等人[115]的研究,在未來長期發(fā)展中都會是一種主流的壓縮方法。

      優(yōu)勢:(1)減小模型尺寸,減少存儲空間;(2)減少內(nèi)存耗用,易于在線升級;(3)加快推理速度,減少設(shè)備功耗;(4)支持微處理器;(5)兼容性強。

      局限性:參數(shù)量化不僅增加了操作復(fù)雜度,還給網(wǎng)絡(luò)帶來了不可避免的精度損失,尤其是二值化會使網(wǎng)絡(luò)精度大幅下降,即使通過微調(diào)可以減少部分精度的下降,但其損失仍是不可避免的。此外,量化操作還涉及了框架的算子層面,具有一定的局限性。

      4 面向移動端的產(chǎn)業(yè)化應(yīng)用

      我國人工智能領(lǐng)域的一線大廠和獨角獸企業(yè)正在積極推進(jìn)移動端目標(biāo)檢測理論研發(fā)與產(chǎn)業(yè)化應(yīng)用的解決方案[124],其中的代表性企業(yè)如百度、商湯科技等,技術(shù)產(chǎn)品遍布金融安防、自動駕駛等領(lǐng)域,為移動端用戶提供了無接觸、無侵?jǐn)_的良好體驗。目前,我國面向移動端的目標(biāo)檢測產(chǎn)業(yè)化應(yīng)用現(xiàn)狀如下:

      (1)人臉識別:人臉識別在身份認(rèn)證與安全防護(hù)領(lǐng)域發(fā)揮著重要作用,被廣泛應(yīng)用于移動支付認(rèn)證、身份核對、推薦消費等商業(yè)活動中。曠視科技旗下人臉識別開放平臺(Face++)提供的實名驗證服務(wù)已被廣泛應(yīng)用于支付寶、今日頭條、小米、vivo等企業(yè)。

      (2)移動醫(yī)療:人工智能影像檢測已在呼吸系統(tǒng)疾病、神經(jīng)系統(tǒng)疾病和惡性腫瘤上取得了一定成效。在移動醫(yī)療領(lǐng)域,依圖科技借助智能影像檢測技術(shù)研發(fā)的新冠肺炎輔助診斷系統(tǒng)為疫情防控做出了貢獻(xiàn),并且將醫(yī)療AI嵌入臨床工作流,研發(fā)的智能機(jī)器人已在三甲醫(yī)院落地應(yīng)用。AI技術(shù)結(jié)合移動醫(yī)療在不遠(yuǎn)的將來或?qū)⒄嬲龑崿F(xiàn)“治于未病”的理念。

      (3)自動駕駛:對具備自動駕駛能力的車載終端而言,目標(biāo)檢測可對車輛傳感器和V2X設(shè)施搜集到的環(huán)境信息進(jìn)行檢測與識別,是自動駕駛系統(tǒng)的關(guān)鍵技術(shù)之一。常見的自動駕駛系統(tǒng)有特斯拉Tesla、小馬智行Pony、百度Apollo等,其中國產(chǎn)自研品牌“百度Apollo”依托目標(biāo)檢測等技術(shù)已在無人駕駛車隊和蘿卜快跑兩大業(yè)務(wù)上展現(xiàn)出了全球領(lǐng)跑的姿態(tài)。

      (4)圖像美化:基于目標(biāo)檢測等技術(shù)的圖像美化可以輕松實現(xiàn)人像扣圖、背景虛化、美瞳、瘦臉等美顏效果。如字節(jié)跳動的輕顏相機(jī)、臉萌團(tuán)隊的Faceu激萌、騰訊出品的天天P圖等,借助AI技術(shù)實現(xiàn)各種圖像美化操作,輕松拍出風(fēng)格迥異的圖像。

      (5)媒體與娛樂:依托該技術(shù)用戶可在虛擬世界內(nèi)輕松嘗試大量具有趣味性、挑戰(zhàn)性和互動性的娛樂活動,如北京環(huán)球影城的哈利波特禁忌之旅等游戲項目。此外,諸如微信、QQ等即時通信工具及虛擬化的網(wǎng)絡(luò)游戲也將成為廣闊的移動端應(yīng)用市場。

      5 總結(jié)與展望

      隨著日常生產(chǎn)生活對智能移動設(shè)備的依賴逐漸加深,如何在資源有限的設(shè)備上在盡可能保持模型精度的前提下最大程度加快推理速度將成為將目標(biāo)檢測向移動端遷移的長期研究熱點。為對本文所述的目標(biāo)檢測優(yōu)化方法進(jìn)行提煉分析,表10進(jìn)一步總結(jié)了上述方法的適用層級、優(yōu)劣性及適用場景。在上述介紹基礎(chǔ)上,對本文研究提出了以下幾點總結(jié)與展望:

      表10 目標(biāo)檢測優(yōu)化方法對比Table 10 Comparison of optimization methods for object detection

      (1)輕量化網(wǎng)絡(luò)設(shè)計:基于輕量化設(shè)計的優(yōu)化方法采用輕量化的卷積設(shè)計來優(yōu)化網(wǎng)絡(luò),需要設(shè)計者具備較高的專業(yè)素養(yǎng)和嫻熟的網(wǎng)絡(luò)設(shè)計經(jīng)驗,進(jìn)行針對性設(shè)計才能使模型各項性能達(dá)標(biāo),尤其適用于對特定的目標(biāo)檢測任務(wù)進(jìn)行優(yōu)化。輕量化設(shè)計方法雖然具有易部署、高性能等優(yōu)勢,但是其設(shè)計難度較高且不易與其他優(yōu)化方法結(jié)合使用,因此未來仍需進(jìn)行長期研究來挖掘更便捷、更通用的網(wǎng)絡(luò)設(shè)計方法。

      (2)模型壓縮:基于壓縮的優(yōu)化方法依托于張量分解、模型剪枝和參數(shù)量化等手段對現(xiàn)有模型進(jìn)行調(diào)整。張量分解可有效進(jìn)行降維,但涉及的分解操作計算量大、計算成本高;參數(shù)量化能夠顯著減少存儲空間,但隨著網(wǎng)絡(luò)表達(dá)能力的衰退會產(chǎn)生一定的精度損失;模型剪枝的魯棒性較強,但自動化搜索的范圍過大,需要較高的算力支持。同時,這些壓縮手段雖各有特色,但壓縮過程有所重疊、且不同手段相互兼容,因此在未來研究中會朝著聯(lián)合壓縮的方向發(fā)展。

      (3)基準(zhǔn)測試:基準(zhǔn)測試通常選取AlexNet或VGG16網(wǎng)絡(luò)進(jìn)行優(yōu)化并在ImageNet數(shù)據(jù)集上進(jìn)行測試。顯而易見,這兩個網(wǎng)絡(luò)的結(jié)構(gòu)更加冗余,優(yōu)化效果更為明顯。但近期針對新代網(wǎng)絡(luò)的優(yōu)化研究表明,現(xiàn)有的優(yōu)化方法還不足以支撐對自然緊湊型結(jié)構(gòu)的優(yōu)化,將當(dāng)前優(yōu)化方法擴(kuò)展到更緊湊或更深的網(wǎng)絡(luò)仍具有較大的挑戰(zhàn)性。此外,這些方法明顯在小型數(shù)據(jù)集(如MNIST)上取得了更優(yōu)的優(yōu)化效果,而在大型數(shù)據(jù)集(如ImageNet)上的效果仍有待加強。

      目前常見的目標(biāo)檢測數(shù)據(jù)集有VOC 2007、VOC 2012、ImageNet、COCO、CIFAR-10、SUHN、MNIST和AITEX,相關(guān)數(shù)據(jù)集信息已在表11中列出。

      表11 常用目標(biāo)檢測數(shù)據(jù)集Table 11 Common object detection datasets

      (4)衡量指標(biāo):在目標(biāo)檢測優(yōu)化領(lǐng)域各種優(yōu)化算法層出不窮,除了不同的求解路徑(如量化等)外,每條路徑也都蘊含著無數(shù)種方法。為公平比較這些方法,本文建議從以下幾個角度進(jìn)行衡量:

      ①訓(xùn)練速度與推理速度:模型在訓(xùn)練與推理階段的實際優(yōu)化效果不同,可按運算場景分別比較。

      訓(xùn)練速度:s/iter即迭代每批樣本所需的時間;

      推理速度:FPS即檢測器每秒處理的圖片數(shù)量。

      ②壓縮比與檢測精度:壓縮比與檢測精度是一對相互制衡的數(shù)據(jù),模型壓縮一定會帶來精度損失。

      壓縮比:即壓縮后參數(shù)縮小的倍數(shù)。

      檢測精度:top-1即預(yù)測結(jié)果中第一個類別為正確類別的概率;top-5即前五個類別出現(xiàn)正確類別的概率;mAP即所有類別的平均AP值。

      ③實際收益:實際收益依賴于硬件支持,不能借助壓縮比獲取反饋,需要引入時延等實際收益指標(biāo)。

      ④優(yōu)化對象:不同數(shù)據(jù)對象在簡化計算模式和減少內(nèi)存成本方面提供的助力不同,對精度損失的敏感度也不盡相同,因此在進(jìn)行橫向?qū)Ρ葧r需基于相同的數(shù)據(jù)對象維度進(jìn)行對比。

      (5)自動化壓縮:大多數(shù)目標(biāo)檢測壓縮方法通常需要預(yù)先設(shè)定一些約束參數(shù),如NAS中的搜索空間、分解中不同層的秩值、量化中的位寬等。這類基于手工參數(shù)的壓縮方法高度依賴于手工試驗和專業(yè)知識,繁瑣的手動調(diào)參非常耗時,并且人工探索法通常得到的是次優(yōu)解。因此,如何運用自動化機(jī)器自動進(jìn)行目標(biāo)檢測優(yōu)化是亟待解決的問題之一。

      例如,基于AutoML的輕量化方法借助強化學(xué)習(xí)自動搜索,雖然相較于傳統(tǒng)方法有所提升,僅是對手工設(shè)計的卷積塊和網(wǎng)絡(luò)結(jié)構(gòu)的堆疊,并非完全自動設(shè)計。輕量化網(wǎng)絡(luò)設(shè)計需要朝著更廣泛的搜索空間和更高的設(shè)計自由度發(fā)展,進(jìn)一步實現(xiàn)自動化。

      (6)框架級支持:深度學(xué)習(xí)框架的出現(xiàn)顯著降低了編程的入門門檻,提高了算法設(shè)計者的工作效率,這在目標(biāo)檢測的優(yōu)化領(lǐng)域也同樣適用。在1979年,英偉達(dá)最早發(fā)布了用FORTRAN語言編寫的程序庫(Basic Linear Algebra Subprograms,BLAS),此后又衍生出了經(jīng)典的線性代數(shù)庫,為張量分解中的稀疏化運算提供了框架級支持。除此之外,還有Tensorflow為量化感知訓(xùn)練提供的工具,這些框架的出現(xiàn)進(jìn)一步推動了目標(biāo)檢測的理論研究和在移動設(shè)備中的快速部署。

      (7)硬件級支持:現(xiàn)有的處理器可廣泛支持從常規(guī)操作到大規(guī)模操作再到高精度操作范圍內(nèi)的數(shù)據(jù)運算。雖然輕量化網(wǎng)絡(luò)引入了更緊湊的結(jié)構(gòu),但仍保持在通用處理器足以支持的數(shù)據(jù)精度范圍內(nèi),而其他壓縮方法(如高維張量計算、稀疏處理等)在一定程度上受到了通用處理器的限制而無法獲得理想的速度增幅。因此通過設(shè)計專用硬件架構(gòu)來提供硬件級支持是推動目標(biāo)檢測優(yōu)化理應(yīng)考慮的維度之一。

      綜上所述,目標(biāo)檢測的優(yōu)化需要理論研究、算法設(shè)計、框架設(shè)計及硬件設(shè)計等多領(lǐng)域的緊密合作。盡管移動端目標(biāo)檢測優(yōu)化領(lǐng)域已經(jīng)擁有了大量的理論研究,但仍在以下幾個方向提供了機(jī)會:(1)輕量化設(shè)計;(2)輕量級壓縮;(3)壓縮自動化;(4)框架級設(shè)計;(5)硬件級設(shè)計。這些研究方向終將催生出更多優(yōu)秀的適用于移動端的優(yōu)化方法。

      6 結(jié)束語

      近年來,盡管針對目標(biāo)檢測的優(yōu)化問題已經(jīng)涌現(xiàn)出了大量優(yōu)秀的解決思路,但是大部分研究仍局限于實驗室理論研究階段,距離正式的產(chǎn)業(yè)化落地應(yīng)用仍有很長的路要探索。技術(shù)的發(fā)展終究是為解決實際工業(yè)應(yīng)用問題服務(wù)的,目標(biāo)檢測終將通過不斷優(yōu)化與發(fā)展普及到實際工業(yè)應(yīng)用中,催生出一套智能的、完備的嵌入式人工智能應(yīng)用體系。

      猜你喜歡
      剪枝張量輕量化
      人到晚年宜“剪枝”
      汽車輕量化集成制造專題主編
      偶數(shù)階張量core逆的性質(zhì)和應(yīng)用
      基于YOLOv4-Tiny模型剪枝算法
      四元數(shù)張量方程A*NX=B 的通解
      一種輕量化自卸半掛車結(jié)構(gòu)設(shè)計
      智富時代(2019年2期)2019-04-18 07:44:42
      剪枝
      天津詩人(2017年2期)2017-03-16 03:09:39
      擴(kuò)散張量成像MRI 在CO中毒后遲發(fā)腦病中的應(yīng)用
      瞄準(zhǔn)掛車輕量化 鑼響掛車正式掛牌成立
      專用汽車(2016年1期)2016-03-01 04:13:19
      用戶:輕量化掛車的使用體驗
      專用汽車(2015年4期)2015-03-01 04:09:07
      安国市| 莲花县| 宝兴县| 红原县| 西乌珠穆沁旗| 贺州市| 阿坝县| 镇原县| 遵义市| 九台市| 梁山县| 饶平县| 丹寨县| 夏河县| 高台县| 新宾| 久治县| 日土县| 永昌县| 元谋县| 宁明县| 高要市| 偃师市| 灌云县| 沅陵县| 诸暨市| 仁怀市| 和平区| 疏勒县| 门头沟区| 垦利县| 白银市| 莲花县| 宜宾市| 青田县| 孝义市| 绥滨县| 南雄市| 霍城县| 昔阳县| 光泽县|