網(wǎng)絡(luò)架構(gòu)之爭:三大主流架構(gòu)對決,誰是王者?深入思考CNN、Transformer與MLP

極市導(dǎo)讀
中科大&MSRA對三大神經(jīng)網(wǎng)絡(luò)架構(gòu)的特性進(jìn)行了分析,通過構(gòu)建一個統(tǒng)一架構(gòu)SPACH為基礎(chǔ)對CNN、Transformer以及MLP進(jìn)行對比挖掘得出:多階段模型總是優(yōu)于單階段模型。 >>加入極市CV技術(shù)交流群,走在計(jì)算機(jī)視覺的最前沿

論文鏈接:https://arXiv.org/abs/2108.13002
本文是中科大&MSRA在DNN的CNN、Transformer以及MLP三大流派紛爭方面的一點(diǎn)深入思考。為分析不同架構(gòu)的特性,作者首先構(gòu)建了一個統(tǒng)一架構(gòu)SPACH將Mixing做成可配置型,以此為基礎(chǔ)上CNN、Transformer以及MLP進(jìn)行挖掘得出:多階段優(yōu)于單階段、局部建模非常重要以及CNN與Transformer的互補(bǔ)性。基于所挖掘特性構(gòu)建了一種CNN與Transformer混合模型,所得模型僅需63M參數(shù)量即可在ImageNet數(shù)據(jù)集上取得83.9%的top1精度,優(yōu)于Swin-B、CaiT-S36。
Abstract
CNN占據(jù)了CV的主流,近來Transformer與MLP開始在ImageNet分類任務(wù)上引領(lǐng)新的趨勢。
本文對這些深度神經(jīng)網(wǎng)絡(luò)架構(gòu)進(jìn)行實(shí)證研究并嘗試?yán)斫馑麄兊睦c弊。為確保公平性,我們首先開發(fā)了一種稱之為SPACH的統(tǒng)一架構(gòu),它采用獨(dú)立的模塊進(jìn)行空域與通道處理?;赟PACH的實(shí)驗(yàn)表明:在適度規(guī)模下,所有架構(gòu)可以取得相當(dāng)?shù)男阅?。然而,隨著網(wǎng)絡(luò)放大,他們表現(xiàn)出不同的行為?;谒冒l(fā)現(xiàn),我們采用卷積與Transformer提出了兩個混合模塊。所提Hybrid-MS-S+僅需63M參數(shù)量12.3GFLOPs即可取得83.9%top1精度,已有現(xiàn)有精心設(shè)計(jì)的模型具有相當(dāng)?shù)男阅堋?/p>
A Unified Experimental Framework
為公平比較三種架構(gòu),我們需要一個統(tǒng)一架構(gòu)以消除其他可能對性能造成影響的因素。由于近期提出的MLP具有與Transformer相似的架構(gòu),我們在此基礎(chǔ)上構(gòu)建了一個統(tǒng)一架構(gòu)并嘗試將CNN納入在內(nèi)。
下圖a給出了單階段SPACH架構(gòu)示意圖,ViT與MLP-Mixer均采用了類似架構(gòu),該架構(gòu)非常簡單,主要包含多個Mixing模塊與必要輔助模塊(如塊嵌入、GAP以及線性分類器)。下圖b給出了Mixing模塊結(jié)構(gòu)示意圖,Spatial Mixing與Channel Mixing順序執(zhí)行。SPACH的名稱則源自Mixing的處理過程:SPAtial and CHannel processing。

上圖c則給出了多階段SPACH(SPACH-MS)架構(gòu)示意圖。多階段是CNN網(wǎng)絡(luò)提升性能非常重要的機(jī)制。不同于單階段SPACH(它對輸入圖像進(jìn)行大尺度下采樣后在進(jìn)行處理),它在開始階段保持高分辨率,然后逐漸下采樣。具體來說,SPACH-MS包含四個階段,下采樣比例分別為,每個階段包含個Mixing模塊。由于Transformer與MLP在高分辨率特征上的高計(jì)算量,我們在第一階段僅采用卷積;另外,階段內(nèi)部通道維度保持不變,每下采樣一次通道數(shù)加倍。
表示輸入圖像,SPACH首先通過塊嵌入層變換為(注:p表示塊尺寸,在單階段中為16,在多階段中為4)。經(jīng)過多個Mixing模塊處理后,在尾部街上分類頭進(jìn)行分類。

