論文筆記:InternImage—基于可變形卷積的視覺(jué)大模型,超越ViT視覺(jué)大模型,COCO 新紀(jì)錄 64.5 mAP!

文章信息

寫在前面

拿到文章之后先看了一眼在ImageNet1k上的結(jié)果,確實(shí)很高,超越了同等大小下的VAN、RepLKNet、ConvNext等先進(jìn)的大核注意力CNN模型,同時(shí)也超過(guò)了Swin、DeiT3、CoAtNet等ViT模型?;仡欁詮腣ision Transformer被提出之后,通過(guò)大量數(shù)據(jù)訓(xùn)練出的ViT大模型刷新了許多視覺(jué)任務(wù)的記錄,這得益于ViT的MHSA機(jī)制能夠建模長(zhǎng)距離依賴,具有相當(dāng)?shù)偷臍w納偏置,從而能夠在海量數(shù)據(jù)中學(xué)習(xí)到強(qiáng)大魯棒的特征表達(dá)。相反的,我們以前經(jīng)常使用的卷積神經(jīng)網(wǎng)絡(luò)具有較高的歸納偏置,在大模型和大數(shù)據(jù)的條件下的表現(xiàn)卻不如ViT大模型。該論文就指出,通過(guò)合適的算子、先進(jìn)的架構(gòu)設(shè)計(jì)、大量模型參數(shù)和海量數(shù)據(jù)的訓(xùn)練之下,CNN大模型也可以具有媲美ViT大模型的性能。InternImage設(shè)計(jì)了全新的可變性卷積模塊,并且借鑒了ViT的先進(jìn)架構(gòu)和相關(guān)組件,從而設(shè)計(jì)出一個(gè)新的CNN大模型。并且,InternImage在相關(guān)的下游任務(wù)上的性能也很高,InternImage-H在目標(biāo)檢測(cè)COCO數(shù)據(jù)集上達(dá)到了65.4%的性能,超越了SwinV2-G大模型的性能。

COCO box AP

Background & Motivation

隨著基于Transformer的語(yǔ)言大模型在NLP相關(guān)下游任務(wù)中取得優(yōu)異性能,Vision Transformer也席卷了CV領(lǐng)域,成為基礎(chǔ)視覺(jué)大模型研究和實(shí)踐的首選。Swin V2、BeiT、CoAtNet等工作已經(jīng)將ViT擴(kuò)展到超過(guò)十億參數(shù)規(guī)模,顯著提升了CV分類、檢測(cè)和分割等下游任務(wù)的性能,超越了CNN模型。但是,該論文提出如果CNN具備類似于ViT的算子和架構(gòu),并且在大量參數(shù)和海量數(shù)據(jù)情況下,其性能是可以與ViT相同甚至更好的。
作者認(rèn)為CNN和ViT大模型性能存在差距的主要有兩個(gè)原因:

  • ViTs的MHSA具有長(zhǎng)程依賴和自適應(yīng)空間聚合能力,從而可以在海量數(shù)據(jù)中學(xué)習(xí)到比CNN更強(qiáng)大魯棒的特征表達(dá)。
  • 除MHSA外,ViT還包含不同于CNN的高級(jí)組件,如層歸一化、前饋網(wǎng)絡(luò)、GELU等。

基于此,該論文設(shè)計(jì)了一個(gè)新穎的基于可變性卷積CNN網(wǎng)絡(luò)——InternImage,可以在大量參數(shù)和海量數(shù)據(jù)的情況下表現(xiàn)很好。如下圖所示,動(dòng)態(tài)稀疏可變性卷積既不像MHSA那樣具有較高復(fù)雜度,也不像Local attention那樣缺乏長(zhǎng)程依賴,同時(shí)具有自適應(yīng)的空間聚合能力。

不同算子的特性對(duì)比

