深度學(xué)習(xí)技術(shù)前沿 126篇原創(chuàng)內(nèi)容 Official Account 近期Transformer的一系列變體在Imagenet分類任務(wù)上取得了顯著的效果提升,指標(biāo)屢創(chuàng)新高。如果沒有額外數(shù)據(jù)的輸入,它們的性能仍然不如最新的SOTA CNN模型。就在今天,顏水成大佬團隊提出的VOLO打破了Transformer無法打敗最優(yōu)CNN的宿命,成為了ImageNet數(shù)據(jù)上首個無需額外數(shù)據(jù)達到87.1%的模型;此外,預(yù)訓(xùn)練好的VOLO模型還可以很好地遷移到下游任務(wù),如語義分割。我們在Cityscapes驗證集上獲得了84.3% mIoU,在ADE20K驗證集上獲得了54.3% mIoU。 1摘要視覺識別任務(wù)已被CNN主宰多年?;谧宰⒁饬Φ腣iT在ImageNet分類方面表現(xiàn)出了極大的潛力,在沒有額外數(shù)據(jù)前提下,Transformer的性能與最先進的CNN模型仍具有差距。在這項工作中,我們的目標(biāo)是縮小這兩者之間的性能差距,并且證明了基于注意力的模型確實能夠比CNN表現(xiàn)更好。與此同時,我們發(fā)現(xiàn)限制ViTs在ImageNet分類中的性能的主要因素是其在將細粒度級別的特征編碼乘Token表示過程中比較低效,為了解決這個問題,我們引入了一種新的outlook注意力,并提出了一個簡單而通用的架構(gòu),稱為Vision outlooker (VOLO)。outlook注意力主要將fine-level級別的特征和上下文信息更高效地編碼到token表示中,這些token對識別性能至關(guān)重要,但往往被自注意力所忽視。實驗表明,在不使用任何額外訓(xùn)練數(shù)據(jù)的情況下,VOLO在ImageNet-1K分類任務(wù)上達到了87.1%的top-1準(zhǔn)確率,這是第一個超過87%的模型。此外,預(yù)訓(xùn)練好的VOLO模型還可以很好地遷移到下游任務(wù),如語義分割。我們在Cityscapes驗證集上獲得了84.3% mIoU,在ADE20K驗證集上獲得了54.3%的mIoU,均創(chuàng)下了最新記錄。2介紹在這項工作中,我們提出了一種新的簡單和輕量級的注意力機制,稱為Outlooker,它可以有效地豐富token表示中更細粒度級別的特征信息。Outlooker創(chuàng)新的采用了將token進行聚合然后生成注意力的方式,這樣可以使得模型能夠有效地對細粒度級別信息進行編碼表示。特別是,它是一種可以通過有效的線性映射直接從錨點標(biāo)記特征中推斷出聚合周圍標(biāo)記的機制,從而可避免昂貴的點積注意力計算。最后,基于所提出的outlook,我們提出了VOLO,一個簡單而強大的視覺識別模型結(jié)構(gòu)。VOLO采用兩階段架構(gòu)設(shè)計,同時考慮了更具細粒度的標(biāo)記表示編碼和全局信息聚合。具體來說,給出一個大小為的輸入圖像,在利用自注意力在coarse level級別特征上構(gòu)建全局依賴關(guān)系之前(例如,), VOLO將圖像標(biāo)記在較小尺寸的patch上(例如,),并使用多個outlook在細粒度級別上編碼標(biāo)記表示(例如,)。這樣,最后所獲得的token表示會更具有代表性,從而可顯著提高模型在圖像分類中的性能。VOLO與目前的SOTA模型的性能比較,如下表所示:2方法
VOLO可以看作是一個具有兩個獨立階段的結(jié)構(gòu)。第一階段多個用于生成細粒度token表示的Outlookers。第二階段我們部署一系列Transformer block來聚合全局信息。在每個階段的最開始,使用一個patch embedding模塊將輸入映射到期望形狀大小的的token表示中。2.1 Outlooker outlook包括用于空間信息編碼的outlook注意力層和用于通道間信息交互的多層感知器(MLP)。給定輸入token表示序列, outlooker可以寫成如下: 2.2 Outlook attention如上圖所示,Outlook attention簡單,高效,易于實現(xiàn)。它的主要創(chuàng)新點就是: 每個空間位置上的特征足夠全面,可以聚集其鄰近特征然后生成局部注意力權(quán)值; 稠密的局部空間聚合可以高效的編碼細粒度信息。
對于每個空間位置, outlook注意力計算以為中心的大小為 的局部窗口內(nèi)所有鄰近結(jié)點的相似度。不同于自我注意力需要一個Query-Key矩陣乘法來計算注意力,outlook直接通過一個簡單的reshape操作來簡化這個過程。具體來說,輸入 每個 token使用兩個線性層 進行映射得到outlook權(quán)重, value表示,然后我們用來表示在以為中心的局部窗口的所有value:最后,在位置的outlook
權(quán)重可以直接用作注意力權(quán)值,首先可以通過一個reshape操作()后接Softmax: 權(quán)值投影過程可以表示為: 2.3 Dense Aggregation outlook 注意力將特征進行聚集映射,即將同一位置的不同加權(quán)值相加得到輸出:
具體代碼如下: 2.4 Discuss outlook attention繼承了卷積和自我注意力的優(yōu)點。具體如下: - outlook注意力通過度量每對標(biāo)記表示之間的相似性來對空間信息進行編碼,在特征學(xué)習(xí)方面比卷積更具有參數(shù)效率;
- outlook attention采用滑動窗口方式,在細粒度級別實現(xiàn)了對標(biāo)記表示進行局部編碼,并在一定程度上保留視覺任務(wù)的關(guān)鍵位置信息;
- outlook產(chǎn)生注意力權(quán)重的方法簡單有效。與依賴于query-key矩陣乘法的自我注意力不同,我們的outlook權(quán)重可以通過一個簡單的reshape操作直接產(chǎn)生,節(jié)省計算。具體示例如下:我們比較了在滑動窗口大小為, token大小為上計算參數(shù)量:
可以看到,當(dāng)C=384,K=3,N=6時,因為,,所以outlook attention在計算資源利用上更高效。 3模型架構(gòu)主要借鑒了LV-ViT模型,VOLO的具體設(shè)置如下:為了獲取到細粒度的token表示,在第一階段,我們首先調(diào)整patch嵌入模塊,使其在大小為的小圖像patch上進行標(biāo)記序列化,而不是 。然后通過堆疊一系列Outlookers生成更具細粒度特征表達能力的token表示。第二階段,利用另一個patch embedding 模塊對標(biāo)記進行下采樣。然后采用一組Transformer block對全局信息進行編碼。我們基于VOLO提出了五個版本:
VOLO: VOLO-D1, VOLO-D2,VOLO-D3, VOLO-D4, and VOLO-D5.
具體詳細結(jié)構(gòu)及配置信息如表2,表3所示:4實驗結(jié)果4.1 Image Classification如上表所示,在不同的模型尺寸水平上,我們提出的VOLO取得了比當(dāng)前最先進的模型更佳的性能。具體如下: - VOLO-D1只有26.6M參數(shù)量,在輸入圖片為224分辨率大小時,VOLO-D1在ImageNet上已經(jīng)可以獲得84.2%的top-1精度。對輸入圖片為384分辨率大小進行微調(diào)后,性能進一步提高到85.2%,明顯優(yōu)于所有具有相同訓(xùn)練參數(shù)的模型。
- 當(dāng)模型尺寸縮放到296M時,我們可以在ImageNet上達到87.1%的top-1精度,在沒有額外訓(xùn)練數(shù)據(jù)的情況下創(chuàng)造了新的記錄。VOLO-D5是業(yè)界首個僅需ImageNet訓(xùn)練數(shù)據(jù)即可達到87.1%top1精度的模型。
與當(dāng)前最先進的Transformer模型LV-Vit-S相比,具體如下表所示: 顯然,VOLO僅使用27M的參數(shù)量,性能可以從83.3提高到85.2(+1.9)。我們還嘗試用其它的細粒度特征編碼方法來替代所提出的outlook注意,包括局部自注意力和空間卷積。為了進行公平的比較,我們將窗口大小設(shè)置為。結(jié)果見表6。 可以看出,在相同的訓(xùn)練配置和架構(gòu)下,我們的outlooker比局部自我注意力和空間卷積都表現(xiàn)得更好。此外,我們還可以觀察到,在以LV-ViT-S為基準(zhǔn)模型時,局部自注意力和空間卷積也可以提高性能,這表明對細粒度級別的標(biāo)記表示進行編碼對性能提升是有幫助的。 4.2 Semantic Segmantation如下表9所示,在Cityscapes數(shù)據(jù)上,所提方法超過了其他所有方法,包含最近的SegFormer-B5. 如下表10所示,在ADE20K數(shù)據(jù)集上,所提方法同樣取得了超過其他所有方法的性能。VOLO-D5取得了54.3%的指標(biāo),同樣刷新了ADE20K數(shù)據(jù)集上的記錄。 5 消融實驗5.1 Model Scaling我們對VOLO-D1模型進行縮放得到4個不同模型(VOLO-D2-VOLO-D5)
主要縮放策略如下: - 增加訓(xùn)練模型大小,包括MLP中的網(wǎng)絡(luò)深度,隱藏維度,expansion ratio;Outlookers和Transformer中的head數(shù)量;
上表對比了模型縮放的性能影響,從中可以看到: - 模型縮放有助于提升模型性能,比如VOLO-D1到VOLO-D2可以帶來1%的性能提 升,VOLO-D5可以帶來額外的1%提升;
- 更高分辨率的微調(diào)同樣可以帶來性能提升,約1%。
5.2 Number of Outlookers我們觀察到,在VOLO中使用的Outlookers的數(shù)量對分類性能有影響。在這里,我們研究了使用不同數(shù)量的outlook在VOLO中的影響。請注意,所有的Outlooker都作用于更精細的標(biāo)記表示(28 28)。結(jié)果顯示在表8的頂部部分。在沒有outlook的情況下,有16個變壓器的基線精度為83.3%。增加Outlookers的數(shù)量可以改善結(jié)果,但性能飽和時使用4 Outlookers。進一步增加更多的outlook不會帶來任何性能的提高。因此,當(dāng)放大模型時,我們大約使用1:3的比例為outlook和transformer。 5.3 Head Number in Ourlookers在Transformer中,每個head的通道維度與給定的固定隱藏維度的head數(shù)量成反比,基于此,我們展示了不同head數(shù)量的Outlookers性能比較。實驗表明,在Outlookers中使用更多的head可以略微改善性能,幾乎沒有額外的參數(shù)增加,但當(dāng)head數(shù)量大于6時,性能增益將消失。因此,默認(rèn)情況下,我們將Outlookers中的head數(shù)量設(shè)置為6,用于384個隱藏維度。當(dāng)隱藏維度設(shè)置為768時,我們在Outlookers中使用12個head。 6總結(jié)我們提出了一種新的模型——Vision Outlooker (VOLO),它解決了ViT在對細粒度特征編碼為token表示過程比較低效的問題,我們提出的outlook注意力能夠?qū)⒏呒毩6燃墑e的特征和上下文信息高效地編碼到token表示中。我們提出VOLO主要包括兩個階段,第一個階段包含多個用于生成細粒度token表示的Outlookers;第二個階段部署Transformer block來聚合全局信息。最后,無需任何額外訓(xùn)練數(shù)據(jù),VOLO在ImageNet分類任務(wù)上成為了首個達到87.1%top1精度的模型。預(yù)訓(xùn)練的VOLO在下游任務(wù)上的遷移能力也非常好,在語義分割任務(wù)中,在ADE20K驗證集上達到了54.3%,在Cityscapes驗證集上達到了84.3%的mIoU指標(biāo),均創(chuàng)下了新記錄。
|