大規(guī)模參數(shù)的更強(qiáng)、更魯棒的視覺(jué)基礎(chǔ)模型
本文經(jīng)計(jì)算機(jī)視覺(jué)研究院公眾號(hào)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。
01 簡(jiǎn)介
與最近關(guān)注large dense kernels的CNN不同,InternImage以可變形卷積為核心算子,使我們的模型不僅具有檢測(cè)和分割等下游任務(wù)所需的大有效感受野,而且具有受輸入和任務(wù)信息約束的自適應(yīng)空間聚合。因此,所提出的InternImage減少了傳統(tǒng)CNNs嚴(yán)格歸納偏差,并使其能夠從像ViT這樣的海量數(shù)據(jù)中學(xué)習(xí)具有大規(guī)模參數(shù)的更強(qiáng)、更穩(wěn)健的模式。我們的模型的有效性在ImageNet、COCO和ADE20K等具有挑戰(zhàn)性的基準(zhǔn)測(cè)試中得到了驗(yàn)證。值得一提的是,InternImage-H在COCO測(cè)試開(kāi)發(fā)上獲得了創(chuàng)紀(jì)錄的65.4mAP,在ADE20K上獲得了62.9mIoU,優(yōu)于目前領(lǐng)先的CNNs和ViTs。
02 背景
為了彌合CNNs和ViTs之間的差距,首先從兩個(gè)方面總結(jié)了它們的差異:(1)從操作員層面來(lái)看,ViTs的多頭自注意(MHSA)具有長(zhǎng)程依賴性和自適應(yīng)空間聚合(見(jiàn)圖(a)段)。得益于靈活的MHSA,ViT可以從海量數(shù)據(jù)中學(xué)習(xí)到比CNN更強(qiáng)大、更健壯的表示。(2) 從架構(gòu)的角度來(lái)看,除了MHSA之外,ViTs還包含一系列未包含在標(biāo)準(zhǔn)CNN中的高級(jí)組件,如層歸一化(LN)、前饋網(wǎng)絡(luò)(FFN)、GELU等。
盡管最近的工作已經(jīng)做出了有意義的嘗試,通過(guò)使用具有非常大內(nèi)核(例如,31×31)的密集卷積將長(zhǎng)程依賴引入到CNN中,如圖(c)所示,在性能和模型規(guī)模方面與最先進(jìn)的大型ViT仍有相當(dāng)大的差距。
03 新框架介紹
通過(guò)大規(guī)模參數(shù)(即10億)和訓(xùn)練數(shù)據(jù)(即4.27億),InternImage-H的top-1準(zhǔn)確率進(jìn)一步提高到89.6%,接近well-engineering ViTs和混合ViTs。此外,在具有挑戰(zhàn)性的下游基準(zhǔn)COCO上,最佳模型InternImage-H以21.8億個(gè)參數(shù)實(shí)現(xiàn)了最先進(jìn)的65.4%的boxmAP,比SwinV2-G高2.3個(gè)點(diǎn)(65.4對(duì)63.1),參數(shù)減少了27%,如下圖所示。
為了設(shè)計(jì)一個(gè)基于CNN的大型基礎(chǔ)模型,我們從一個(gè)靈活的卷積變體開(kāi)始,即DCNv2,并在此基礎(chǔ)上進(jìn)行一些調(diào)整,以更好地適應(yīng)大型基礎(chǔ)模型的要求。然后,通過(guò)將卷積算子與現(xiàn)代主干中使用的高級(jí)塊設(shè)計(jì)相結(jié)合來(lái)構(gòu)建基本塊。最后,探索了基于DCN的塊的堆疊和縮放原理,以構(gòu)建一個(gè)可以從海量數(shù)據(jù)中學(xué)習(xí)強(qiáng)表示的大規(guī)模卷積模型。
使用DCNv3作為核心帶來(lái)了一個(gè)新的問(wèn)題:如何構(gòu)建一個(gè)能夠有效利用核算子的模型?首先介紹了基本塊和模型的其他集成層的細(xì)節(jié),然后我們通過(guò)探索這些基本塊的定制堆疊策略,構(gòu)建了一個(gè)新的基于CNN的基礎(chǔ)模型,稱(chēng)為InternImage。最后,研究了所提出的模型的放大規(guī)則,以從增加參數(shù)中獲得增益。
Basic block
與傳CNNs中廣泛使用的瓶頸不同,我們的基塊的設(shè)計(jì)更接近ViTs,它配備了更先進(jìn)的組件,包括LN、前饋網(wǎng)絡(luò)(FFN)和GELU。這種設(shè)計(jì)被證明在各種視覺(jué)任務(wù)中是有效的。我們的基本塊的細(xì)節(jié)如上圖所示。其中核心算子是DCNv3,并且通過(guò)將輸入特征x通過(guò)可分離卷積(3×3深度卷積,然后是線性投影)來(lái)預(yù)測(cè)采樣偏移和調(diào)制尺度。對(duì)于其他組件,默認(rèn)使用后規(guī)范化設(shè)置,并遵循與普通變壓器相同的設(shè)計(jì)。
Hyper-parameters for models of different scales
Scaling rules
在上述約束條件下的最優(yōu)原點(diǎn)模型的基礎(chǔ)上,進(jìn)一步探索了受[Efficientnet: Rethinking model scaling for convolutional neural networks]啟發(fā)的參數(shù)縮放規(guī)則。具體而言,考慮兩個(gè)縮放維度:深度D(即3L1+L3)和寬度C1,并使用α、β和復(fù)合因子φ縮放這兩個(gè)維度。
通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),最佳縮放設(shè)置為α=1.09和β=1.36,然后在此基礎(chǔ)上構(gòu)建具有不同參數(shù)尺度的InternImage變體,即InternImage-T/S/B/L/XL,其復(fù)雜性與ConvNeXt的相似。為了進(jìn)一步測(cè)試該能力,構(gòu)建了一個(gè)具有10億個(gè)參數(shù)的更大的InternImage-H,并且為了適應(yīng)非常大的模型寬度,還將組維度C‘更改為32。上表總結(jié)了配置。
04 實(shí)驗(yàn)&可視化
Object detection and instance segmentation performance on COCO val2017.
為了進(jìn)一步提高目標(biāo)檢測(cè)的性能,在ImageNet-22K或大規(guī)模聯(lián)合數(shù)據(jù)集上預(yù)先訓(xùn)練的權(quán)重初始化主干,并通過(guò)復(fù)合技術(shù)將其參數(shù)翻倍。然后,在Objects365和COCO數(shù)據(jù)集上一個(gè)接一個(gè)地對(duì)其進(jìn)行微調(diào),分別針對(duì)26個(gè)epochs和12個(gè)epochs。如下表所示,新方法在COCO val2017和test-dev上獲得了65.0 APb和65.4 APb的最佳結(jié)果。與以前最先進(jìn)的模型相比,比FD-SwinV2-G[26]高出1.2分(65.4比64.2),參數(shù)減少了27%,并且沒(méi)有復(fù)雜的蒸餾過(guò)程,這表明了新模型在檢測(cè)任務(wù)上的有效性。
共享權(quán)重的模型參數(shù)和GPU內(nèi)存使用v.s卷積神經(jīng)元之間的非共享權(quán)重。左縱軸表示模型參數(shù),右縱軸表示批量大小為32且輸入圖像分辨率為224×224時(shí)每個(gè)圖像的GPU內(nèi)存使用情況。
不同階段不同組的采樣位置可視化。藍(lán)色的星表示查詢點(diǎn)(在左邊的羊),不同顏色的點(diǎn)表示不同組的采樣位置。