邱飛岳,孔德偉,張志勇,章國(guó)道
1(浙江工業(yè)大學(xué) 教育科學(xué)與技術(shù)學(xué)院,杭州 310023) 2(浙江工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,杭州 310023) 3(東華理工大學(xué) 信息工程學(xué)院,南昌 330013) E-mail:david_kong860@163.com
卷積神經(jīng)網(wǎng)絡(luò)在當(dāng)前最先進(jìn)的圖像分類、目標(biāo)檢測(cè)[1]、語(yǔ)義分割[2,3]、語(yǔ)音識(shí)別[4]等領(lǐng)域下都有非常出色的表現(xiàn).早在1998年,Lecun[5]等設(shè)計(jì)最原始的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)LeNet-5對(duì)手寫數(shù)字進(jìn)行識(shí)別.2012年Krizhevsky[6]等在ImageNet圖像分類競(jìng)賽憑借60M參數(shù)量模型獲勝.2014年Deepface[7]使用9層卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建120M參數(shù)模型進(jìn)行人臉?lè)诸?2015年Gong[8]等人將ImageNet模型參數(shù)大小從200M壓縮至10M.2016年Mohammad[9]等人提出基于二元權(quán)值和XNOR網(wǎng)絡(luò)結(jié)構(gòu),使用二進(jìn)制值作為濾波器輸入能節(jié)省近32倍內(nèi)存消耗,在XNOR網(wǎng)絡(luò)中,使用二進(jìn)制值作為濾波器和卷積層的輸入,卷積運(yùn)算速度提高了近58倍,且內(nèi)存消耗減少近32倍.2017年Zhou[10]等人通過(guò)引入權(quán)值劃分、分組量化、重訓(xùn)練方式將預(yù)訓(xùn)練卷積網(wǎng)絡(luò)每一層權(quán)值劃分為兩個(gè)不相交的組,通過(guò)迭代訓(xùn)練將所有權(quán)值轉(zhuǎn)位低精度的權(quán)值,最終將預(yù)訓(xùn)練的卷積網(wǎng)絡(luò)模型轉(zhuǎn)換為權(quán)值約束為0或2的低精度模型進(jìn)而應(yīng)用與嵌入式設(shè)備.2020年Li[11]等提出一種全卷積多并聯(lián)殘差神經(jīng)網(wǎng)絡(luò),將每一層的特征信息同時(shí)傳輸?shù)匠鼗瘜樱〉幂^好分類效果.應(yīng)用于圖像分類[12]、人臉識(shí)別[13]、超分辨率算法[14]等大型神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)識(shí)別每年都有突破,但是模型的大小對(duì)于嵌入式移動(dòng)設(shè)備來(lái)說(shuō),是一種相當(dāng)大的存儲(chǔ)占用以及計(jì)算資源消耗使得很多優(yōu)秀的網(wǎng)絡(luò)框架難以應(yīng)用于實(shí)際場(chǎng)景中.
本文針對(duì)以上研究問(wèn)題,提出了一種基于改進(jìn)適配并行通道藍(lán)圖分離卷積算法,本文算法主要有以下特點(diǎn):
1)使用卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建端到端訓(xùn)練映射模型,無(wú)需特征工程.
2)采用殘差網(wǎng)絡(luò)結(jié)構(gòu),使用改進(jìn)適配的BS層作為卷積操作,大幅減少模型參數(shù)以及模型復(fù)雜度.
3)借助SE模塊中通道權(quán)重自適應(yīng)的思想,設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu)B2SE,使用并行SE通道,修改SE通道中全連接卷積層,減少全連接層參數(shù),降低模型訓(xùn)練成本.
4)在嵌入式設(shè)備的輕量級(jí)網(wǎng)絡(luò)結(jié)構(gòu)上表現(xiàn)出色,算法性能提升效果明顯.
本文提出基于改進(jìn)適配并行通道藍(lán)圖分離卷積網(wǎng)絡(luò)層結(jié)構(gòu)模型如圖1所示.
圖1 改進(jìn)適配并行通道藍(lán)圖分離卷積層結(jié)構(gòu)模型Fig.1 Model of blueprint separation convolution is embedded in parallel channels
一般來(lái)說(shuō),模型剪枝首先構(gòu)建一個(gè)基本的神經(jīng)網(wǎng)絡(luò)模型,然后依據(jù)一定標(biāo)準(zhǔn)對(duì)構(gòu)建模型進(jìn)行剪枝操作,最后對(duì)剪枝后的神經(jīng)網(wǎng)絡(luò)模型進(jìn)行參數(shù)微調(diào)從而恢復(fù)剪枝過(guò)程中損耗的性能.早在1993年,Hassibi等人[15]提出了一種OBS方法,使用誤差函數(shù)的二階導(dǎo)數(shù)對(duì)網(wǎng)絡(luò)剪枝,通過(guò)訓(xùn)練數(shù)據(jù)和網(wǎng)絡(luò)結(jié)構(gòu)信息計(jì)算逆Hessian矩陣,對(duì)于Thrun[16]提出的3個(gè)MONK基準(zhǔn),在反向傳播過(guò)程中分別允許90%、76%、62%的權(quán)重減少.對(duì)比Sejnowski等人[17],Hassibi等人提出的OBS方法對(duì)模型更好泛化前提下將NET talk網(wǎng)絡(luò)權(quán)重從18000減少至1560.Han等人[18]針對(duì)嵌入式系統(tǒng)的輕量化網(wǎng)絡(luò)結(jié)構(gòu),設(shè)計(jì)網(wǎng)絡(luò)自訓(xùn)練連接層的重要性,通過(guò)修剪冗余連接,自我重新訓(xùn)練,微調(diào)剩余網(wǎng)絡(luò)連接層的權(quán)重,將AlexNet[6]的網(wǎng)絡(luò)層參數(shù)降低90%,VGG-16[19]的網(wǎng)絡(luò)層參數(shù)降低92.5%,而不增加誤差率.Li等人[20]對(duì)于模型剪枝過(guò)程中,卷積層的權(quán)值剪枝由于減少了全連接網(wǎng)絡(luò)層的大量參數(shù)容易導(dǎo)致剪枝網(wǎng)絡(luò)出現(xiàn)不規(guī)則稀疏性的問(wèn)題.提出一種加速卷積網(wǎng)絡(luò)訓(xùn)練的方法,刪除對(duì)模型精度影響小的卷積操作,不同于刪除權(quán)重連接層導(dǎo)致的稀疏連接性問(wèn)題,在VGG-16[19]上的計(jì)算成本減少34.2%,110的殘差網(wǎng)絡(luò)[21]上計(jì)算成本減少38.6%.通常來(lái)說(shuō)修剪結(jié)構(gòu)和權(quán)值賦予是構(gòu)建最終模型的關(guān)鍵,然而現(xiàn)在多數(shù)的修剪方式不是從頭開始訓(xùn)練一個(gè)模型,而是選擇去微調(diào)一個(gè)修剪模型[20],但是從一個(gè)修剪模型中繼承權(quán)值不一定是最優(yōu)的,從而導(dǎo)致使得修剪后的模型陷入局部最優(yōu)問(wèn)題出現(xiàn).
對(duì)于嵌入式設(shè)備的有限資源,通常卷積神經(jīng)網(wǎng)絡(luò)涉及很多層以及數(shù)百萬(wàn)個(gè)參數(shù),從而導(dǎo)致很難在手機(jī)或者嵌入式設(shè)備中使用訓(xùn)練完的模型.2015年Gong等人[8]提出一種通過(guò)向量化的方式壓縮CNN參數(shù)方式,且實(shí)驗(yàn)結(jié)果向量化方法明顯優(yōu)于矩陣分解方法.在嵌入式設(shè)備上,將ImageNet模型大小從200MB壓縮至10MB,驗(yàn)證了Denil等人[22]提出的卷積參數(shù)實(shí)際有效率僅5%.2016年Han等人[23]設(shè)計(jì)一種具有“修剪、量化訓(xùn)練、霍夫曼編碼”的深度壓縮方式,在不影響精度前提下,將模型存儲(chǔ)減小35-49倍.在ImageNet數(shù)據(jù)上,將AlexNet[6]網(wǎng)絡(luò)模型存儲(chǔ)減少35倍,從240MB減少至6.9MB,VGG-16[19]的模型減小49倍,從552MB減少至11.3MB.Tan等人[24]提出一種自動(dòng)化可移動(dòng)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索模型MNASNet,將模型延遲性納入主要目標(biāo)中,以便搜索能夠識(shí)別在準(zhǔn)確性和延遲性之間一個(gè)平衡的模型,在ImageNet分類中,MNASNet能在移動(dòng)嵌入式設(shè)備上實(shí)現(xiàn)75.2%的top-1準(zhǔn)確率,比MobileNetV2[25]高0.5%,速度快1.8倍,比NASNet[26]高1.2%,快2.3倍.嵌入式設(shè)備資源通常作為瓶頸限制,具體表現(xiàn)在DRAM中操作權(quán)重模型比在ALU中,資金的消耗貴兩個(gè)數(shù)量級(jí)以上,且電量的消耗也是一筆巨大的開支.所以設(shè)計(jì)一種體積小、速度快、準(zhǔn)確率高的移動(dòng)設(shè)備模型是非常有必要的.
Srivastava等人[27]早在2015年提出一種使用門禁單元的雙分支架構(gòu)調(diào)整網(wǎng)絡(luò)信息流,從而緩解隨機(jī)梯度的深層網(wǎng)絡(luò)訓(xùn)練.提出了一種基于決策森林的深度神經(jīng)網(wǎng)絡(luò),通過(guò)引入一種隨機(jī)可微決策樹模型,聯(lián)合全局優(yōu)化的分裂葉節(jié)點(diǎn)參數(shù),構(gòu)建具有學(xué)習(xí)分裂功能的多分支樹狀結(jié)構(gòu).Szegedy等人[27]提出了一個(gè)基于Inception的深度卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)GoogLeNet,通過(guò)設(shè)計(jì)基于Hebbian原則和多尺度直覺(jué)處理,擴(kuò)大神經(jīng)網(wǎng)絡(luò)寬度,提高對(duì)網(wǎng)絡(luò)內(nèi)部計(jì)算資源的利用.Gastaldi等人[28]通過(guò)構(gòu)建三分支正則化殘差網(wǎng)絡(luò)結(jié)構(gòu),使用隨機(jī)仿射組合替換平行分支的標(biāo)準(zhǔn)總和用來(lái)解決模型過(guò)擬合問(wèn)題.Abdi等人[29]則提出一種多殘差塊的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu),使用模型并行化技術(shù)處理殘差塊,使得計(jì)算復(fù)雜度降低15%.一般來(lái)說(shuō),通過(guò)增加網(wǎng)絡(luò)深度來(lái)提高模型的能力是非常有效的一種方式,但是網(wǎng)絡(luò)深度的提高會(huì)導(dǎo)致梯度消失和梯度爆炸[30,31]等問(wèn)題,2015年He等人提出的殘差網(wǎng)絡(luò)[32]結(jié)構(gòu)通過(guò)跳躍式傳遞解決了數(shù)千層網(wǎng)絡(luò)的訓(xùn)練難題,但是殘差網(wǎng)絡(luò)結(jié)構(gòu)明顯的缺點(diǎn)是隨著深度增加,計(jì)算和內(nèi)存開銷成線性增加,1001層的計(jì)算復(fù)雜度是164層的6倍.
基于深度卷積神經(jīng)網(wǎng)絡(luò)的模型,可以通過(guò)卷積核學(xué)習(xí)到輸入圖像的不同特征,并且能夠促進(jìn)特征的重復(fù)利用,大多數(shù)深度神經(jīng)網(wǎng)絡(luò)依靠其縱向的網(wǎng)絡(luò)深度收斂模型,但是隨著深度遞增,模型容易出現(xiàn)退化現(xiàn)象[3,33],Zhang等人[34]提出的RL模型在深度網(wǎng)絡(luò)中有效降低網(wǎng)絡(luò)復(fù)雜度,加快網(wǎng)絡(luò)收斂,有效解決了網(wǎng)絡(luò)退化現(xiàn)象.受到以上問(wèn)題的啟發(fā),本文設(shè)計(jì)了一種并行通道的殘差結(jié)構(gòu),通過(guò)聚合并行通道的信息,增強(qiáng)特征圖全局感受野,有效獲取對(duì)梯度更新有重大貢獻(xiàn)的信息,使用適配藍(lán)圖可分離卷積降低計(jì)算和運(yùn)行成本,并且在并行通道融合過(guò)程中引入注意力機(jī)制,獲取通道權(quán)重系數(shù),強(qiáng)化模型對(duì)特征的自適應(yīng)性.
傳統(tǒng)的基于殘差結(jié)構(gòu)網(wǎng)絡(luò)一般是通過(guò)一個(gè)7 ×7卷積對(duì)輸入圖片降采樣提取特征,然后使用3×3池化下采樣降低特征維度,再經(jīng)過(guò)殘差塊,最后通過(guò)7×7全局平均池化、全連接、softmax激活進(jìn)行分類.針對(duì)相關(guān)工作所述問(wèn)題,通過(guò)研究,本文提出基于嵌入并行通道藍(lán)圖可分離卷積的圖像分類算法(The parallel channel blueprint separates the convolutional network,簡(jiǎn)稱B2SE),主要改進(jìn)在殘差塊的設(shè)計(jì)上,在殘差塊的內(nèi)部保留1×1卷積層,使用改進(jìn)適配B2SE卷積塊取代原始3×3卷積層,B2SE與傳統(tǒng)殘差網(wǎng)絡(luò)框架對(duì)比如圖2所示.
圖2 并行通道藍(lán)圖分離卷積核心層框架結(jié)構(gòu)Fig.2 Core layer framework structure of blueprint separates convolution in parallel channels
雙通道SE卷積塊對(duì)比單通道的SE,輸入特征圖適應(yīng)不同卷積核,使得特征圖的全局感受野增強(qiáng),多視野域卷積能使得特征圖合并和分離操作后全局感受野自適應(yīng)調(diào)整,雙通道SE能對(duì)讀入特征圖各通道之間自適應(yīng)其卷積核的權(quán)重,使得模型的準(zhǔn)確率得到更有效的提升.特征圖S由不同卷積核操作后的特征圖A和B融合、自適應(yīng)平均池化降采樣操作生成,特征圖S為1×1尺寸,H、W為輸入特征圖的高和寬,如公式(1)所示:
(1)
特征圖S經(jīng)過(guò)FC全連接層、BN歸一化、ReLU激活操作后,得到特征圖Z,如公式(2)、公式(3)所示:
s=Fex(Z,W)=σ(g(Z,W))=σ(W2δ(W1Z))
(2)
Z=Ffc(s)=δ(B(Ws))
(3)
特征圖Z通過(guò)scale變換,對(duì)于每個(gè)通道的輸出特征,借助Channel soft attention機(jī)制應(yīng)用于通道方向,得到對(duì)應(yīng)通道的soft attention向量,然后將對(duì)應(yīng)通道不同attention權(quán)重對(duì)應(yīng)特征進(jìn)行加權(quán)后得到特征圖V,其中Vc∈RH×W,如公式(4)、公式(5)所示.
(4)
(5)
深度分離卷積層depthwise,卷積核數(shù)量為輸入特征的通道,卷積核為單通道,每個(gè)卷積核與輸入特征的一個(gè)通道進(jìn)行卷積操作,輸出特征的通道為卷積核的數(shù)量,如圖3所示.
圖3 深度卷積特征Fig.3 Depth convolution feature
點(diǎn)卷積層pointwise,卷積核為1×1,每個(gè)卷積核對(duì)應(yīng)通道對(duì)輸入特征圖對(duì)應(yīng)通道進(jìn)行卷積操作,輸入特征在深度方向上進(jìn)行加權(quán)操作得到輸出特征,如圖4所示.
圖4 點(diǎn)卷積特征Fig.4 Point convolution feature
藍(lán)圖可分離卷積層由兩層點(diǎn)卷積和一層深度卷積構(gòu)成.使用1×1卷積核對(duì)原始輸入特征圖U先進(jìn)行點(diǎn)卷積操作,獲取到原始特征在深度方向上的加權(quán)值,再將獲得的加權(quán)值U′,作為第2層1×1點(diǎn)卷積的輸入特征,經(jīng)過(guò)兩層點(diǎn)卷積后,能有效提取對(duì)于不同通道在相通空間位置上的特征信息.
將輸出特征圖V′作為1×1深度卷積的輸入,深度卷積負(fù)責(zé)在深度方向上提取特征信息,輸出特征為每個(gè)卷積核在輸入特征對(duì)應(yīng)通道上的卷積結(jié)果,M輸入特征通道,N為卷積核數(shù)量,Y、X為輸入特征大小,如圖5所示.
圖5 藍(lán)圖分離卷積層Fig.5 Blueprint separation convolution layer
原始圖特征X在卷積操作之前先經(jīng)過(guò)BN層歸一化,BN層公式如下:
(6)
E[x]為均值,Var[x]為方差.
(7)
特征圖S經(jīng)過(guò)改進(jìn)藍(lán)圖可分離全連接層提取每個(gè)通道的權(quán)重系數(shù),卷積神經(jīng)網(wǎng)絡(luò)主要通過(guò)反向傳播算法訓(xùn)練權(quán)重和偏置,其次提高不同類別標(biāo)簽間的最小漢明距離[35],反向傳播過(guò)程中能根據(jù)loss能自動(dòng)學(xué)習(xí)特征權(quán)重,相比一般全連接層,在提升有效特征通道權(quán)重大的同時(shí)能降低參數(shù)值以及計(jì)算量.
如表1所示,4列分別是基于ResNet-50[21]、BS-ResNet-50[36]、BS-SENet-50[37]、B2SE-RseNet-50網(wǎng)絡(luò)結(jié)構(gòu),經(jīng)過(guò)最大3×3卷積的池化操作后,4種網(wǎng)絡(luò)結(jié)構(gòu)在殘差層有所區(qū)別,殘差塊堆疊的數(shù)量在最左側(cè),fc層括號(hào)內(nèi)表示SE塊中兩個(gè)全連接層的輸出維數(shù),本文的B2SE塊內(nèi)使用參數(shù)M表示并行通道,r表示參數(shù)縮減率.
表1 50層殘差網(wǎng)絡(luò)結(jié)構(gòu)對(duì)比Table 1 Structure comparison of 50-layer residual network
實(shí)驗(yàn)數(shù)據(jù)集CIFAR-10/100由5萬(wàn)訓(xùn)練樣本和1萬(wàn)測(cè)試樣本組成.另外為了評(píng)估本研究提出的模型在大規(guī)模圖像分類場(chǎng)景中的性能,本文同時(shí)在ImageNet 2012數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),它包含大約128萬(wàn)張用于訓(xùn)練的樣本和5萬(wàn)張用于測(cè)試的樣本.
本文采用一個(gè)通用的訓(xùn)練方案,CIFAR數(shù)據(jù)訓(xùn)練使用300個(gè)epoch,batch size設(shè)置為128,初始學(xué)習(xí)率CIFAR-10為0.1,CIFAR-100為0.05,在epoch的50%和75%降低學(xué)習(xí)率,本文使用SGD優(yōu)化網(wǎng)絡(luò)參數(shù),優(yōu)化器參數(shù)momentum設(shè)置為0.9,權(quán)重衰減系數(shù)為1e-4.
在ImageNet 2012數(shù)據(jù)集上我們訓(xùn)練了100個(gè)epoch,batch size設(shè)置為256,初始學(xué)習(xí)率為0.1,每30個(gè)epoch降低一次學(xué)習(xí)率,同樣本文使用SGD優(yōu)化網(wǎng)絡(luò)參數(shù),優(yōu)化器參數(shù)momentum設(shè)置為0.9,權(quán)重衰減系數(shù)為1e-4.
本文設(shè)置WarmUp預(yù)熱學(xué)習(xí)率為5個(gè)epoch,學(xué)習(xí)率更新分為兩個(gè)階段,模型預(yù)熱階段和正式訓(xùn)練階段,使用預(yù)熱學(xué)習(xí)率能使得模型收斂速度變得更快.
模型訓(xùn)練預(yù)熱階段,學(xué)習(xí)率更新公式如公式(8)所示:
(8)
模型正式訓(xùn)練階段,學(xué)習(xí)率更新規(guī)則公式如公式(9)所示:
lr=0.1SUM(f(step))×base_lr
(9)
模型使用交叉熵作為損失函數(shù),在每batch_size樣本被訓(xùn)練后,初始化梯度為0,反向傳播求得梯度,更新模型參數(shù).
實(shí)驗(yàn)環(huán)境為Windows 10操作系統(tǒng),深度學(xué)習(xí)框架Pytorch 1.6.0版本,該框架支持GPU加速,配置NVIDIA CUDA 10.1+cuDNN-V7.6深度學(xué)習(xí)庫(kù)加速GPU,python版本為3.6,用于訓(xùn)練和測(cè)試的硬件配置為:NVIDIA RTX 2080Ti顯卡,128G內(nèi)存.
為了評(píng)估改進(jìn)嵌入B2SE塊在小規(guī)模數(shù)據(jù)集CIFAR10上收益,本研究訓(xùn)練殘差網(wǎng)絡(luò)(ResNet-20/56/110)不同網(wǎng)絡(luò)層數(shù)表現(xiàn).CIFAR數(shù)據(jù)集由32×32像素的彩色圖像組成,訓(xùn)練集包含5萬(wàn)張圖片,測(cè)試集包含1萬(wàn)張圖片,CIFAR-10數(shù)據(jù)包含10個(gè)圖像類別.
AlexNet[6]和VGG[19]網(wǎng)絡(luò)框架經(jīng)常被演示用于模型參數(shù)壓縮,但是對(duì)比殘差網(wǎng)絡(luò)結(jié)構(gòu)以及在殘差網(wǎng)絡(luò)中結(jié)合Inception的ResNeXt,全連接層中的參數(shù)實(shí)測(cè)更少,所以如果能使殘差網(wǎng)絡(luò)結(jié)構(gòu)的參數(shù)進(jìn)一步壓縮,對(duì)于在嵌入式設(shè)備中使用的可行性將提高.本研究修改殘差結(jié)構(gòu)的卷積層,在每一個(gè)Bottleneck中,將卷積核為3×3的層使用B2SE卷積操作,將隨后的批處理、歸一化的權(quán)重刪除.
為了獲得每個(gè)網(wǎng)絡(luò)的基線精度,本研究對(duì)Bottleneck修改后的模型重新開始訓(xùn)練,訓(xùn)練數(shù)據(jù)預(yù)處理增強(qiáng)和超參數(shù)設(shè)置保持和ResNet[32]一樣,而后使用恒定學(xué)習(xí)率0.001,增加40個(gè)epoch[20].
結(jié)果如表2所示,ResNet-20、ResNet-56、ResNet-110為原始模型,作為對(duì)比不含Pruned參數(shù).可以看出嵌入B2SE塊的殘差網(wǎng)絡(luò)在模型復(fù)雜度以及模型體積上下降非常明顯,并且層數(shù)增加的情況下,提升的代價(jià)略有提高.
表2 CIFAR10改進(jìn)殘差模型性能對(duì)比Table 2 Performance comparison of residual models for CIFAR10
本文分別在CIFAR-10、CIFAR-100、ImageNet數(shù)據(jù)集上對(duì)比嵌入B2SE塊收益效果.CIFAR-100數(shù)據(jù)集是CIFAR-10數(shù)據(jù)的擴(kuò)充版本,在其基礎(chǔ)上增加圖片類別至100種,樣本數(shù)量保持不變.ImageNet 2012數(shù)據(jù)由128萬(wàn)張訓(xùn)練集圖片和5萬(wàn)張驗(yàn)證集圖片組成,圖像類別為1000種,本文基于以上數(shù)據(jù)集訓(xùn)練網(wǎng)絡(luò),并評(píng)估top-1 errors指標(biāo).通過(guò)在小規(guī)模數(shù)據(jù)集CIFAR-10/100上對(duì)比了VGG-19[19]、PreResNet-56[34]、DenseNet-BC-100[38,39],可以看出PreResNet-56模型復(fù)雜度修剪比收益最大,性能略有提升.在大規(guī)模數(shù)據(jù)集ImageNet上,本研究對(duì)比了VGG-16和ResNet50,相比小規(guī)模數(shù)據(jù)集CIFAR-10/100來(lái)說(shuō),性能收益相當(dāng),但是模型本身的復(fù)雜度和模型體積收益不如CIFAR數(shù)據(jù)集,總體來(lái)說(shuō),B2SE模型提升性能效果穩(wěn)定,但是在小規(guī)模數(shù)據(jù)集上表現(xiàn)更佳.
通過(guò)進(jìn)一步實(shí)驗(yàn),本文對(duì)比了嵌入 B2SE 塊在輕量級(jí)模型上表現(xiàn)如何,以及設(shè)計(jì)輕量級(jí)卷積模型收益對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)數(shù)據(jù)及模型評(píng)估如4.3節(jié)所示.
表3 CIFAR、ImageNet卷積模型性能對(duì)比Table 3 Performance comparison of convolution models for CIFAR and ImageNet
為了評(píng)估對(duì)比嵌入B2SE塊在多類別小規(guī)模數(shù)據(jù)集CIFAR以及單一類別遷移數(shù)據(jù)集上表現(xiàn),本研究在實(shí)驗(yàn)過(guò)程中參考借鑒了Kornblith 和Huang相同的訓(xùn)練超參數(shù)設(shè)置[40,41].
Standford Dogs[42]、Standford Cars[43]是ImageNet大規(guī)模數(shù)據(jù)集上的子集,分別標(biāo)記120、196個(gè)類別.Oxford Flowers花卉數(shù)據(jù)集[44]包括102種花,每個(gè)類別包括40到258張圖像,具體訓(xùn)練樣本和測(cè)試樣本大小如表4所示.
表4 遷移學(xué)習(xí)數(shù)據(jù)集Table 4 Transfer learning datasets
在嵌入式設(shè)備中一般使用訓(xùn)練好的輕量級(jí)卷積網(wǎng)絡(luò)模型,因此本研究對(duì)比輕量級(jí)卷積網(wǎng)絡(luò)上MobileNet的變體上進(jìn)行實(shí)驗(yàn),結(jié)果如表6所示.
表5 輕量級(jí)卷積模型ShuffleNetV2變體Table 5 Lightweight ShuffleNetV2 model variant
表6 輕量級(jí)卷積模型MobileNet變體Table 6 Lightweight MobileNet model variant
在超參數(shù)設(shè)置上,本研究對(duì)輕量級(jí)卷積MobileNetV1[45]和MobileNetV2[25]的Width Multiplier參數(shù)分別設(shè)置0.5和1,卷積層的子空間壓縮比P設(shè)置為1/6,標(biāo)準(zhǔn)正交正則化損失加權(quán)系數(shù)為0.1.從圖中可以看出嵌入B2SE的MobileNet變體相比基線模型準(zhǔn)確率有一定提升,分析發(fā)現(xiàn),相比CIFAR數(shù)據(jù)集,單一數(shù)據(jù)集數(shù)據(jù)本身模型中正則化影響導(dǎo)致表現(xiàn)沒(méi)有CIFAR高.
ShuffleNetV2[46]也是最棒的輕量級(jí)模型之一,為了評(píng)估B2SE在ShuffleNetV2上的泛化能力,本研究同樣分別在Width Multiplier設(shè)置為0.5和1.0的時(shí)候,對(duì)比模型復(fù)雜度和參數(shù)量以及收益效果.
通過(guò)表5中不同尺度模型的探究,可以看出輕量級(jí)卷積模型ShuffleNetV2嵌入B2SE變體顯著提高了基準(zhǔn)精度,然而模型性能和參數(shù)代價(jià)差距不大.本研究將B2SENet取代ShuffleNetV2中卷積操作,使得在低端嵌入式設(shè)備中應(yīng)用改進(jìn)后的模型可行性更高.
為了進(jìn)一步理解本文提出的嵌入式B2SE模型對(duì)圖像區(qū)域注意力分配不同權(quán)重,本文使用CAM可視化模型[47]對(duì)圖像識(shí)別的預(yù)測(cè),CAM主要用于能直觀感受CNN網(wǎng)絡(luò)特征信息關(guān)注區(qū)域.如圖6所示比較了殘差網(wǎng)絡(luò)的變體以及本文提出的模型在Grad-CAM下的可視化,圖像來(lái)自于ImageNet數(shù)據(jù)集,Grad-CAM可視化對(duì)類別差異區(qū)分較為明顯,但是缺乏像梯度可視化方法等那樣展示細(xì)粒度重要性,所以綜合對(duì)比Grad-CAM以及Guided Grad-CAM捕捉CNN中更深級(jí)別的視覺(jué)結(jié)構(gòu),如圖6、圖7所示,發(fā)現(xiàn)嵌入B2SE的模型更傾向于關(guān)注圖像與預(yù)測(cè)對(duì)象相關(guān)的輪廓和細(xì)節(jié),而對(duì)比的相關(guān)模型在圖像輪廓和細(xì)節(jié)上略有欠缺,并且本文的方法更加關(guān)注對(duì)象細(xì)節(jié)區(qū)域.
圖6 Grad-CAM注意力輪廓聚焦對(duì)比Fig.6 Contrast of Grad-CAM attention focused on the outline
圖7 Guided Grad-CAM注意力輪廓聚焦對(duì)比Fig.7 Contrast of Guided Grad-CAM attention focused on the outline
本文基于ResNet-CNN的網(wǎng)絡(luò)架構(gòu),結(jié)合SE、DSCs、藍(lán)圖可分離卷積、Soft attention機(jī)制等模型提出了一種改進(jìn)模型B2SE-CNN用于嵌入式設(shè)備卷積網(wǎng)絡(luò)圖像分類.本文的主要改進(jìn)在于使用嵌入適配藍(lán)圖分離卷積應(yīng)用于并行通道SE層,減少SE卷積通道全連接層參數(shù),設(shè)計(jì)的并行通道SE層能夠獲取不同路徑信息,增強(qiáng)特征圖全局感受野,引入Soft attention機(jī)制獲取通道權(quán)重系數(shù).這些改進(jìn)使得模型在嵌入式設(shè)備中卷積層參數(shù)更少,在減少參數(shù)的同時(shí)為了不丟失精度引入并行通道和Soft attention機(jī)制,使得模型對(duì)重要特征信息學(xué)習(xí)加強(qiáng),而弱化無(wú)關(guān)特征信息,從而加快模型收斂速度,同時(shí)使模型魯棒性更強(qiáng).實(shí)驗(yàn)結(jié)果表明本文提出的嵌入并行通道藍(lán)圖分離卷積模型對(duì)應(yīng)用于嵌入式設(shè)備中輕量級(jí)網(wǎng)絡(luò)模型性能有較大收益,在未來(lái)的工作中,我們將繼續(xù)探索通過(guò)遷移學(xué)習(xí)將嵌入B2SE塊應(yīng)用到行為識(shí)別等其他計(jì)算機(jī)視覺(jué)領(lǐng)域.