上表給出了不同模型配置的超參信息,通過控制模塊數(shù)、通道數(shù)以及擴(kuò)展比例一共設(shè)置了三個不同大小的模型:SPACH-XXS、SPACH-XS以及SPACH-S。
Mixing Block Design

Mixing模塊是SPACH架構(gòu)的關(guān)鍵成分,正如上圖所示:輸入特征首先經(jīng)過Spatial Mixing模塊處理,然后再由Channel Mixing模塊進(jìn)行處理。其中:聚焦于不同位置的信息聚合,而則聚焦于通道信息融合。假設(shè)輸出為Y,我們將Mixing模塊描述如下:

不同架構(gòu)的關(guān)鍵差異在于Spatial Mixing模塊。我們采用卷積、自注意力以及MLP實(shí)現(xiàn)了三種架構(gòu),見上圖。具體來說:
Convolution:采用深度卷積實(shí)現(xiàn);
Transformer:采用自注意力+CPE實(shí)現(xiàn);
MLP:采用MLP+CPE實(shí)現(xiàn)。

上述三種實(shí)現(xiàn)具有不同的特性,見上表。簡要描述如下:
卷積結(jié)構(gòu)僅包含局部連接,因此計(jì)算高效;
自注意力采用了動態(tài)權(quán)值,因此模型容量更大,它同時還具有全局感受野;
MLP同樣具有全局感受野,但沒有使用動態(tài)權(quán)值。
總而言之,上述可見屬性對于模型性能與效率有直接的影響。我們發(fā)現(xiàn):卷積與自注意力具有互補(bǔ)特性,因此,很有可能將兩者混合以組合所有期望屬性。
Expirical Studies on Mixing Blocks
接下來,我們將進(jìn)行一系列可控實(shí)驗(yàn)比較上述三個網(wǎng)絡(luò)架構(gòu)。
Multi-stage is Superior to Single-stage

上表比較了單階段與多階段SPACH模型在ImageNet分類任務(wù)上的性能對比,從中可以看到:對于三種大小網(wǎng)絡(luò)、三種類型網(wǎng)絡(luò)架構(gòu),多階段網(wǎng)絡(luò)均取得了比單階段網(wǎng)絡(luò)更佳的復(fù)雜度-精度均衡 。

上圖比較了圖像分類精度與參數(shù)朗、吞吐量之間的關(guān)系。從中可以看到:多階段模型總是優(yōu)于單階段模型 。
上述發(fā)現(xiàn)與近期的一些工作相一致,比如采用了多階段架構(gòu)Swin與TWins具有顯著優(yōu)于單階段架構(gòu)DeiT的性能。我們的研究同樣認(rèn)為:多階段架構(gòu)可能是其性能優(yōu)異的一個重要原因。
Local Modeling is Crucial
從上面的Table3與Figure對比可以看到:卷積架構(gòu)具有與Transformer相當(dāng)?shù)男阅埽欢疃染矸e僅占模型整體0.3%的參數(shù)量與0.5%的FLOPs。

為說明局部建模如何幫助提升Transformer與MLP的性能,將兩個結(jié)構(gòu)中的卷積分支(注:卷積分支即CPE分支)移除,結(jié)果見上表。從中可以看到:卷積分支僅輕微降低了吞吐量,但大幅提升了兩個模型的精度 。該實(shí)驗(yàn)進(jìn)一步說明了局部建模的重要性。
A Detailed Analysis of MLP
由于超多的參數(shù)量,MLP存在嚴(yán)重的過擬合問題。我們認(rèn)為:過擬合是阻礙MLP取得SOTA性能的主要枷鎖 。接下來,我們將討論兩種可能緩解該問題的機(jī)制。
Multi-stage Framework Table3中的結(jié)果已表明:多階段可以帶來性能增益,對于大的MLP模型更為突出 。比如,相比單階段方案,MLP-MS-S取得了2.6%精度提升。我們認(rèn)為:性能增益主要源于多階段框架的強(qiáng)泛化性能。

上表給出了測試精度與訓(xùn)練損失的關(guān)系圖,可以看到:當(dāng)測試精度趨向于飽和時,過擬合問題出現(xiàn)。而受益于多階段架構(gòu),MLP-MS-S模型取得了比MLP-Mixer高5.7%的精度。
Weight Sharing 我們對Spatial Mixing模塊實(shí)施權(quán)值功能共享。結(jié)果見下表,可以看到:MLP架構(gòu)引入權(quán)值共享可以得到顯著的性能提升 。上面的Figure4同樣驗(yàn)證了該結(jié)論。因此,如果MLP可以緩解過擬合問題,它仍具競爭力。

