馬 利,劉新宇,李皓宇,段苛苛,牛 斌
遼寧大學(xué) 信息學(xué)院,沈陽 110036
近年來,卷積神經(jīng)網(wǎng)絡(luò)出現(xiàn)兩種發(fā)展趨勢。一方面向大規(guī)模、深層次方向發(fā)展;另一方面向輕量化、高速度方向發(fā)展。隨著移動互聯(lián)網(wǎng)的飛速發(fā)展,人們對于移動邊緣設(shè)備需求越來越高,卷積神經(jīng)網(wǎng)絡(luò)輕量化訴求越來越多,如何在邊緣設(shè)備上更加流暢地運(yùn)行深度學(xué)習(xí)算法成為一種挑戰(zhàn)。邊緣設(shè)備存儲空間少、算力資源匱乏,為卷積神經(jīng)網(wǎng)絡(luò)輕量化方法提供了廣闊的研究與發(fā)展平臺。
常用卷積神經(jīng)網(wǎng)絡(luò)輕量化方法大致可分為兩種:其一是對模型結(jié)構(gòu)進(jìn)行精細(xì)化設(shè)計,如MobileNet系列[1-2]、SqueezeNet[3]與ShuffleNet系列[4-5]等。它們對模型結(jié)構(gòu)進(jìn)行更加細(xì)致、高效的設(shè)計,使得模型尺寸得以很大程度地縮小,并且取得不錯的精度。其二是保持現(xiàn)有模型宏觀結(jié)構(gòu)不變而對模型進(jìn)行壓縮,包括剪枝[6]、量化[7]、蒸餾[8]等,它們在現(xiàn)有優(yōu)秀模型基礎(chǔ)上對模型內(nèi)部權(quán)值進(jìn)行處理,去除現(xiàn)有模型在固定任務(wù)中的冗余,完成神經(jīng)網(wǎng)絡(luò)輕量化。大多輕量化方法面臨的問題是如何很好地權(quán)衡精度與速度,為使神經(jīng)網(wǎng)絡(luò)過分輕量,則精度難以保證;為過分保證精度,則神經(jīng)網(wǎng)絡(luò)輕量效果微乎其微。如何最佳權(quán)衡速度與精度,是神經(jīng)網(wǎng)絡(luò)輕量化中熱切關(guān)注的話題。
空洞卷積最早被Yu等[9]進(jìn)行系統(tǒng)研究,它是一種傳統(tǒng)圖像卷積的變種,通過對傳統(tǒng)圖像卷積添加空洞,完成對傳統(tǒng)圖像卷積的感受野擴(kuò)張。常使用不同尺度空洞數(shù)的空洞卷積用作多尺度特征圖信息與感受野的融合,如目標(biāo)檢測與語義分割任務(wù)中的空洞卷積池化金字塔(atrous spatial pyramid pooling)[10]、ESPNet[11]等。本文受空洞卷積結(jié)構(gòu)特性啟發(fā),對其在神經(jīng)網(wǎng)絡(luò)輕量化方面進(jìn)行了探究。利用空洞卷積采樣與擴(kuò)張感受野的特性,提出三種基于空洞卷積的輕量化方法,分別為基本空洞卷積輕量化方法、改進(jìn)型空洞卷積輕量化方法與融合型空洞卷積輕量化方法?;究斩淳矸e輕量化方法將空洞卷積直接應(yīng)用于網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計,具有輕量化效果好、準(zhǔn)確率損失略高的特點(diǎn);改進(jìn)型空洞卷積輕量化方法將逐點(diǎn)卷積與空洞卷積結(jié)合應(yīng)用于網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計,具有輕量化效果顯著、準(zhǔn)確率損失劇烈的特點(diǎn);融合型空洞卷積輕量化方法將改進(jìn)型空洞卷積輕量化方法與普通卷積融合應(yīng)用于網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計,具有輕量化效果明顯、準(zhǔn)確率損失微小的特點(diǎn)。融合型空洞卷積方法具有最好的速度與精度的權(quán)衡。
對模型精細(xì)化設(shè)計來實現(xiàn)神經(jīng)網(wǎng)絡(luò)輕量化往往通過使用小卷積核代替大卷積核、分解卷積、對卷積通道進(jìn)行處理等具體手段來實現(xiàn)[12-13]。現(xiàn)代深度神經(jīng)網(wǎng)絡(luò)通常使用小卷積核代替大卷積核進(jìn)行網(wǎng)絡(luò)設(shè)計[14],SqueezeNet是最早公開的輕量化結(jié)構(gòu)設(shè)計網(wǎng)絡(luò),一方面使用1×1小卷積核部分代替3×3卷積核,可減少8倍的卷積操作參數(shù)量與很大一部分的卷積操作運(yùn)算量。另一方面對于保留的3×3卷積核進(jìn)行通道數(shù)縮減,可達(dá)到進(jìn)一步的參數(shù)量與運(yùn)算量衰減。MobileNet使用深度可分離卷積模塊完成了輕量化網(wǎng)絡(luò)設(shè)計,深度可分離卷積使用深度卷積與逐點(diǎn)卷積前后串聯(lián),完成對MobileNet網(wǎng)絡(luò)輕量化設(shè)計,并取得了不錯的效果。其中深度卷積采用組卷積思想,針對每個輸入通道采用不同卷積核;逐點(diǎn)卷積利用1×1小卷積核特性,實現(xiàn)維度的擴(kuò)展。ShuffleNet使用了分組卷積思想,并將來自不同組的特征信息進(jìn)行混洗,使得分組過后卷積的特征信息打亂混合,能夠更好地流通。上述的模型精細(xì)化方式通過對模型宏觀結(jié)構(gòu)與微觀結(jié)構(gòu)的重新設(shè)計,實現(xiàn)了一種新的高效主干網(wǎng)絡(luò),從結(jié)構(gòu)層面完成了對神經(jīng)網(wǎng)絡(luò)的輕量級設(shè)計。
受眾多神經(jīng)網(wǎng)絡(luò)輕量化方法啟發(fā),本文從神經(jīng)網(wǎng)絡(luò)微觀結(jié)構(gòu)精細(xì)化入手,對一種結(jié)構(gòu)較特殊的卷積——空洞卷積在神經(jīng)網(wǎng)絡(luò)輕量化方面進(jìn)行了研究。以空洞卷積擴(kuò)張感受野特性為切入點(diǎn),對空洞卷積在神經(jīng)網(wǎng)絡(luò)輕量化方法中應(yīng)用的可行性與特性進(jìn)行了研究。將空洞卷積作為主體研究對象,結(jié)合SqueezeNet卷積通道擠壓思想,對殘差塊進(jìn)行空洞卷積輕量化設(shè)計。并將輕量化方法應(yīng)用于圖像分類與目標(biāo)檢測兩種任務(wù),在三個數(shù)據(jù)集上對空洞卷積輕量化方法進(jìn)行實驗分析與研究。
空洞卷積是一種特殊結(jié)構(gòu)的卷積,引入空洞的概念,通過對傳統(tǒng)圖像卷積進(jìn)行空洞數(shù)添加,達(dá)到擴(kuò)大卷積感受野的目的。令Gi為第i層特征圖,F(xiàn)i為第i層卷積層,則普通離散卷積操作計算公式如式(1)所示,其中p為卷積后生成特征圖內(nèi)的點(diǎn),a為原始特征圖Gi內(nèi)的點(diǎn),b為卷積層Fi內(nèi)的點(diǎn)。
空洞卷積計算公式如式(2)所示,其中m為擴(kuò)張率,為普通卷積添加的空洞數(shù)目加1。即擴(kuò)張率m為1時,空洞卷積變?yōu)槠胀ň矸e。
由空洞卷積與普通卷積計算公式可知,空洞卷積運(yùn)算具有等間隔采樣特性,而其采樣程度由擴(kuò)張率確定,即擴(kuò)張率越大,空洞卷積采樣范圍越大,單位范圍內(nèi)的采樣點(diǎn)數(shù)越少。
感受野描述卷積操作后的輸出特征圖上像素點(diǎn)對于被卷積圖上映射區(qū)域的大小[15]。在感受野敏感的任務(wù)如目標(biāo)檢測、圖像識別等,對于感受野的著重考量直接決定任務(wù)效果。感受野計算公式如式(3),rfk表示第k層感受野大小,rfk-1表示第k-1層感受野大小,nk表示第k層的卷積核尺寸大小,si表示k層前第i層卷積的步長。
空洞卷積在不減小特征圖大小的前提下擴(kuò)大了感受野,第k層空洞卷積的核大小dlk計算公式如式(4),其中l(wèi)k表示第k層原始普通卷積的核大小。
將式(4)代入式(3)可得第k層dlk大小的空洞卷積核對于lk大小普通卷積核擴(kuò)展的感受野為rf_expendk,如公式(5):
對于感受野關(guān)系的具象描述如圖1所示,以5×5普通卷積核對一個5×5的圖像矩陣進(jìn)行一次卷積操作為例。源圖像經(jīng)卷積后,得到1×1的特征圖,即特征圖僅存像素點(diǎn)的感受野為整個源圖像。圖2用兩層3×3普通卷積串聯(lián)對一個5×5的圖像矩陣進(jìn)行兩次卷積操作,卷積后同樣得到1×1特征圖,即兩層3×3串聯(lián)的兩次卷積操作與一層5×5的卷積操作得到特征圖感受野一致??斩淳矸e為3×3的普通卷積核元素之間添加一個空洞,即擴(kuò)張率為2,如圖3所示。以該空洞卷積對一個5×5的圖像矩陣進(jìn)行一次卷積操作,得到了1×1的特征圖??梢娡ㄟ^此空洞卷積操作得到特征圖與使用5×5的普通卷積一次卷積操作、使用3×3的普通卷積兩次卷積操作感受野一致,空洞卷積利用較小的參數(shù)量實現(xiàn)較大的感受野。
圖1 普通5×5卷積一次卷積過程Fig.1 Process of 5×5 general convolution convolve once
圖2 普通3×3卷積兩次卷積過程Fig.2 Process of 3×3 general convolution convolve twice
圖3 空洞數(shù)為1的3×3空洞卷積一次卷積過程Fig.3 Process of 3×3 dilated convolution which has 1 hole convolve once
現(xiàn)代典型的卷積神經(jīng)網(wǎng)絡(luò)如VGG、ResNet、DLA等多使用兩層串聯(lián)卷積層組成卷積組用以特征提取。尤其跳躍連接型卷積神經(jīng)網(wǎng)絡(luò),更是直接使用兩層3×3的普通卷積串聯(lián)的卷積組作為網(wǎng)絡(luò)的基本殘差塊。本文以保障各卷積組的輸入輸出特征圖與特征圖感受野大小不變?yōu)榍疤?,利用空洞卷積結(jié)構(gòu)可以用較小參數(shù)量與運(yùn)算量實現(xiàn)較大感受野的特性,設(shè)計了基本空洞卷積輕量化方法。
令輸入特征圖大小為Hin×Win×Cin,Hin為輸入特征圖長度,Win為輸入特征圖寬度,Cin為輸入特征圖通道數(shù)。第一層卷積核大小為L1×L1×C1_in×C1_out,L1為卷積核尺寸,C1_in為卷積核輸入通道數(shù)且C1_in=Cin,C1_out為卷積核輸出通道數(shù),第二層卷積核大小為L2×L2×C2_in×C2_out,L2為卷積核尺寸,C2_in為卷積核輸入通道數(shù),C2_out為卷積核輸出通道數(shù),以Cout表示輸出特征圖通道數(shù),則C1_out=C2_in=C2_out=Cout。令卷積操作步長為1,無填充操作,則兩層普通卷積層串聯(lián)后操作得到特征圖感受野R1為:
設(shè)定空洞卷積以第一層普通卷積為基礎(chǔ),對其添加空洞。則其擴(kuò)張率m=(L2-1)(L1-1)+1時,R1=R2,MS1=MS2。
由上述公式推導(dǎo),以各層次的特征圖尺寸與感受野大小不變?yōu)榍疤幔靡粚涌斩淳矸e層近似兩層普通卷積層的表達(dá)能力,進(jìn)行基本空洞卷積輕量化方法設(shè)計。經(jīng)過兩層普通卷積運(yùn)算的運(yùn)算量U1為:
設(shè)定基本空洞卷積輕量化方法卷積核尺寸DL由尺寸為L1的普通卷積擴(kuò)張而來,其運(yùn)算量U2為:
由式(2)可知空洞卷積結(jié)構(gòu)本身具有等間隔采樣特性,過大的擴(kuò)張率使得空洞卷積單位范圍采樣點(diǎn)數(shù)過少,損失過多的信息依賴與相關(guān)特性。為使空洞卷積的空洞盡可能少損失信息依賴性與相關(guān)性,本文采用最小的空洞數(shù),即只添加一個空洞的空洞卷積進(jìn)行輕量化方法設(shè)計。實驗經(jīng)驗證明[14],較小的卷積核具有更好的靈活性并帶來更好的性能表現(xiàn),故采用3×3的普通卷積,即L1=L2=3,m=2的空洞卷積進(jìn)行輕量化方法設(shè)計。
為驗證空洞卷積對于輕量化方面的表現(xiàn),本文將空洞卷積輕量化方法嵌入到幾個典型的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)VGG[16]、ResNet[17]和DLA[18]中。其中VGG是一種直接傳輸型結(jié)構(gòu),ResNet是一種引入殘差連接增加網(wǎng)絡(luò)深度與泛化能力的跳躍連接型結(jié)構(gòu)。DLA(deep layer aggregation)是改進(jìn)ResNet的深度聚合跳躍連接型結(jié)構(gòu),它將不同層次卷積組聚合從而達(dá)到更好的網(wǎng)絡(luò)效果。在ResNet和DLA的跳躍連接型結(jié)構(gòu)中,典型的殘差塊使用兩層3×3的普通卷積串聯(lián)保證合適的感受野,并使用跳躍連接完成殘差傳輸同時融合輸入與輸出特征圖的感受野。本文應(yīng)用小尺寸小空洞數(shù)空洞卷積核即擴(kuò)張率為2的3×3的空洞卷積重新設(shè)計殘差塊結(jié)構(gòu)。以一層空洞卷積近似兩層串聯(lián)的普通卷積,在保證合適的感受野同時起到輕量化作用,過程如圖4。本文稱這種空洞卷積殘差塊設(shè)計過程為基本空洞卷積輕量化方法。
圖4 將基本空洞卷積輕量化方法應(yīng)用于普通卷積殘差塊Fig.4 Applying basic dilated convolution lightweight method to general convolution residual block
以輸入特征圖尺寸為5×5×64,輸入通道數(shù)為64、輸出通道數(shù)為128為例,進(jìn)行具體計算。根據(jù)公式(10)~(15)可以計算得到,僅考慮殘差塊內(nèi)的卷積操作,普通卷積殘差塊運(yùn)算量為3 170 304,基本空洞卷積殘差塊運(yùn)算量為1 843 200,基本空洞卷積殘差塊較普通卷積殘差塊運(yùn)算削減量為1 327 104,基本空洞卷積殘差塊運(yùn)算量為普通卷積殘差塊運(yùn)算量的58.1%。普通卷積殘差塊參數(shù)量為221 184,基本空洞卷積殘差塊參數(shù)量為73 728,基本空洞卷積殘差塊較普通卷積殘差塊參數(shù)削減量為147 456,基本空洞卷積殘差塊參數(shù)量僅為普通卷積殘差塊參數(shù)量的33.3%。由此可見基本空洞卷積輕量化方法可以使參數(shù)量與運(yùn)算量大量縮減。
受輕量級神經(jīng)網(wǎng)絡(luò)MobileNet、SqueezeNet等設(shè)計思路啟發(fā),本文將空洞卷積與1×1的逐點(diǎn)卷積相結(jié)合,對基本空洞卷積殘差塊進(jìn)行進(jìn)一步改進(jìn),提出了一種改進(jìn)型空洞卷積輕量化方法。
1×1的逐點(diǎn)卷積具有等化感受野的特性,常用于卷積神經(jīng)網(wǎng)絡(luò)中的維度變換操作,具有參數(shù)量少、運(yùn)算量少的特點(diǎn)。設(shè)定M′個1×1的逐點(diǎn)卷積作為可學(xué)習(xí)的濾波器,用以對原始特征圖進(jìn)行特征壓縮。設(shè)定原始特征圖尺寸為H′×W′×N′,即1×1卷積輸入通道也為N′,利用1×1卷積操作得到尺寸為H′×W′×M′的特征圖以對原始特征圖進(jìn)行近似表示。這里M′<N′,即1×1的逐點(diǎn)卷積利用其可學(xué)習(xí)的濾波特性,對原始特征圖進(jìn)行了特征抽取,完成了特征圖通道的壓縮,減少了下一階段進(jìn)行卷積操作所需的參數(shù)量與運(yùn)算量。其過程如圖5。1×1的逐點(diǎn)卷積使輸出特征圖以M′通道近似表示輸入為N′通道的特征圖,即:GH′×W′×M′out→GH′×W′×N′in,其中GH′×W′×N′in表示尺寸為H′×W′×N′的輸入特征圖,GH′×W′×M′out表示經(jīng)過1×1逐點(diǎn)卷積操作后的輸出特征圖,尺寸為H′×W′×M′。
圖5 1×1卷積壓縮特征圖過程Fig.5 Process of 1×1 convolution compress feature map
利用1×1逐點(diǎn)卷積等化感受野同時的通道壓縮特性,在逐點(diǎn)卷積過后,串聯(lián)一層空洞卷積層,用以保證殘差塊的感受野,進(jìn)行進(jìn)一步的輕量化。改進(jìn)型空洞卷積輕量化方法具體結(jié)構(gòu)如圖6。
圖6 改進(jìn)型空洞卷積輕量化方法Fig.6 Improved dilated convolution lightweight method
改進(jìn)型空洞卷積輕量化方法利用逐點(diǎn)卷積與空洞卷積結(jié)合,其運(yùn)算量Uimpr可用式(16)計算,其參數(shù)量Pimpr可用式(17)計算:
式(16)、(17)中Cin、Cout、Hin、Win與式(10)定義相同;Lp代表壓縮的通道數(shù),這里取16。由公式計算組成可知,改進(jìn)型空洞卷積輕量化方法對比基本空洞卷積輕量化方法的參數(shù)量與運(yùn)算量的削減主要由1×1逐點(diǎn)卷積的小卷積核、通道數(shù)壓縮特性與空洞卷積特性結(jié)合而成。同樣以輸入特征圖尺寸為5×5×64、輸入通道數(shù)為64、輸出通道數(shù)為128為例,改進(jìn)型空洞卷積輕量化方法運(yùn)算量為486 400,改進(jìn)型空洞卷積輕量化方法參數(shù)量為19 456。僅這一尺度卷積核,改進(jìn)型空洞卷積輕量化方法運(yùn)算量與參數(shù)量是基本空洞卷積輕量化方法的26.4%。將改進(jìn)型空洞卷積輕量化方法的壓縮通道特性應(yīng)用于深度殘差網(wǎng)絡(luò)中,其對每層輸入的卷積通道數(shù)進(jìn)行壓縮,在整個網(wǎng)絡(luò)的輕量化表現(xiàn)上比單純使用一個殘差塊的表現(xiàn)更為突出。使用逐點(diǎn)卷積進(jìn)行輸入通道壓縮為改進(jìn)型空洞卷積輕量化方法帶來了在大型網(wǎng)絡(luò)中對輸入通道的統(tǒng)一輸入維度的壓縮特性。
過多使用空洞卷積對網(wǎng)絡(luò)進(jìn)行輕量化操作,將帶來較大精度衰減,主要原因有:(1)由式(2)可見空洞卷積結(jié)構(gòu)具有等間隔采樣特性,頻繁地采樣會損失各層次特征圖的部分有用特征信息;(2)深度神經(jīng)網(wǎng)絡(luò)的本質(zhì)在于在一個求解空間內(nèi)擬合一個最優(yōu)的目標(biāo)函數(shù),深度更深的網(wǎng)絡(luò)具有更大的求解空間。用一層空洞卷積替代兩層普通卷積,盡管保證了各層次特征圖與感受野的大小,卻減少了網(wǎng)絡(luò)的深度,縮小了原本兩層普通卷積所具有的求解空間,犧牲了原網(wǎng)絡(luò)的一些表達(dá)能力。
由式(18)可知,融合型空洞卷積輕量化方法輸出特征圖信息來自于普通卷積與改進(jìn)型空洞卷積輕量化方法兩種操作,此種融合型空洞卷積輕量化方法在保證整個殘差塊感受野的前提下,既利用了普通卷積的高精度特性,又利用了改進(jìn)型空洞卷積輕量化特性,在具有很好的輕量化效果同時,保證了很好的精度,是在基于空洞卷積的輕量化方法中,綜合性能最好的方法。融合型空洞卷積殘差塊的結(jié)構(gòu)如圖7。
圖7 融合型空洞卷積輕量化方法Fig.7 Fusing dilated convolution lightweight method
融合型空洞卷積殘差塊參數(shù)量、運(yùn)算量為塊中的普通型卷積塊與應(yīng)用改進(jìn)型空洞卷積輕量化方法卷積塊的參數(shù)量、運(yùn)算量相加,以輸入特征圖尺寸為5×5×64、輸入通道數(shù)為64,整體卷積塊輸出通道數(shù)為128,普通型卷積塊與改進(jìn)型空洞卷積塊輸出通道數(shù)都為64,進(jìn)行舉例計算說明。融合型空洞卷積輕量化方法運(yùn)算量使用式(10)與式(16)聯(lián)合進(jìn)行計算,參數(shù)量使用式(13)與式(17)聯(lián)合進(jìn)行計算,得結(jié)果運(yùn)算量為1 509 376,參數(shù)量為83 968。由此可見就單一卷積塊,融合型空洞卷積輕量化方法運(yùn)算量是原本普通卷積塊的47.6%,參數(shù)量是原本普通卷積塊的38.0%。
融合型空洞卷積方法在速度和精度上取得了最好的權(quán)衡,在保障卷積塊感受野的前提下,充分利用了普通卷積塊與改進(jìn)型空洞卷積塊的特點(diǎn),取得很好的精度與速度的權(quán)衡。此種方法可以大大減少原本單純使用空洞卷積進(jìn)行輕量化操作時帶來的特征信息與相關(guān)信息的損失。此種殘差塊同時具有通用性,在基于殘差塊的網(wǎng)絡(luò)結(jié)構(gòu)中應(yīng)用。對于殘差型深度卷積神經(jīng)網(wǎng)絡(luò)可以保證高精度同時減少參數(shù)量與運(yùn)算量。
實驗環(huán)境:本文使用PyTorch框架進(jìn)行程序編寫,并應(yīng)用CUDA進(jìn)行GPU加速。使用Intel Core i5 CPU與NVIDIA GTX 1660TI GPU配置的硬件平臺完成實驗。
數(shù)據(jù)集與評價標(biāo)準(zhǔn):本文將3種空洞卷積輕量化方法分別嵌入到典型網(wǎng)絡(luò)結(jié)構(gòu)中對圖像分類與目標(biāo)檢測任務(wù)進(jìn)行實驗。使用CIFAR10與CIFAR100兩種數(shù)據(jù)集進(jìn)行實驗與分析,得到空洞卷積輕量化方法在圖像分類任務(wù)中應(yīng)用結(jié)果。使用KITTI數(shù)據(jù)集完成空洞卷積輕量化方法在目標(biāo)檢測中的應(yīng)用。
CIFAR10數(shù)據(jù)集是一種包含10個類別60 000張彩色圖片的數(shù)據(jù)集。整體被劃分為訓(xùn)練集50 000張圖片,測試集10 000張圖片,包含5個訓(xùn)練批次與1個測試批次。本文應(yīng)用CIFAR10進(jìn)行基本型、改進(jìn)型與融合型空洞卷積方法實驗,以準(zhǔn)確率作為評判標(biāo)準(zhǔn)。
CIFAR100數(shù)據(jù)集是對CIFAR10圖像的精細(xì)標(biāo)注,包含100個類別。本文采取兩種形式準(zhǔn)確率作為評判標(biāo)準(zhǔn),Top1準(zhǔn)確率設(shè)定預(yù)測得到最大概率作為分類結(jié)果,其正確則判定分類成功;Top5準(zhǔn)確率設(shè)定預(yù)測得到最大5個概率中存在1個正確結(jié)果即判定分類成功。Top5準(zhǔn)確率較Top1準(zhǔn)確率具有更好的寬容性,二者聯(lián)合能更好衡量多分類任務(wù)的性能。
KITTI數(shù)據(jù)集是一種被應(yīng)用廣泛的自動駕駛領(lǐng)域數(shù)據(jù)集。本文使用它的目標(biāo)檢測子集,包含用7 481張訓(xùn)練圖片與7 518張測試圖片。圖片中目標(biāo)對象被標(biāo)注為汽車、行人等9類。本文采取KITTI官方提出的幾種評價標(biāo)準(zhǔn),即AP(準(zhǔn)確率)、AOS(平均角度得分)、BEV AP(鳥瞰圖準(zhǔn)確率)作為目標(biāo)檢測效果評價標(biāo)準(zhǔn),每種評價標(biāo)準(zhǔn)分為簡單、適中、艱難三種程度。以此多標(biāo)準(zhǔn)混合評價來分析空洞卷積輕量化方法應(yīng)用于自動駕駛場景目標(biāo)檢測的效果。
性能上圖像分類與目標(biāo)檢測任務(wù)皆使用參數(shù)量和FLOPs(浮點(diǎn)運(yùn)算次數(shù))來衡量。參數(shù)量用以衡量模型大小,F(xiàn)LOPs用以衡量模型計算復(fù)雜度。模型計算復(fù)雜度可體現(xiàn)模型速度,即同等硬件條件下,復(fù)雜度越高,速度越慢。
3.2.1 基本空洞卷積輕量化方法在圖像分類任務(wù)實驗及結(jié)果分析
本文使用CIFAR10數(shù)據(jù)集對基本空洞卷積輕量化方法進(jìn)行圖像分類實驗。選取直接連接型(VGG)與跳躍連接型(ResNet、DLA)網(wǎng)絡(luò)結(jié)構(gòu)應(yīng)用基本空洞卷積輕量化方法于CIFAR10數(shù)據(jù)集上進(jìn)行實驗。選取VGG19、ResNet18、ResNet34、DLA18、DLA34幾種網(wǎng)絡(luò),以相同的訓(xùn)練規(guī)則對使用基本空洞卷積輕量化方法與未使用基本空洞卷積輕量化方法的網(wǎng)絡(luò)進(jìn)行250輪的訓(xùn)練。最終得到圖像分類準(zhǔn)確率,并對參數(shù)量、FLOPs進(jìn)行比較,結(jié)果如圖8。通過數(shù)據(jù)對比可知,空洞卷積輕量化效果對跳躍連接型網(wǎng)絡(luò)減少參數(shù)量與運(yùn)算量的幅度最佳,平均減少50%甚至更多,而直接連接型網(wǎng)絡(luò)輕量化效果相對略有不佳,運(yùn)算量僅減少了43%。基本空洞卷積具有很好的輕量效果,代價卻是明顯的準(zhǔn)確率下降。其中ResNet18的準(zhǔn)確率下降程度最為劇烈,下降了2.62%,本文認(rèn)為這種下降一方面與空洞卷積結(jié)構(gòu)本身等間隔采樣特性帶來部分信息損失有關(guān),另一方面與基本空洞卷積將原本深度較深的網(wǎng)絡(luò)變淺,損失了較大的泛化性能有關(guān)。ResNet18在經(jīng)過基本空洞卷積輕量化方法后,網(wǎng)絡(luò)深度變?yōu)樽顪\,并且不具備DLA的深度聚合特性,故其準(zhǔn)確率損失最劇烈。
圖8 基本空洞卷積輕量化方法在CIFAR10數(shù)據(jù)集上實驗結(jié)果Fig.8 Experimental results of basic dilated convolution lightweight method in CIFAR10 dataset
3.2.2 改進(jìn)型與融合型空洞卷積輕量化方法在圖像分類任務(wù)實驗及結(jié)果分析
本文接著使用CIFAR10與CIFAR100兩種數(shù)據(jù)集,對改進(jìn)型與融合型空洞卷積方法在圖像分類任務(wù)上,進(jìn)行細(xì)致對比實驗,并著重分析。針對跳躍連接型網(wǎng)絡(luò),應(yīng)用改進(jìn)型與融合型空洞卷積輕量化方法對ResNet與DLA兩種結(jié)構(gòu)的四種網(wǎng)絡(luò)在CIFAR10與CIFAR100上進(jìn)行了實驗。對每個數(shù)據(jù)集上的不同網(wǎng)絡(luò)采用同樣的訓(xùn)練規(guī)則進(jìn)行250輪數(shù)的訓(xùn)練。
對于CIFAR10數(shù)據(jù)集圖像分類實驗結(jié)果如圖9所示。圖中越靠近橫軸左側(cè),模型所需的參數(shù)量與運(yùn)算量越少,模型越輕量;越靠近縱軸上側(cè),模型準(zhǔn)確率越高,分類效果越好;整體越偏在左上側(cè)的模型,兼具少參數(shù)量、少運(yùn)算量、高準(zhǔn)確率,是最理想的模型。由本文在CIFAR10數(shù)據(jù)集上的結(jié)果來看,改進(jìn)型空洞卷積輕量化方法對于減少模型參數(shù)量與運(yùn)算量的效果是十分好的,而對于準(zhǔn)確率的衰減也是很大的。這種準(zhǔn)確率衰減除了基本空洞卷積帶來的衰減,還有1×1逐點(diǎn)卷積近似表達(dá)的影響。融合型空洞卷積輕量化方法位于整個模型分布實驗結(jié)果的左上側(cè)的位置,雖然沒有改進(jìn)型空洞卷積方法的輕量化效果好,卻保留了很好的準(zhǔn)確率,很好地綜合了精度衰減與模型輕量化,具有更好的均衡性。
圖9 CIFAR10數(shù)據(jù)集中改進(jìn)型與融合型空洞卷積輕量化方法實驗結(jié)果Fig.9 Experimental results of improved and fusing dilated convolution lightweight method method in CIFAR10 dataset
對于CIFAR100數(shù)據(jù)集的圖像分類結(jié)果、參數(shù)量及FLOPs對比結(jié)果如表1所示。CIFAR100數(shù)據(jù)集具有更細(xì)致準(zhǔn)確的衡量標(biāo)準(zhǔn),通過表內(nèi)數(shù)據(jù)對比可知,改進(jìn)型的空洞卷積輕量化方法在參數(shù)量與運(yùn)算量衰減方面具有更加明顯的效果,ResNet結(jié)構(gòu)可以達(dá)到十倍以上的參數(shù)量與運(yùn)算量衰減,DLA結(jié)構(gòu)可以達(dá)到六倍以上的參數(shù)量與運(yùn)算量衰減,而這種明顯的輕量化效果帶來的準(zhǔn)確率降低也十分劇烈。在CIFAR100數(shù)據(jù)集上,Top1準(zhǔn)確率降低最高可達(dá)8.72%,最低可達(dá)1.65%,Top5準(zhǔn)確率降低最高可達(dá)3.20%,最低可達(dá)0.12%。可見準(zhǔn)確率的降低存在差異性,從深度上來看,深度越深的網(wǎng)絡(luò)受改進(jìn)型空洞卷積輕量化方法降低準(zhǔn)確率的影響越小;從結(jié)構(gòu)上來看,聚合程度較高的DLA結(jié)構(gòu)較ResNet結(jié)構(gòu)受改進(jìn)型空洞卷積方法降低準(zhǔn)確率影響更小。對于融合型空洞卷積輕量化方法,其綜合了參數(shù)量、運(yùn)算量與準(zhǔn)確率。由實驗結(jié)果可知,融合型空洞卷積輕量化方法的輕量化程度不如改進(jìn)型空洞卷積輕量化方法,可以達(dá)到約兩倍多的參數(shù)量與運(yùn)算量衰減,但卻保證了高準(zhǔn)確率。在CIFAR100上,應(yīng)用融合型空洞卷積方法設(shè)計網(wǎng)絡(luò)與原始網(wǎng)絡(luò)Top1準(zhǔn)確率與Top5準(zhǔn)確率降低并不明顯,降低程度在0.5%之內(nèi),其中存在個別經(jīng)過融合型空洞卷積方法輕量化設(shè)計后的網(wǎng)絡(luò)結(jié)構(gòu)準(zhǔn)確率較原始網(wǎng)絡(luò)高。綜上所述,改進(jìn)型空洞卷積輕量化方法具有極佳的輕量化效果,卻難以保證準(zhǔn)確率。融合型空洞卷積輕量化方法在可以減少一半?yún)?shù)量與運(yùn)算量的情況下,保證與原網(wǎng)絡(luò)準(zhǔn)確率相當(dāng)甚至更高,是一種很好的綜合速度與精度的輕量化方法。
表1 CIFAR100數(shù)據(jù)集改進(jìn)型與融合型空洞卷積輕量化方法實驗結(jié)果Table 1 Experimental results of improved and fusing dilated convolution lightweight method of CIFAR100 dataset
本文選取了MobileNet[1]、MobileNetv2[2]、SqueezeNet[3]、ShuffleNet[4]、ShuffleNetv2[5]幾種典型的輕量級神經(jīng)網(wǎng)絡(luò)在CIFAR100上應(yīng)用與前實驗一致的訓(xùn)練方法進(jìn)行訓(xùn)練。選取應(yīng)用改進(jìn)型空洞卷積方法的兩種網(wǎng)絡(luò)進(jìn)行對比,對比結(jié)果如表2。由結(jié)果可知,ResNet18雖然準(zhǔn)確率衰減最為劇烈,但是改進(jìn)型空洞卷積方法帶給了它十分優(yōu)越的輕量化效果。在參數(shù)量大大少于MobileNet,運(yùn)算量與MobileNet相當(dāng)?shù)那闆r下,Top1準(zhǔn)確率與Top5準(zhǔn)確率皆優(yōu)于MobileNet。使用經(jīng)過改進(jìn)型空洞卷積方法重新設(shè)計微觀結(jié)構(gòu)的DLA18網(wǎng)絡(luò),在參數(shù)量與其他幾個網(wǎng)絡(luò)相當(dāng),運(yùn)算量高于其他幾個網(wǎng)絡(luò)的情況下,Top1準(zhǔn)確率與Top5準(zhǔn)確率大大優(yōu)于其他幾種網(wǎng)絡(luò)。改進(jìn)型空洞卷積方法輕量化特性配合合適的宏觀網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計,可以實現(xiàn)與典型輕量化神經(jīng)網(wǎng)絡(luò)性能無明顯差別。
表2 典型輕量化神經(jīng)網(wǎng)絡(luò)與改進(jìn)型空洞卷積結(jié)構(gòu)的網(wǎng)絡(luò)在CIFAR100實驗結(jié)果Table 2 Experimental results of typical lightweight neural networks and improved dilated convolution networks in CIFAR100
目標(biāo)檢測任務(wù)分為單階段與雙階段[19],本文使用一種無錨點(diǎn)單階段目標(biāo)檢測方法CenterNet[20]作為目標(biāo)檢測任務(wù)框架,應(yīng)用ResNet34與DLA34作為其主干網(wǎng)絡(luò),于KITTI數(shù)據(jù)集上進(jìn)行目標(biāo)檢測任務(wù)實驗。CenterNet繼承了CornerNet[21]檢測角點(diǎn)的思想并進(jìn)一步改進(jìn),應(yīng)用熱圖回歸目標(biāo)中心點(diǎn)完成目標(biāo)檢測任務(wù)。本文不對框架本身結(jié)構(gòu)進(jìn)行改進(jìn),只使用兩種不同的主干網(wǎng)絡(luò),應(yīng)用改進(jìn)型與融合型空洞卷積輕量化方法作對比分析。本文均使用純凈的DLA34與ResNet34作為目標(biāo)檢測框架的主干網(wǎng)絡(luò),不增加別提升精度的技巧。不追求過高精度,只對比使用空洞卷積輕量化方法與未使用空洞卷積輕量化方法在目標(biāo)檢測上的表現(xiàn)。實驗過程中未使用預(yù)訓(xùn)練模型,對幾種方法采取相同的訓(xùn)練方法訓(xùn)練了70輪,實驗結(jié)果如表3與表4。
表3 DLA34為CentetNet主干網(wǎng)絡(luò)對應(yīng)用空洞卷積輕量化方法于KITTI數(shù)據(jù)集上實驗結(jié)果Table 3 Experimental result of CentetNet which backbone is DLA34 with dilated convolution lightweight method in KITTI dataset
表4 ResNet34為CentetNet主干網(wǎng)絡(luò)對應(yīng)用空洞卷積輕量化方法于KITTI數(shù)據(jù)集上實驗結(jié)果Table 4 Experimental result of CentetNet which backbone is ResNet34 with dilated convolution lightweight method in KITTI dataset
由實驗結(jié)果可知,因CenterNet中還存在一些別的占用參數(shù)量與運(yùn)算量的操作,改進(jìn)型與融合型空洞卷積輕量化方法輕量化程度不如單純的圖像分類任務(wù),但依舊帶來了可觀的輕量化效果。改進(jìn)型空洞卷積輕量化方法在目標(biāo)檢測任務(wù)上依舊可以帶來更佳的輕量化效果,但其準(zhǔn)確率、平均角度得分、鳥瞰圖準(zhǔn)確率依然大幅降低,其中ResNet結(jié)構(gòu)較DLA結(jié)構(gòu)下降更為劇烈。融合型空洞卷積輕量化方法在帶來較好輕量化效果同時,保證了準(zhǔn)確率、平均角度得分、鳥瞰圖準(zhǔn)確率。圖10為一個出現(xiàn)極端情況的代表性檢測效果示例。圖中紅色框標(biāo)注為檢測出了小汽車,黃色框為檢測出了騎行人??梢姂?yīng)用改進(jìn)型空洞卷積輕量化方法的網(wǎng)絡(luò)檢測出了大部分小汽車。其擁有最少的參數(shù)量,消耗最少的計算資源,卻出現(xiàn)了漏檢與誤檢。如DLA34+改進(jìn)型檢測結(jié)果中的中間部分小汽車的漏檢,ResNet34+改進(jìn)型結(jié)果中的旁邊黃色框部分背景的誤檢。原始網(wǎng)絡(luò)與應(yīng)用融合型空洞卷積輕量化方法網(wǎng)絡(luò)都具有較好的檢測效果,都檢測出來了圖片內(nèi)所有小汽車,無漏檢與誤檢,并且相比原始網(wǎng)絡(luò)應(yīng)用融合型空洞卷積輕量化方法具有更少的參數(shù)量,消耗更少的計算資源。
圖10 應(yīng)用空洞卷積輕量化方法的CenterNet框架于KITTI數(shù)據(jù)集上目標(biāo)檢測結(jié)果實例Fig.10 Examples of object detection results on KITTI dataset by using CenterNet with dilated convolution lightweight methods
本文對空洞卷積應(yīng)用于輕量化方面的特性進(jìn)行了研究,提出了基于空洞卷積的輕量化方法:基本空洞卷積輕量化方法、改進(jìn)型空洞卷積輕量化方法和融合型空洞卷積輕量化方法。經(jīng)過理論研究與實驗分析,發(fā)現(xiàn)基本空洞卷積輕量化方法輕量化同時會造成準(zhǔn)確率降低,降低程度兩種因素影響,其一為網(wǎng)絡(luò)深度的影響,即深度越深準(zhǔn)確率降低越不明顯;其二為網(wǎng)絡(luò)宏觀結(jié)構(gòu)的影響,即宏觀結(jié)構(gòu)聚合程度越高準(zhǔn)確率降低越不明顯。本文提出的改進(jìn)型空洞卷積輕量化方法可帶來最好的輕量化效果伴隨著最劇烈的準(zhǔn)確率降低程度。融合型空洞卷積輕量化方法可很好綜合速度與精度,在帶來較好的輕量化效果同時,可保留與原網(wǎng)絡(luò)相當(dāng)甚至更高的準(zhǔn)確率,具有更好的普適性。