該論文的主要貢獻(xiàn)如下:

  • 提出一種新的CNN大模型——InternImage,首個(gè)參數(shù)達(dá)1B、訓(xùn)練數(shù)據(jù)達(dá)400M、取得與ViT相當(dāng)甚至更優(yōu)性能的CNN模型。證明對(duì)于大尺度模型研究,CNN同樣是一個(gè)值得探索的方向。
  • 將長(zhǎng)程依賴、自適應(yīng)空域聚合引入到DCNv3,將CNN模型的大小和尺度進(jìn)行擴(kuò)展;并對(duì)模塊定制化、堆疊規(guī)則以及縮放策略進(jìn)行了探索。
  • 在圖像分類、目標(biāo)檢測(cè)、語(yǔ)義分割以及實(shí)例分割等下游任務(wù)上驗(yàn)證了所提方案的有效性。其中,InternImage-B僅在ImageNet-1K訓(xùn)練即可取得84.9%的精度(比其他CNN至少高出1.1%);當(dāng)在大量參數(shù)(1B)、海量數(shù)據(jù)(427M)條件下,InternImage-H取得了89.2%的性能;在COCO上,InternImage-H以2.18B的參數(shù)量取得了65.4%mAP,比SwinV2-G高出2.3%,參數(shù)量少27% 。

Method

該論文首先從DCNv2算子開(kāi)始實(shí)驗(yàn),然后借鑒了MHSA的相關(guān)思想對(duì)DCN V2做出了三個(gè)關(guān)鍵改進(jìn),設(shè)計(jì)出了全新的DCNv3算子;基于此算子,作者又提出了與ViT相似的Basic Block組成了InternImage網(wǎng)絡(luò),并且給出了InternImage的堆疊規(guī)則和大小縮放規(guī)則。

DCN V2

在提出DCN V3算子前,作者先回顧了一下傳統(tǒng)卷積和多頭自注意力機(jī)制這兩種算子的區(qū)別,主要包括如下兩點(diǎn):

  • 長(zhǎng)距離建模能力。普通的卷積聚合鄰域內(nèi)的信息,顯然不具備全局建模的能力,盡管傳統(tǒng)的CNN能夠通過(guò)堆疊多個(gè)3 \times 3的卷積增加模型的感受野,但是仍然不能像ViT那樣進(jìn)行全局的交互。
  • 自適應(yīng)空間聚合能力。多頭自注意力機(jī)制在聚合不同的tokens的時(shí)候,權(quán)重都是根據(jù)輸入query的不同而動(dòng)態(tài)變化的;而傳統(tǒng)的CNN不管輸入是什么,卷積核的參數(shù)都是靜態(tài)不變的。

然后回過(guò)頭看一下DCN V2算子,其恰好是具有上述兩個(gè)特性的;對(duì)于給定輸入 \mathbf{x}\in \mathbb{R} ^{C\times H\times W} 和某像素 p_0,DCN V2算子的輸出如下
\mathbf{y}\left( p_0 \right) =\sum_{k=1}^K{\mathbf{w}_k\mathbf{m}_k\mathbf{x}\left( p_0+p_k+\bigtriangleup p_k \right)}其中,K表示采樣點(diǎn)個(gè)數(shù)、\mathbf{w}_k為相應(yīng)采樣點(diǎn)投影權(quán)重、\mathbf{m}_k代表了相應(yīng)采樣點(diǎn)的調(diào)制標(biāo)量、\bigtriangleup p_k表示相應(yīng)采樣點(diǎn)的偏移量。
由這個(gè)表達(dá)式可以看出:

  • DCN V2算子可以通過(guò)偏移量來(lái)與局部或全局的交互,具有長(zhǎng)距離建模的能力;
  • 由于調(diào)制標(biāo)量\mathbf{m}_k和偏移量\bigtriangleup p_k都是可學(xué)習(xí)并且根據(jù)輸入不同而變化的,所以DCN V2算子也具有類似于MHSA的自適應(yīng)空間聚合能力。

因此,DCN V2算子==具備MHSA算子的相關(guān)特性==,有可能構(gòu)成大規(guī)模的CNN基礎(chǔ)模型。

DCN V3