Convolution and Transformer are Complementary
卷積架構(gòu)具有最佳的泛化性能,而Transformer架構(gòu)具有最大的容量,故我們認(rèn)為:兩者具有互補(bǔ)性。

從上圖可以看到:在性能飽和前,Conv-MS具有更高的測試精度。這意味著卷積模型具有更好的泛化性能 ,卷積仍是輕量型模型的最佳選擇。
另一方面,F(xiàn)igure3與Figure5結(jié)果表明:Transformer可以取得比其他兩個結(jié)構(gòu)更高的精度??紤]到上述結(jié)構(gòu)特性,很明顯:稀疏鏈接有助于提升泛化性能,而動態(tài)權(quán)值與全局感受野有助于提升模型容量 。
Hybrid Models
基于前述發(fā)現(xiàn),我們構(gòu)建了基于卷積與Transformer的混合模型:以多階段卷積模型作為基線模型,采用Transformer層替換某些層 。考慮到卷積的局部建模能力與Transformer的全局建模能力。混合模型的替換層選擇如下:
Hybrid-MS-XS:在Conv-MS-XS基礎(chǔ)上,將Stage3的最后10層與Stage的最后兩層替換為Transformer層。Stage1與Stage2保持不變;
Hybrid-MS-S:在Conv-MS-S基礎(chǔ)上,將Stage2的最后兩層、Stage3的最后10層以及Stage的最后兩層替換為Transformer。Stage1保持不變。
為進(jìn)一步釋放Hybrid模型的全部潛力,我們LV-ViT中的deep-PEL。不同于default-PEL(它采用卷積),deep-PEL采用四個卷積,卷積核、stride以及通道數(shù)分別為。我們將該模型稱之為Hybrid-MS-*+。

上表給出了所提Hybrid模型與其他模型的性能對比,從中可以看到:
相比純粹的卷積或者Transformer模型,Hybrid模型具有更好的模型大小-精度均衡;
Hybrid-MS-XS憑借28M參數(shù)量取得了82.4%top1精度,優(yōu)于44M參數(shù)量的Conv-MS-S,略低于40M參數(shù)量的Trans-MS-S;
Hybrid-MS-S憑借63M參數(shù)量取得了83.7%top1精度,以0.8%指標(biāo)優(yōu)于Trans-MS-S;
Hybrid-MS-S+憑借63M參數(shù)量取得了83.9%top1精度,優(yōu)于SOTA方案Swin-B與CaiT-S36。
作者認(rèn)為:Hybrid-MS-S可以作為未來架構(gòu)研究的簡單且強(qiáng)力的基線 。
個人反思
文章很長,內(nèi)容很多,但一字一句看下來后得出:確實(shí)如此。好文,推薦!
事實(shí)上,在這篇文章之前,也有一些研究在挖掘卷積與Transformer的融合與互補(bǔ)性。比如以下兩篇
CMT: Convolutional Neural Networks Meet Vision Transformers
Early Convolutions Help Transformers See Better
但幾乎沒有文章將三者放到同一水平線上去對比,分析各自的特性以及互補(bǔ)性問題。筆者在前段時間進(jìn)行Transformer、MLP調(diào)研時曾想過:CV領(lǐng)域Transformer與MLP的成功到底是源自什么?它們與Convolution的差異在哪里?相互之間是否有可借鑒性?看完該文,之前的幾個問題也許有點(diǎn)答案了...
如果覺得有用,就請分享到朋友圈吧!
公眾號后臺回復(fù)“CVPR21檢測”獲取CVPR2021目標(biāo)檢測論文下載~

# 極市平臺簽約作者#
happy
知乎:AIWalker
AIWalker運(yùn)營、CV領(lǐng)域八年深耕碼農(nóng)
研究領(lǐng)域:專注low-level領(lǐng)域,同時對CNN、Transformer、MLP等前沿網(wǎng)絡(luò)架構(gòu)保持學(xué)習(xí)心態(tài),對detection的落地應(yīng)用甚感興趣。
公眾號:AIWalker
作品精選
ResNet被全面超越了,是Transformer干的:依圖科技開源“可大可小”T2T-ViT,輕量版優(yōu)于MobileNet
何愷明團(tuán)隊(duì)最新力作SimSiam:消除表征學(xué)習(xí)“崩潰解”,探尋對比表達(dá)學(xué)習(xí)成功之根源


