田鑫馳,王亞剛,尹 鐘,陳 浩
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海200093)
神經(jīng)網(wǎng)絡(luò)是過去幾年深度學(xué)習(xí)領(lǐng)域最重要的研究課題之一,Krizhevsky等人[1]提出的AlexNet使得研究者們重新認(rèn)識(shí)了卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN).后續(xù)在此基礎(chǔ)上出現(xiàn)了很多性能更加優(yōu)秀的網(wǎng)絡(luò),如Simonyan等人[2]提出的VGG首次嘗試更深的網(wǎng)絡(luò)結(jié)構(gòu),旨在疊加更多的卷積層以獲得更優(yōu)秀的特征提取性能.He等人[3]認(rèn)為簡(jiǎn)單加深模型深度會(huì)造成網(wǎng)絡(luò)性能衰減,提出了一種瓶頸殘差結(jié)構(gòu)來減少特征退化問題.卷積運(yùn)算依賴于固定的感受野,只能提取到感受野附近的特征信息.依靠多個(gè)卷積層可以一定程度上緩解全局感受野的缺失,但大量堆疊卷積或池化層會(huì)造成特征退化,使得網(wǎng)絡(luò)丟失學(xué)習(xí)到的信息,導(dǎo)致模型性能下降.Woo等人[4]嘗試采用更大的卷積核來擴(kuò)大感受野,卻帶來了龐大的參數(shù)量和計(jì)算資源浪費(fèi).由于傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)在全局特征表示方面存在著巨大的困難,導(dǎo)致在準(zhǔn)確率性能方面無法實(shí)現(xiàn)更大地突破.
2017年谷歌提出的自注意力機(jī)制[5]首次被應(yīng)用于自然語言處理領(lǐng)域并迅速成為其主流架構(gòu).隨后Dosovitskiy等人[6]提出的Vision Transformer(ViT)首次將自注意力機(jī)制應(yīng)用在計(jì)算機(jī)視覺,并在許多領(lǐng)域都表現(xiàn)出了顯著的優(yōu)勢(shì),例如目標(biāo)檢測(cè)[7]、語義分割[8]和圖像去雨[9]等.然而ViT還存在著許多尚待解決的問題.一方面由于自注意力機(jī)制缺乏局部表征的特性,導(dǎo)致Transformer模型在處理底層信息(如圖像的邊緣和角落部分)會(huì)耗費(fèi)大量的運(yùn)算資源.另一方面,ViT缺乏卷積特有的圖像歸納偏置屬性導(dǎo)致模型參數(shù)量和計(jì)算復(fù)雜度過于龐大.Dai等人[10]已經(jīng)證明圖像歸納偏置對(duì)于計(jì)算機(jī)視覺任務(wù)來說是極其重要的.尤其在數(shù)據(jù)量有限的情況下,ViT的模型性能會(huì)出現(xiàn)較大的衰退,原因在于多頭注意力中頭之間過分靈活的信息交互能力為模型帶來了極高的過擬合風(fēng)險(xiǎn).
基于上述討論,本文提出了一種高效的圖像分類模型.CSNet(Convolution with Self-Attention Network)沿用多階段分辨率下采樣的結(jié)構(gòu),在模型淺層階段使用一種特殊的卷積特征提取模塊(Convolution Block).它在繼承大核卷積大范圍感受野的同時(shí),還減少了不必要的計(jì)算浪費(fèi).在深層階段利用附帶深度可分離注意力機(jī)制的全局特征構(gòu)建模塊(Attention Block),將深度可分離卷積融合在自注意力機(jī)制中,使得多頭注意力的全局依賴性由輸入信息和卷積感受野及其鄰域的權(quán)重共同決定.在數(shù)據(jù)量有限的情況下有效降低了過擬合的風(fēng)險(xiǎn).通過以分階段的方式逐步堆疊Convolution Block和Attention Block,可以很好地整合兩種不同類型的特征構(gòu)建模塊來促進(jìn)表征學(xué)習(xí),為圖像分類領(lǐng)域提供了一個(gè)強(qiáng)大的識(shí)別網(wǎng)絡(luò).
(1)
Vision Transformer(ViT)是第1個(gè)將自注意力機(jī)制應(yīng)用在計(jì)算機(jī)視覺領(lǐng)域的模型.圖1所示為ViT的工作原理.首先將輸入的一張圖片劃分為一連串尺寸相同且不重復(fù)的二維標(biāo)記,然后將這些標(biāo)記與附帶一組表征區(qū)域位置信息的位置編碼一起送入Transformer Block中對(duì)全局特征信息進(jìn)行建模.最后送入分類頭進(jìn)行分類.其中自注意力機(jī)制是Transformer Block收集全局信息的主要依據(jù).ViT擁有相較于CNN更加巨大的參數(shù)量和計(jì)算損耗,且只能應(yīng)對(duì)固定尺寸的輸入信息,不適用于一些更加密集的視覺預(yù)測(cè)任務(wù).Li等人[12]認(rèn)為ViT中的自注意力機(jī)制在編碼低層次特征信息方面效率不高.即大部分的計(jì)算量都用來提取輸入圖片低層次的信息,這阻礙了它們?cè)诟咝W(xué)習(xí)表征方面的巨大潛力.
圖1 Vision Transformer結(jié)構(gòu)Fig.1 Structure of Vision Transformer
卷積運(yùn)算有著獨(dú)特的跨度不變和權(quán)重共享的特性,使得卷積神經(jīng)網(wǎng)絡(luò)可以應(yīng)對(duì)任意大小的輸入信息.卷積操作擅長減少局部冗余,避免不必要的計(jì)算量,通過聚合每個(gè)感受野像素及其鄰域的上下文信息來構(gòu)建特征圖.之后有很多工作嘗試將卷積加入自注意力機(jī)制中,因?yàn)榫矸e所擁有的圖像歸納偏置可以很好地彌補(bǔ)自注意力所缺失的捕獲局部特征信息的能力.CvT[13]替換了Self-Attention中原有的線性映射層,輸入序列通過3個(gè)卷積層分別獲得矩陣Q、K、V,并通過跨步卷積來減少獲取標(biāo)記的計(jì)算復(fù)雜度.MobileViT[14]將ViT中的Transformer Block與特殊設(shè)計(jì)的純卷積模塊組合起來,在保持高準(zhǔn)確率的同時(shí)擁有較低的參數(shù)量和模型規(guī)模,使其可以在移動(dòng)設(shè)備中很好地發(fā)揮優(yōu)勢(shì).CPVT[15]和CSwin Transformer[16]則采用了基于卷積的位置編碼,降低了模型計(jì)算的復(fù)雜度,尤其在下游任務(wù)中變現(xiàn)優(yōu)異.CoAtNet[10]在模型前兩個(gè)階段采用MBConv[17]來獲取圖片的底層信息,并且詳細(xì)討論了卷積模塊與Transformer Block最優(yōu)的組合方式,表現(xiàn)出極強(qiáng)的模型性能.本文延續(xù)了這種卷積模塊與Transformer Block互補(bǔ)的整體架構(gòu),在模型前期階段選擇利用卷積來構(gòu)建特征信息.
圖2 卷積分解操作Fig.2 Convolutional decomposition
本文將上述卷積分解的思想運(yùn)用在CSNet前期的卷積特征提取模塊中以增大卷積運(yùn)算的感受野.通過分解后的不同類型卷積層感受野及其鄰域的上下文信息聚合來彌補(bǔ)全局感受野的缺失.
本節(jié)將介紹CSNet的詳細(xì)架構(gòu).CSNet延續(xù)PVT[19]多階段分辨率下采樣的整體結(jié)構(gòu),在4個(gè)特征提取階段中分別使用Convolution Block和Attention Block相結(jié)合的形式.首先描述了CSNet中的各種特征提取模塊的詳細(xì)架構(gòu),其次解釋了一些關(guān)鍵模塊,如Convolution Block中的卷積等效分解.最后討論了CSNet與現(xiàn)有的CNN和Transformer模型之間的區(qū)別,顯示了其在準(zhǔn)確性和模型規(guī)模上較先前工作的優(yōu)勢(shì).
圖3 卷積特征提取模塊Fig.3 Convolution block
Params=K×K×Cin×Cout
FLOPs=K×K×Cin×Cout×H×W
(2)
而進(jìn)行上述卷積分解操作后的參數(shù)量和計(jì)算量分別為:
(3)
其中Cin與Cout分別為圖像的輸入與輸出通道數(shù).CSNet中的Convolution Block將一個(gè)21×21的卷積分解為一個(gè)7×7的深度可分離卷積、擴(kuò)張率為3的7×7深度擴(kuò)張可分離卷積,最后經(jīng)過一個(gè)1×1的點(diǎn)卷積來還原通道數(shù)以實(shí)現(xiàn)殘差連接.由公式(2)和公式(3)可以看出,當(dāng)卷積核與擴(kuò)張率越大時(shí),參數(shù)量與計(jì)算量的減少更加明顯,也說明了此種對(duì)大核卷積分解方法的高效性.
與ViT中的Transformer Block相比,Convolution Block采用一個(gè)名為ConMLP的模塊來代替原有的多層感知機(jī)(MLP)結(jié)構(gòu).兩者的區(qū)別是將MLP中的線性映射層替換為卷積核大小和步距都為1的卷積層.該結(jié)構(gòu)設(shè)計(jì)的思路源于在ViT的Transformer Block中,輸入序列X∈N×C經(jīng)過多頭注意力層后進(jìn)入多層感知機(jī)(全連接層)結(jié)構(gòu),無需調(diào)整輸入形狀即可連接到下一個(gè)特征構(gòu)建模塊.ConMLP若沿用原始MLP結(jié)構(gòu),在經(jīng)過分解卷積模塊后需要將輸入序列X∈H×W×C先展平為X∈N×C,經(jīng)過全連接層后為了能與下一個(gè)卷積特征提取模塊有效連接,不得不再將輸入形狀還原回X∈H×W×C.當(dāng)模型規(guī)模較大,即Convolution Block重復(fù)次數(shù)和卷積層輸出通道數(shù)變大時(shí),使用MLP結(jié)構(gòu)會(huì)消耗大量的運(yùn)算資源,使得模型變得難以訓(xùn)練.在一個(gè)特征提取模塊內(nèi)使用相同性質(zhì)的結(jié)構(gòu)可以有效減少計(jì)算復(fù)雜度.故ConMLP中用1×1的卷積層來代替原始MLP中的全連接層.
Convolution Block同樣使用先提高輸出通道維度再還原的結(jié)構(gòu),在每個(gè)模塊前進(jìn)行批量歸一化(Batch Normalization,BN)來加快模型收斂.在BN后使用GELU激活函數(shù),利用殘差連接以減少特征退化.Convolution Block放置在靠前階段中利用較大感受野的靜態(tài)卷積更好地捕獲局部信息,以減少自注意力機(jī)制花費(fèi)過多的計(jì)算資源去構(gòu)建圖像底層特征信息,有效地提升了模型的運(yùn)算效率.
Zhou等人[20]認(rèn)為在多頭自注意力機(jī)制(Mutil-head Self-Attention,MSA)中隨著Transformer Block的增多,一部分頭在堆疊多次特征構(gòu)建模塊后會(huì)學(xué)習(xí)到重復(fù)的特征信息,造成計(jì)算資源浪費(fèi)和模型性能衰退.注意力退化的根本原因在于多頭注意力機(jī)制的輸出動(dòng)態(tài)地取決于輸入表示,即學(xué)習(xí)到的權(quán)重信息無法去影響模型的學(xué)習(xí)偏好.MSA中過于靈活的頭為模型帶來動(dòng)態(tài)的全局感受野和捕獲不同空間位置復(fù)雜信息能力的同時(shí),也伴隨著很高的過擬合風(fēng)險(xiǎn).尤其在數(shù)據(jù)量并不充足時(shí),這種現(xiàn)象會(huì)更加頻繁地出現(xiàn).卷積的輸出僅取決于感受野及其鄰域的權(quán)重信息,這種特性使得卷積神經(jīng)網(wǎng)絡(luò)在有限的數(shù)據(jù)集下的表現(xiàn)要比Transformer模型更好.故本文考慮將卷積的特性引入到多頭注意力機(jī)制中來緩解注意力崩潰的問題.
對(duì)于卷積操作Attention Block主要考慮深度可分離卷積,它可以在保持準(zhǔn)確率的前提下有效降低普通卷積的計(jì)算量.更為重要的是,深度可分離卷積的輸出取決于感受野及其鄰域附近的權(quán)重,可以幫助MSA擺脫全局注意力依賴.圖4所示為本文提出的深度可分離注意力機(jī)制(DepthWise Mutil-head Self-Attention,DWMSA).具體來說,對(duì)于一個(gè)二維輸入標(biāo)記X∈N×C,沿空間維度還原成原始輸入圖像X∈H×W×C后,送入深度可分離卷積提取卷積感受野及其鄰域特征信息,同時(shí)加入注意力機(jī)制所或缺的卷積圖像歸納偏置.深度可分離卷積的加入使得多頭注意力機(jī)制擁有了捕獲底層特征相關(guān)的位置信息的能力.在特征構(gòu)建過程進(jìn)行到更深層次時(shí),DWMSA對(duì)于位置信息的獲取將更加顯著.如果在獲取輸入標(biāo)記前沒有加入深度可分離卷積,整個(gè)注意力特征構(gòu)建模塊的輸出將全部動(dòng)態(tài)地取決于輸入信息,無法區(qū)分局部附近特征關(guān)系的差異.如語義分割任務(wù)[21](天空和大海中的相同藍(lán)色斑塊會(huì)被分割為同一類別).為了防止原始二維標(biāo)記內(nèi)部信息被破壞,在深度可分離卷積運(yùn)算之后將三維圖像重新展平為X∈N×C,使用層歸一化(Layer Normalization)處理.最后通過線性映射分別得到矩陣Q、K、V.為了緩解每個(gè)頭之間學(xué)習(xí)到相同的特征信息,減少注意力崩潰的問題,在Softmax之后使用一個(gè)1×1的普通卷積來加強(qiáng)各個(gè)頭之間的信息聯(lián)系與交互.最后與V相乘獲取注意力圖.深度可分離注意力機(jī)制的表達(dá)式可以為:
圖4 深度可分離注意力機(jī)制Fig.4 DepthWise mutil-head self-attention(DWMSA)
(4)
上式中BN表示Batch Normalization,Conv1×1表示卷積核大小為1的普通卷積運(yùn)算.
圖5(a)圖和圖5(b)圖分別為ViT中的Transformer Block和CSNet中的Attention Block.兩種特征構(gòu)建模塊唯一的區(qū)別是將Transformer Block中的多頭注意力機(jī)制(MSA)替換為更加高效的深度可分離注意力機(jī)制(DWMSA).仍然保留線性MLP來擴(kuò)展通道維度,在每個(gè)模塊前使用Layer Normalization且利用殘差連接來防止特征退化.將Attention Block放置在CSNet的深層階段中可以最大化發(fā)揮深度可分離注意力機(jī)制的全局特征信息提取的能力,還可以通過深度可分離卷積捕獲局部空間信息的特性為自注意力機(jī)制加入所需的卷積特性以提高模型的泛化能力和準(zhǔn)確率.最終Attention Block的輸出表達(dá)式為:
圖5 注意力特征提取模塊Fig.5 Attention block
y=x′+MLP(LN(x′)) x′=x+DWMSA(LN(x))
(5)
其中LN代表Norm模塊,即Layer Normalization操作.
圖6所示為CSNet的整體結(jié)構(gòu).圖中L表示對(duì)應(yīng)特征提取模塊重復(fù)的次數(shù),FC表示最后用來分類的線性映射層.模型整體沿用多階段分辨率下采樣的架構(gòu),共分為4個(gè)不同類型的階段(Stage)來分別構(gòu)建特征信息.前兩個(gè)階段(模型淺層階段)采用Convolution Block,后兩個(gè)階段(模型深層階段)采用Attention Block進(jìn)行特征提取.下采樣模塊采用一個(gè)3×3的普通卷積層將分辨率下采樣的同時(shí)提高輸出通道數(shù).除第1個(gè)下采樣模塊的下采樣率(即步距S)為4以外,其余階段S均設(shè)置為2.Convolution Block中的卷積分解模塊和Attention Block中的DWMSA都采用預(yù)激活結(jié)構(gòu)[22].與ViT模型相比,CSNet放棄了使用原始位置編碼.原因在于Attention Block中的DWMSA利用深度可分離卷積的特性在感受野及其鄰域附近已經(jīng)提取到了部分權(quán)重信息,其中包含了原始圖像的位置信息.同樣也沒有選擇增加一個(gè)額外的分類標(biāo)記,而是利用類似卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)將全局平均池化層應(yīng)用于最后階段的輸出,以獲得簡(jiǎn)單的輸出表示.
圖6 CSNet結(jié)構(gòu)Fig.6 Structure of CSNet
為了適應(yīng)不同規(guī)模的應(yīng)用場(chǎng)景,根據(jù)每個(gè)Stage的模塊重復(fù)次數(shù)和輸出通道數(shù)的不同實(shí)例化了3種不同模型容量的CSNet,分別名為CSNet-Tiny、CSNet-Small和CSNet-Base.表1所示為3種模型變體的詳細(xì)架構(gòu).其中C表示每個(gè)Stage的輸出通道數(shù).H表示多頭注意力機(jī)制中頭的個(gè)數(shù).R表示不同特征提取模塊中ConMLP和MLP輸出通道維度的擴(kuò)展倍數(shù).對(duì)于不同規(guī)模的CSNet模型,特征構(gòu)建階段統(tǒng)一使用C-C-A-A的模塊組合方式,其中C和A分別表示本文提出的Convolution Block和Attention Block.不同模塊組合方式的性能對(duì)比將在3.4.2節(jié)中進(jìn)行詳細(xì)說明.
表1 不同規(guī)模的CSNet Table 1 Different sizes of CSNet
在這一節(jié)中,實(shí)驗(yàn)分別在ImageNet-1K和CIFAR-10數(shù)據(jù)集上評(píng)估了CSNet模型的圖像分類性能.隨后在提出的Convolution Block中嘗試不同卷積核大小和擴(kuò)張率的搭配來尋找較為合適的卷積分解運(yùn)算.最后綜合模型的參數(shù)量和準(zhǔn)確率,找到了不同模塊之間最佳的組合方式.
實(shí)驗(yàn)全部在PyTorch框架下進(jìn)行訓(xùn)練.對(duì)于ImageNet-1K數(shù)據(jù)集來說,訓(xùn)練過程使用動(dòng)量大小為0.9的AdamW優(yōu)化器,總共訓(xùn)練300個(gè)epochs,使用余弦衰減學(xué)習(xí)率策略[23]和20個(gè)epochs的線性預(yù)熱階段(Linear warm-up[24]).模型使用交叉熵?fù)p失函數(shù)(Cross Entropy Loss).交叉熵?fù)p失函數(shù)的表達(dá)式為:
(6)
訓(xùn)練使用總批量大小(Batch Size)為1024(訓(xùn)練過程使用4個(gè)GPU并行,每個(gè)GPU上有256幅圖像).特別的,訓(xùn)練CSNet-Base時(shí)Batch Size調(diào)整為512.所有訓(xùn)練模型初始的學(xué)習(xí)率設(shè)置為0.002,權(quán)重衰減為0.05.數(shù)據(jù)增強(qiáng)策略使用簡(jiǎn)單的隨機(jī)水平翻轉(zhuǎn),隨機(jī)擦除.使用標(biāo)簽平滑策略[25]對(duì)網(wǎng)絡(luò)進(jìn)行正則化.整個(gè)訓(xùn)練過程默認(rèn)使用分辨率為224×224的圖像.對(duì)于CIFAR-10數(shù)據(jù)集的訓(xùn)練,初始學(xué)習(xí)率設(shè)置為0.02,權(quán)重衰減為0.0001.采用動(dòng)量為0.9的AdamW優(yōu)化器,批量大小為128,總共訓(xùn)練150個(gè)epochs.
CIFAR-10是一個(gè)用于圖像分類的小型數(shù)據(jù)集.該數(shù)據(jù)集共有6萬張分辨率大小為32×32的彩色圖像.一共有10個(gè)類別,如貓、汽車和飛機(jī)等.其中訓(xùn)練集包含5萬張圖像,測(cè)試集包含1萬張圖像.
ImageNet-1K數(shù)據(jù)集共有1000個(gè)分類類別,其中包含約130萬張訓(xùn)練圖像和5萬張驗(yàn)證圖像.作為圖像分類領(lǐng)域最為廣泛使用的公共數(shù)據(jù)集,在ImageNet-1K上測(cè)試出的實(shí)驗(yàn)結(jié)果通常被作為模型普遍的性能指標(biāo).在訓(xùn)練過程中將ImageNet-1K數(shù)據(jù)集中所有圖像的輸入分辨率調(diào)整為224×224.
在這一部分中,實(shí)驗(yàn)將CSNet的模型性能與許多先進(jìn)的分類模型分別在ImageNet-1K和CIFAR-10數(shù)據(jù)集上進(jìn)行了對(duì)比.
在ImageNet-1K上的對(duì)比結(jié)果如表2所示.對(duì)比的模型包含了卷積模型、Transformer模型和CNN與Transformer相結(jié)合的模型.在模型規(guī)模較小的情況下,CSNet-Tiny比ResNet-18[3]、PoolFormer-S12[26]和T2T-ViT-12[27]的準(zhǔn)確率分別高出8.0%,、0.6%和1.3%,同時(shí)參數(shù)量和FLOPs都有不同程度的減少.在模型規(guī)模較大時(shí),CSNet相較于卷積模型有了明顯的優(yōu)勢(shì).如CSNet-Small比ResNet-101的準(zhǔn)確率高出4.4%,而相應(yīng)的參數(shù)量和FLOPs則分別下降了12.1%和12.7%.CSNet-Small與RegNetY-8G[28]相比則在FLOPs方面上表現(xiàn)出優(yōu)勢(shì).對(duì)于Transformer模型來說,CSNet也表現(xiàn)出了顯著的性能優(yōu)勢(shì).CSNet-Small的準(zhǔn)確率在比PVT-M[18]提高了0.6%的情況下,依然能保持較小的參數(shù)量和計(jì)算復(fù)雜度.當(dāng)需要使用更大規(guī)模的模型應(yīng)對(duì)復(fù)雜場(chǎng)景時(shí),CSNet-Base也能展示出較Transformer模型更加優(yōu)秀的性能表現(xiàn).如CSNet-Base的準(zhǔn)確率比DeiT-B[29]和T2T-ViT-24分別提高了0.8%和0.3%,參數(shù)量分別下降了36.2%和13.8%,FLOPs相對(duì)應(yīng)的分別下降了70.6%和32.0%.圖7展示了CSNet與其他分類網(wǎng)絡(luò)的性能對(duì)比圖.可以清晰直觀地看出CSNet相較于這些網(wǎng)絡(luò)在參數(shù)量及FLOPs性能指標(biāo)上都有明顯的優(yōu)勢(shì).
表2 ImageNet-1K上的模型對(duì)比試驗(yàn)Table 2 Model comparison experiments on ImageNet-1K
圖7 模型性能對(duì)比圖Fig.7 Model performance comparison
上一組對(duì)比實(shí)驗(yàn)已經(jīng)驗(yàn)證了在大型數(shù)據(jù)集上不同規(guī)模的CSNet能夠有良好的表現(xiàn).為了進(jìn)一步研究CSNet在各種不同應(yīng)用情況下的適應(yīng)性,在小型數(shù)據(jù)集CIFAR-10上測(cè)試了CSNet的模型表現(xiàn),對(duì)比結(jié)果如表3所示.可以看出CSNet-Small和CSNet-Base在CIFAR-10上的準(zhǔn)確率分別達(dá)到了98.6%和98.9%,性能優(yōu)于ResNet、ViT和T2T-ViT模型.實(shí)驗(yàn)證明了CSNet擁有比傳統(tǒng)CNN模型更好的模型性能和比Transformer模型更好的泛化性,能夠在小型數(shù)據(jù)量的下游任務(wù)中取得良好的效果.
表3 CIFAR-10上的模型對(duì)比試驗(yàn)Table 3 Model comparison experiments on CIFAR-10
3.4.1 分解不同大小的卷積層
CSNet的Convolution Block利用將一個(gè)大核卷積分解為一個(gè)深度可分離卷積、一個(gè)深度可分離擴(kuò)張卷積和一個(gè)點(diǎn)卷積的思想來捕獲長距離的關(guān)系.在這一部分中,實(shí)驗(yàn)選取CSNet-Tiny在ImageNet-1K上測(cè)試Convolution Block中不同卷積核大小以選擇最優(yōu)的大型卷積核予以分解.表4展示了4種附帶不同大小擴(kuò)張率(Dilation rate)的卷積核.從表中可以清楚地看到,當(dāng)卷積核大小分別為21和28,擴(kuò)張率分別為3和4時(shí),準(zhǔn)確率達(dá)到了最高的77.8%.21×21與7×7的卷積核相比,在參數(shù)量和FLOPs只有小幅提升的前提下,準(zhǔn)確率上升了0.2%.上述現(xiàn)象表明大核卷積對(duì)于計(jì)算機(jī)視覺任務(wù)是十分重要的.在參數(shù)量與計(jì)算復(fù)雜度相似的情況下,更大的卷積核意味著更大的感受野,可以提取到更多區(qū)域的特征信息.28×28與21×21的卷積核相比,準(zhǔn)確率方面沒有明顯的提高,但卻增加了少量的參數(shù)和FLOPs.故CSNet的Convolution Block都默認(rèn)分解卷積核大小為的卷積運(yùn)算.
表4 分解不同大小卷積核的性能表現(xiàn)Table 4 Performance of decomposing different size convolutional kernels
3.4.2 CSNet中模塊的不同組合
CSNet與CoAtNet[10]分階段組合不同模塊的整體架構(gòu)相同.為了更好地發(fā)揮卷積提取底層信息的優(yōu)勢(shì),各模塊的組合應(yīng)遵守Convolution Block在前期階段處理低層次特征信息的約定.這導(dǎo)致出現(xiàn)了3種不同階段的模型變體.從Stage 1~Stage 4分別為C-C-C-A、C-C-A-A和C-C-A-A的組合模式,其中C和A分別代表Convolution Block和Attention Block.為了能系統(tǒng)地研究每種模塊組合的性能,實(shí)驗(yàn)使用CSNet-Small測(cè)試了3種不同模型變體在ImageNet-1K上的準(zhǔn)確率.由表5可以看出,組合模式為C-C-C-A的模型變體擁有最多的參數(shù)量和計(jì)算復(fù)雜度,準(zhǔn)確率只達(dá)到了80.9%.造成上述現(xiàn)象的原因是在CSNet整體結(jié)構(gòu)中Stage3占據(jù)了大部分的模塊重復(fù)次數(shù).當(dāng)輸出通道數(shù)隨著階段數(shù)增大后,Convolution Block中的分解卷積運(yùn)算占據(jù)了大部分的計(jì)算量.組合模式分別為C-C-A-A和C-A-A-A的模型變體在參數(shù)量和計(jì)算復(fù)雜度相近的情況下,準(zhǔn)確率分別達(dá)到了81.8%和81.6%.對(duì)于C-C-A-A和C-C-A-A來說,都在前期Stage利用了Convolution Block中卷積提取局部特征信息的能力來增強(qiáng)模型的泛化能力.從最后的準(zhǔn)確率可以看出,C-C-A-A比C-A-A-A組合模式的準(zhǔn)確率高0.2%.先前的一些工作[30]已經(jīng)證明了自注意力機(jī)制所擁有的全局感受野在計(jì)算機(jī)視覺領(lǐng)域是非常重要的.上述現(xiàn)象表明僅僅擁有更多的Attention Block并不意味著更好地視覺處理能力.綜上所述,不同模型容量的CSNet均采用C-C-A-A的模塊組合方式.
表5 不同模塊組合的性能表現(xiàn)Table 5 Performance of different module combinations
Grad-CAM[31]可以用于可視化模型的鑒別區(qū)域.圖8展示了Grad-CAM分別對(duì)ResNet-101,Swin-T[32]和CSNet-Small在ImageNet數(shù)據(jù)集上的類激活圖可視化.可以看出,與ResNet相比CSNet擁有更加寬廣的視覺范圍,這得益于在模型淺層擴(kuò)張卷積較大的感受野.與Swin相比,CSNet可以更為準(zhǔn)確和完整地定位目標(biāo)物體,尤其圖片中有其他標(biāo)簽物體時(shí),CSNet表現(xiàn)出更加顯著的優(yōu)勢(shì).例如第1張輸入圖片CSNet準(zhǔn)確注意到了整個(gè)狗的部分,并忽略了旁邊的人物.
圖8 類激活圖可視化Fig.8 Gradient-weighted class activation mapping
本文提出了一種全新高效的圖像分類網(wǎng)絡(luò),命名為CSNet.它可以有效地分階段結(jié)合卷積與自注意力模塊以克服全局感受野缺失和局部表征不足等問題.在模型淺層階段將大核卷積分解為3種不同類型的卷積層,在保持較少參數(shù)的同時(shí)彌補(bǔ)了傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)較小感受野所帶來的局限性.在深層階段使用本文提出的深度可分離注意力機(jī)制,利用深度可分離卷積捕獲局部空間交互的能力來緩解多頭注意力機(jī)制極高的過擬合風(fēng)險(xiǎn)和對(duì)于數(shù)據(jù)本身嚴(yán)重的依賴性.尤其在數(shù)據(jù)量和模型規(guī)模有限的情況下也能利用全局感受野來捕獲特征信息以實(shí)現(xiàn)較高的準(zhǔn)確率.實(shí)驗(yàn)表明CSNet擁有強(qiáng)大的特征建模能力,在圖像分類任務(wù)中以適量的參數(shù)和計(jì)算復(fù)雜度取得了優(yōu)異的性能表現(xiàn).