盡管DCN V2算子已經(jīng)縮小了普通卷積算子和MHSA之間的差距,對(duì)于大規(guī)模的視覺(jué)基礎(chǔ)模型來(lái)說(shuō),DCN V2算子仍然不是最優(yōu)的選擇,于是作者從三個(gè)方面對(duì)DCN V2進(jìn)行改進(jìn),得到了IntenImage的主要算子——DCN V3。

  1. 共享卷積權(quán)重。在DCN V2中,對(duì)于每一個(gè)采樣點(diǎn)處的特征向量,都使用一個(gè)獨(dú)立的投影權(quán)重。當(dāng)采樣點(diǎn)增多的時(shí)候,模型的參數(shù)和復(fù)雜度將會(huì)線性增加,不利于構(gòu)建大規(guī)模的模型。在這里,作者借鑒了深度可分離卷積的思想來(lái)降低DCN算子的復(fù)雜度;具體地。對(duì)于point-wise,也就是不同的采樣點(diǎn)向量,使用一個(gè)共享的權(quán)重w來(lái)進(jìn)行投影;而對(duì)于depth-wise,則直接使用算子中的調(diào)制標(biāo)量\mathbf{m}_k來(lái)代替??傮w來(lái)說(shuō)就是用同一個(gè)同權(quán)重對(duì)采樣點(diǎn)進(jìn)行投影,然后用一個(gè)位置感知的可學(xué)習(xí)系數(shù)對(duì)投影后的特征向量進(jìn)行加權(quán)。
  2. 引入多組機(jī)制?;仡櫠囝^自注意力機(jī)制中的“多頭”思想,不同的head實(shí)際上能夠提供在不同子空間的豐富的信息。因此,作者將DCN V3也進(jìn)行分組,在每組中進(jìn)行不同的偏移采樣、采樣向量投影、因子調(diào)制。相當(dāng)于把原來(lái)的操作重復(fù)多次,增強(qiáng)了DCN V3算子的表達(dá)能力(確實(shí)應(yīng)該這樣設(shè)計(jì),不然只有一個(gè)共享的投影權(quán)重的話,特征表達(dá)的確單一)。
  3. 歸一化調(diào)制標(biāo)量。這個(gè)是因?yàn)樵谠嫉腄CN V2中,調(diào)制標(biāo)量是用sigmoid進(jìn)行處理的,對(duì)于K個(gè)調(diào)制因子來(lái)說(shuō),其和并不是1。作者指出,這樣會(huì)導(dǎo)致訓(xùn)練不穩(wěn)定的問(wèn)題,因此作者改為了對(duì)K個(gè)調(diào)制因子進(jìn)行softmax歸一化,使得整個(gè)訓(xùn)練過(guò)程更為穩(wěn)定。

以上三個(gè)點(diǎn)都是根據(jù)論文理解而來(lái),因?yàn)楝F(xiàn)在作者還沒(méi)有公布InternImage模型代碼,無(wú)法查看具體的實(shí)現(xiàn)細(xì)節(jié)。綜上所述,完整的DCN V3算子可以表示如下\mathbf{y}\left( p_0 \right) =\sum_{g=1}^G{\sum_{k=1}^K{\mathbf{w}_g\mathbf{m}_{gk}\mathbf{x}_g\left( p_0+p_k+\bigtriangleup p_{gk} \right)}}
其中,G表示group的數(shù)量。\mathbf{w}_g每組內(nèi)共享投影權(quán)重,\mathbf{m}_{gk}表示第g組第k個(gè)采樣點(diǎn)的歸一化后的調(diào)制因子。如此一來(lái) ,新設(shè)計(jì)的DCN V3算子彌補(bǔ)了傳統(tǒng)卷積在長(zhǎng)程依賴和自適應(yīng)空間聚合方面的不足,同時(shí)使得可變性卷積算子更加適用于視覺(jué)大模型;在實(shí)現(xiàn)了稀疏全局建模的同時(shí),又適當(dāng)?shù)谋A袅薈NN的歸納偏置,可以說(shuō)是在計(jì)算量和準(zhǔn)確度之間進(jìn)行了更好的權(quán)衡。

模型架構(gòu)

InternImage整體架構(gòu)

在設(shè)計(jì)完DCN v3算子后,作者拋棄了傳統(tǒng)CNN的Block設(shè)計(jì)方式,而是采用了與ViT類似的整體架構(gòu)設(shè)計(jì)。如上圖所示,基本模塊與ViT相同,什么LN、FFN、GELU激活函數(shù)都使用上了;downsample模塊也是采用了正常的3*3、stride2、pooling1模塊。然后按照論文中的堆疊和縮放策略就可以構(gòu)建出完整的InternImage模型了。

模型配置參數(shù)

Experiment

分類

ImageNet1k分類結(jié)果

部分模型在ImageNet 1K上的效果如上圖所示,可以說(shuō)是非常SOTA了,超越了同等大小下的VAN、RepLKNet、ConvNext等先進(jìn)的大核注意力CNN模型,同時(shí)也超過(guò)了Swin、DeiT3、CoAtNet等ViT模型。

檢測(cè)

COCO val2017

在COCO val2017 和 test-dev 上的性能在當(dāng)時(shí)也達(dá)到了SOTA的水平,確實(shí)可以。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容