張宸逍,潘 慶,王效靈
(浙江工商大學(xué)信息與電子工程學(xué)院,浙江 杭州 310018)
卷積神經(jīng)網(wǎng)絡(luò)(CNN)的誕生使極具挑戰(zhàn)的圖像識別任務(wù)取得了遠(yuǎn)遠(yuǎn)超越人類的準(zhǔn)確性。ILSVRC作為計(jì)算機(jī)視覺領(lǐng)域最具影響力的競賽,誕生了包括AlexNet[1]、VGG[2]、GoogleNet[3]、ResNet[4]和SENet[5]在內(nèi)的許多經(jīng)典模型。然而,CNN前所未有的準(zhǔn)確性能的背后,網(wǎng)絡(luò)模型的層數(shù)逐漸變得更深更寬,更深更寬的層數(shù)帶來了更高的計(jì)算成本和大量的參數(shù),這使得在資源受限的情況下部署CNN變得非常困難。
為了更好地權(quán)衡速度與精度,出現(xiàn)了專門為移動(dòng)設(shè)備和資源受限的環(huán)境而設(shè)計(jì)的緊湊型卷積神經(jīng)網(wǎng)絡(luò),如MobileNets[6-8]、ShuffleNets[9-10],使用深度可分離卷積的方式,在盡可能保持模型性能的情況下大大降低了計(jì)算成本。此外,人們發(fā)現(xiàn)在CNN中引入注意力機(jī)制可以在參數(shù)量增加不大的情況下明顯地提高網(wǎng)絡(luò)性能。
然而,對于深層CNN而言,現(xiàn)有包括SENet、CBAM[11]、SKNet[12]、GENet[13]在內(nèi)的大多數(shù)注意力機(jī)制帶來的計(jì)算和參數(shù)開銷相對較小,但對于緊湊型CNN而言,這種性能的提高所帶來的計(jì)算和參數(shù)開銷代價(jià)是難以忍受的。
本文繼承ULSAM[14]中使用子空間注意機(jī)制來提高緊湊型CNN效率的嘗試,改進(jìn)特征子空間的空間校準(zhǔn)方式,在特征子空間引入注意連接[15],實(shí)現(xiàn)了前后特征子空間的信息流動(dòng),相比ULSAM,DCSAM可以更好地學(xué)習(xí)各個(gè)子空間的不同注意映射,實(shí)現(xiàn)了多尺度、多頻率的特征學(xué)習(xí),在細(xì)粒度圖像分類上取得了比ULSAM更優(yōu)秀的表現(xiàn),在ImageNet數(shù)據(jù)集上也實(shí)現(xiàn)了更好的性能。
本文的工作主要體現(xiàn)在以下2個(gè)方面:
1)提出了一種新的用于緊湊型CNN的注意模塊DCSAM,它可以高效地學(xué)習(xí)特征子空間的注意映射,并建立前后特征子空間的連接。
2)通過以MobileNetV1和MobileNetV2為骨干網(wǎng)絡(luò)在ImageNet-1K數(shù)據(jù)集和2個(gè)細(xì)粒度圖像分類數(shù)據(jù)上的大量實(shí)驗(yàn),驗(yàn)證了DCSAM的有效性。
計(jì)算機(jī)視覺中的注意力機(jī)制從本質(zhì)上和人類的選擇性視覺注意力類似,目的都是為了從龐大信息中凸顯出更為關(guān)鍵的信息。目前注意力機(jī)制應(yīng)用在視覺模型中的方法主要有3種:通道注意力、空間注意力和自注意力。
通道注意力針對通道的相互依賴關(guān)系,SENet使用了一種全新的“特征重標(biāo)定”策略,重新對每個(gè)通道的權(quán)重進(jìn)行標(biāo)定,自適應(yīng)地調(diào)整通道間的特征響應(yīng)。在其基礎(chǔ)上,SKNet利用多卷積核分支在不同尺度下自適應(yīng)地學(xué)習(xí)特征圖注意力,從而聚焦重要的尺度特征。
空間注意力針對空間上的像素級成對關(guān)系,BAM[16]和CBAM在關(guān)注通道注意力的同時(shí)添加了空間注意力模塊,自適應(yīng)地加權(quán)關(guān)鍵區(qū)域的特征表達(dá),同時(shí)弱化背景區(qū)域,相比單一的關(guān)注通道注意力取得了更好的效果。
自注意力探索輸入特征之間的相互依賴關(guān)系,通過對輸入數(shù)據(jù)賦予不同的權(quán)重,使網(wǎng)絡(luò)能夠自行從復(fù)雜的數(shù)據(jù)中學(xué)習(xí)到值得關(guān)注的區(qū)域。NLNet[17]利用自注意力建模遠(yuǎn)程依賴關(guān)系,提出了一種非局部信息統(tǒng)計(jì)的注意力機(jī)制,GCNet[18]在其基礎(chǔ)上結(jié)合SENet機(jī)制提出了新的全局上下文建模框架,有效節(jié)省了計(jì)算量。
為了有效節(jié)省參數(shù)和計(jì)算量,使用深度可分離卷積的緊湊型CNN的冗余度相比常規(guī)的卷積模型較低。顯然,緊湊型CNN更加需要一種能夠在低參數(shù)量和低計(jì)算量的情況下高效學(xué)習(xí)語義和空間信息的注意力機(jī)制。
子空間注意機(jī)制的主要思想是將輸入特征圖分解成若干組,每組子空間獨(dú)立地進(jìn)行空間上的重新校準(zhǔn),最后將子空間依次拼接成輸出特征圖。其中子空間指的是特征圖的一部分特征,它是由網(wǎng)絡(luò)中某一層的特征圖按照通道維度分組得到的。包括SENet、CBAM、SKNet等前文所述的注意力模塊都致力于更好地提高CNN的表征能力,然而這些注意力機(jī)制的計(jì)算和參數(shù)開銷代價(jià)[14]對緊湊型CNN來說是難以忍受的。圖1為MobileNetV2應(yīng)用DCSAM和其他注意模塊的參數(shù)量和計(jì)算量的對比圖。
圖1 注意模塊參數(shù)量和計(jì)算量對比圖
本文提出的DCSAM注意模塊在參數(shù)量和計(jì)算量方面都遠(yuǎn)低于其他注意模塊,并且高效地實(shí)現(xiàn)了特征子空間跨通道依賴關(guān)系的學(xué)習(xí)。此外,這種模塊與現(xiàn)有的視覺模型中的注意力機(jī)制是正交和互補(bǔ)的。
雖然殘差連接已經(jīng)被廣泛應(yīng)用在CNN模型中,但將殘差連接的概念集成到注意力機(jī)制的做法直到最近才引起人們的關(guān)注。在文獻(xiàn)[19]中,RANet在注意模塊內(nèi)部引入了殘差連接,利用殘差連接來更好地學(xué)習(xí)注意區(qū)域。
在文獻(xiàn)[15]中,研究了注意塊之間的殘差連接,提出了一種連接相鄰注意力模塊的注意連接機(jī)制,通過相鄰注意力模塊的前饋信息流動(dòng)來指導(dǎo)注意學(xué)習(xí)。該注意連接機(jī)制實(shí)現(xiàn)了對所有注意塊的聯(lián)合訓(xùn)練,注意力學(xué)習(xí)的能力得到了明顯提升,驗(yàn)證了注意力模塊間信息交流的重要性。
特征子空間注意模塊的思想是將輸入特征圖分解成若干互斥的組,再對每組子空間特征重新校準(zhǔn),最后將所有校準(zhǔn)后的特征依次拼接到一起。但ULSAM子空間校準(zhǔn)僅依靠最大池化和Pointwise卷積整合跨通道信息,這雖然在一定程度上減少了計(jì)算量,但沒有很好地學(xué)習(xí)到子空間的跨通道依賴關(guān)系。為了盡可能減少計(jì)算量,使特征子空間在空間層面上更好地加權(quán)關(guān)鍵區(qū)域的特征表達(dá),同時(shí)弱化背景區(qū)域,DCSAM利用子空間特征的空間關(guān)系生成空間注意圖,即對輸入通道分別在通道維度上做平均池化和最大池化操作,接著將得到的2個(gè)一維的特征圖按通道維度拼接在一起,再對通道數(shù)為2的輸出特征圖使用傳統(tǒng)卷積進(jìn)行跨通道信息的整合,實(shí)現(xiàn)對子空間的重新校準(zhǔn)。
對于給定的輸入特征圖F,定義經(jīng)過通道維度上的最大池化和平均池化操作后的特征圖為Favg∈1×H×W,F(xiàn)max∈1×H×W。該部分的數(shù)學(xué)處理可以用以下公式表示:
M(F)=softmax(Conv7×7[(AP(F);MP(F))])
=softmax(Conv7×7([Favg;Fmax]))
(1)
其中,softmax代表Softmax激活函數(shù),Conv7×7代表使用卷積核為7×7的卷積,AP和MP分別代表通道維度上的平均池化和最大池化。
此外,DCSAM能夠多尺度、多頻率地學(xué)習(xí)跨通道信息。這種使用特征子空間進(jìn)行注意力學(xué)習(xí)的方法,不同于采用不同感受野濾波器的多尺度特征學(xué)習(xí)方法,是一種多尺度特征學(xué)習(xí)方法的補(bǔ)充。此外,DCSAM可以更為精細(xì)地賦予圖像中低頻和高頻分量不同的權(quán)重,更適合高度關(guān)注高頻特征的細(xì)粒度分類任務(wù)。
現(xiàn)有注意機(jī)制的設(shè)計(jì)主要是將注意塊插入到某個(gè)卷積塊后面,這使得每個(gè)注意塊只能學(xué)習(xí)到當(dāng)前特征圖的信息而不能將學(xué)習(xí)到的關(guān)鍵信息傳遞到其他注意塊中,即單一的注意塊不能有效地決定關(guān)注什么區(qū)域。文獻(xiàn)[15]認(rèn)為現(xiàn)有注意機(jī)制的協(xié)作不足,因而設(shè)計(jì)了一種連接機(jī)制來允許注意塊相互協(xié)作。
借鑒注意力連接機(jī)制的原理,DCSAM將前一子空間唯一生成的單通道特征圖Ct-1和當(dāng)前子空間的特征圖進(jìn)行拼接、融合,之后生成當(dāng)前子空間的單通道特征圖Ct,Ct將作為后一子空間的輸入的連接特征圖。這種設(shè)計(jì)也保證了所有注意塊之間的信息流以一種前饋的方式流動(dòng),防止前后注意信息變化過大,實(shí)現(xiàn)了前后特征子空間注意塊的相互協(xié)作。當(dāng)然,第一次進(jìn)入特征子空間時(shí)不存在上一環(huán)節(jié)輸出的連接特征圖,將跳過合并這一操作。
考慮需要更好地適配緊湊型CNN,DCSAM僅將通道數(shù)為1的注意力特征圖與之后的子空間進(jìn)行連接學(xué)習(xí)。值得強(qiáng)調(diào)的是,雖然特征圖會被劃分為若干特征子空間,但前后子空間的連接是一一對應(yīng)的。子空間注意連接融合方式如圖2所示。
圖2 DCSAM子空間網(wǎng)絡(luò)結(jié)構(gòu)
由于CNN生成的特征圖不同,與之相應(yīng)生成的注意力圖也不同,因此在連接子空間注意力時(shí),會遇到通道匹配和空間分辨率匹配的問題。對于通道匹配,DCSAM僅輸出單通道特征圖用于連接學(xué)習(xí),通過直接拼接在后一子空間輸入特征圖,再調(diào)整通道數(shù),可以很輕易地解決通道匹配的問題。對于空間分辨率匹配,為了節(jié)省參數(shù),DCSAM使用平均池化來調(diào)整,而沒有使用引入更多參數(shù)的卷積操作。
結(jié)合前文提出的子空間校準(zhǔn)和子空間注意連接,DCSAM子空間網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,首先對于給定的輸入特征圖F被分成g個(gè)互斥的組[F1,F2,…,Fn,…,Fg],每組包含G個(gè)特征圖。設(shè)Fn∈G×h×w為其中一組特征圖,G為輸入的通道數(shù),h、w是特征圖的空間維度。DCSAM對Fn進(jìn)行如下操作:
(2)
(3)
(4)
在上述公式中,DW1×1代表卷積核為1×1的Depthwise卷積,PW1×1代表卷積核為1×1的Pointwise卷積,Ct-1代表前一子空間輸出的注意連接特征圖,?代表element-wise product,⊕代表element-wise summation,最終的輸出是通過將g組的特征圖拼接得到的。
DCSAM通過3種情況來考量分組數(shù)g的大小:
1)如果分組數(shù)為1,即g=1。此時(shí)只有一個(gè)子空間,且該子空間包含特征圖的全部特征信息,直觀地講,只通過一張注意力圖很難完整地學(xué)習(xí)到整個(gè)特征空間的復(fù)雜關(guān)系。
2)如果增加分組數(shù)g,即1 3)如果分組數(shù)等于通道數(shù),即g=m。此時(shí)子空間內(nèi)只有單通道的特征圖,在該子空間內(nèi)學(xué)習(xí)到的注意力圖不包含任何跨通道信息。顯然,此時(shí)注意力圖能學(xué)習(xí)的特征很少,注意力圖的生成過程淪為了特征圖本身的非線性變換。 為了驗(yàn)證本文提出的DCSAM,在ImageNet-1K[20]和細(xì)粒度分類數(shù)據(jù)集Stanford Cars[21]和Stanford Dogs[22]上進(jìn)行圖像分類實(shí)驗(yàn)。在實(shí)驗(yàn)中,使用Pytorch深度學(xué)習(xí)框架,以MobileNetV1(簡稱MV1)和MobileNetV2(簡稱MV2)作為基線網(wǎng)絡(luò)。實(shí)驗(yàn)所用GPU為2塊TITAN XP。為了盡可能公平地比較,將MV1和以MV1作為基線的模型的batch設(shè)置為128,SGD優(yōu)化器的動(dòng)量設(shè)置為0.9,在ImageNet-1K數(shù)據(jù)集訓(xùn)練90個(gè)epoch,在細(xì)粒度圖像分類數(shù)據(jù)集訓(xùn)練150個(gè)epoch,初始學(xué)習(xí)率為0.1,每30個(gè)epoch后下降到原來的1/10。類似地,將MV2和以MV2作為基線的模型的batch設(shè)置為98,設(shè)置0.9動(dòng)量和4e-5權(quán)值衰減的SGD優(yōu)化器,細(xì)粒度圖像數(shù)據(jù)集上訓(xùn)練200個(gè)epoch。初始學(xué)習(xí)率設(shè)為0.045,每一個(gè)epoch后衰減98%。 在應(yīng)用注意力模塊時(shí),網(wǎng)絡(luò)的深層相比初始層能更好地學(xué)習(xí)全局特征。且由于網(wǎng)絡(luò)深層的特征圖空間更小,在深層應(yīng)用自注意力機(jī)制比初始層計(jì)算量更小[23]。為了更好地適配緊湊型CNN,需要選擇DCSAM插入的位置。如表1和表2所示,發(fā)現(xiàn)網(wǎng)絡(luò)中存在許多重復(fù)的卷積層,其中MV1網(wǎng)絡(luò)中重復(fù)的8~12卷積層浮點(diǎn)計(jì)算數(shù)量占其總數(shù)的46%,MV2網(wǎng)絡(luò)也存在大量相同配置的逆殘差塊。因此,為了更有效地學(xué)習(xí)跨通道信息,對于這些帶來大量計(jì)算開銷的重復(fù)層,將把DCSAM插入到某一層后面,或直接替換掉某一層。例如,在MV1中的第8、9層后插入DCSAM,將第11層替換為DCSAM,在表中就表示為(8:1,9:1,11)。 表1 MV1網(wǎng)絡(luò)結(jié)構(gòu) 表2 MV2網(wǎng)絡(luò)結(jié)構(gòu) 通過實(shí)驗(yàn),在細(xì)粒度數(shù)據(jù)集上與子空間注意模塊ULSAM進(jìn)行對比的實(shí)驗(yàn)結(jié)果如表3~表5所示。 表3 MV1插入位置(8:1,9:1,11)在Cars數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果 表4 MV2插入位置(14,17)在Cars和Dogs數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果 表5 MV2插入位置(13,14,16,17)在Cars和Dogs數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果 MV1+DCSAM在Cars數(shù)據(jù)集上的對比實(shí)驗(yàn)結(jié)果如表3所示。 對于MV1,將DCSAM分別插入第8層和第9層后面,同時(shí)替換掉第11層。通過替換重復(fù)卷積層,使得網(wǎng)絡(luò)的參數(shù)量和浮點(diǎn)運(yùn)算數(shù)都有了明顯的下降。對比基線網(wǎng)絡(luò),MV1+DCSAM在參數(shù)量和浮點(diǎn)運(yùn)算數(shù)普遍下降的同時(shí),Top-1準(zhǔn)確率提高超過了4個(gè)百分點(diǎn)。其中,MV1+DCSAM(g=4)對比基線網(wǎng)絡(luò),在參數(shù)量減少1.4%和浮點(diǎn)運(yùn)算數(shù)減少4%的情況下,Top-1準(zhǔn)確率提高了7.4個(gè)百分點(diǎn)。對比同類型ULSAM,MV1+DCSAM在保持輕量化的同時(shí),由于分組數(shù)的不同,Top-1準(zhǔn)確率提高達(dá)到了1~4個(gè)百分點(diǎn)。其中,MV1+DCSAM(g=8)在參數(shù)量僅提高1×105的情況下,Top-1準(zhǔn)確率提高超過了4個(gè)百分點(diǎn)。MV1+DCSAM(g=4)的Top-1準(zhǔn)確率最高,達(dá)到了65.69%。 MV2+DCSAM在Cars和Dogs數(shù)據(jù)集上,應(yīng)用在不同位置的對比實(shí)驗(yàn)結(jié)果如表4和表5所示。 MV2用DCSAM替換掉第14層和第17層(表4),對比基線網(wǎng)絡(luò),網(wǎng)絡(luò)在參數(shù)量和浮點(diǎn)運(yùn)算數(shù)明顯下降的同時(shí),Cars數(shù)據(jù)集上Top-1準(zhǔn)確率提高了2~4個(gè)百分點(diǎn)。其中,MV2+DCSAM(g=4)對比基線網(wǎng)絡(luò),在參數(shù)量減少12%的情況下,Top-1準(zhǔn)確率提高了4個(gè)百分點(diǎn)以上。對比同類型ULSAM,DCSAM在保持輕量化的同時(shí),由于分組數(shù)的不同,Cars和Dogs數(shù)據(jù)集上Top-1準(zhǔn)確率提高了1~3個(gè)百分點(diǎn)。 MV2應(yīng)用DCSAM替換掉第13層、第14層、第16層和第17層(表5),對比基線網(wǎng)絡(luò),網(wǎng)絡(luò)參數(shù)量減少25%的情況下,Top-1準(zhǔn)確率提高了1~4個(gè)百分點(diǎn)。其中,MV2+DCSAM(g=4)的Top-1準(zhǔn)確率提高了4.71個(gè)百分點(diǎn)。對比同類型ULSAM,DCSAM在參數(shù)量幾乎不增加的情況下,Top-1準(zhǔn)確率普遍超過ULSAM。 實(shí)驗(yàn)結(jié)果表明,在MV1和MV2中插入DCSAM確實(shí)獲得了更高的準(zhǔn)確率,尤其是當(dāng)g=4時(shí),DCSAM往往能取得最高的性能提升,表明此時(shí)生成的注意力圖高效利用了相應(yīng)子空間的跨通道信息。當(dāng)g≥8時(shí),增加分組數(shù)并不能進(jìn)一步提高模型預(yù)測性能,反而略有下降,表明分組過多導(dǎo)致子空間內(nèi)注意力圖能夠提取的跨通道信息減少,預(yù)測性能提升不多。 為進(jìn)一步驗(yàn)證本文算法的有效性,在ImageNet-1K數(shù)據(jù)集上對應(yīng)用不同注意模塊的MV2網(wǎng)絡(luò)進(jìn)行了實(shí)驗(yàn),將MV2插入DCSAM時(shí)選用了性能提升最多的分組,即g=4。實(shí)驗(yàn)結(jié)果如表6所示。 表6 MV2應(yīng)用不同注意模塊在ImageNet-1K數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果 MV2應(yīng)用子空間注意模塊的組合在參數(shù)量和計(jì)算量上明顯少于其他類型的注意模塊。與基線網(wǎng)絡(luò)對比,MV2+DCSAM(g=4)在參數(shù)量和計(jì)算量分別減少了12%和24%的情況下,Top-1準(zhǔn)確率提高了0.48個(gè)百分點(diǎn)。與添加了SE模塊和CBAM模塊的組合對比,在參數(shù)量和計(jì)算量明顯降低的情況下,準(zhǔn)確率相仿。與同類型ULSAM對比,在參數(shù)量和浮點(diǎn)運(yùn)算數(shù)相仿的情況下,Top-1準(zhǔn)確率提高了0.21個(gè)百分點(diǎn)。 通過實(shí)驗(yàn)進(jìn)一步驗(yàn)證了本文提出的DCSAM注意模塊的有效性。DCSAM能夠使緊湊型CNN網(wǎng)絡(luò)在更為輕量化的基礎(chǔ)上高效地進(jìn)行多尺度、多頻率特征的學(xué)習(xí)。 圖3利用可視化工具Grad-CAM++[24]展示了MV2網(wǎng)絡(luò)上應(yīng)用ULSAM和DCSAM注意模塊的熱力圖。通過對比能夠發(fā)現(xiàn),DCSAM更能聚焦目標(biāo)圖像,這更好地解釋了DCSAM的有效性。 圖3 Grad-CAM++可視化 本文提出了一種新的子空間注意模塊,它能夠使網(wǎng)絡(luò)在保持更為輕量化的基礎(chǔ)上進(jìn)行多尺度、多頻率特征的學(xué)習(xí)。這種注意力機(jī)制十分適合插入到緊湊型CNN網(wǎng)絡(luò)中,且與現(xiàn)有的注意力機(jī)制是正交和互補(bǔ)的。 但本文提出的方法也存在一定不足,本文方法更關(guān)注通道的相互依賴關(guān)系,對于空間上的像素級成對關(guān)系利用得還不夠。下一步工作中,將試圖找到一種結(jié)合通道注意力和空間注意力的算法來提高子空間注意模塊的性能。3 實(shí)驗(yàn)結(jié)果與分析
3.1 數(shù)據(jù)集及實(shí)驗(yàn)設(shè)置
3.2 細(xì)粒度分類實(shí)驗(yàn)結(jié)果
3.3 ImageNet-1K分類實(shí)驗(yàn)結(jié)果
3.4 可視化
4 結(jié)束語