【深度学习】重大里程碑!VOLO屠榜CV任务,无需额外数据,首个超越87%的模型...
近來,Transformer在CV領域遍地開花,取得了非常好的性能,指標屢創新高。但Transformer的性能距離最佳的CNN仍存在差距,不由產生出一種Transformer不過如此的感覺。
可是,就在今天,Transformer領域的新秀VOLO打破了Transformer無法打敗最優CNN的宿命,成為了ImageNet數據上首個無需額外數據達到87.1%的模型;與此同時,VOLO在下游語義分割任上也創新了新記錄,比如Cityscapes數據上的84.3%,ADE20K數據上的54.3%。
標題&作者團隊論文 https://arxiv.org/abs/2106.13112
源碼 https://github.com/sail-sg/volo
1摘要
視覺識別任務已被CNN主宰多年。基于自注意力的ViT在ImageNet分類方面表現出了極大的潛力,在沒有額外數據前提下,Transformer的性能與最先進的CNN模型仍具有差距。
在這項工作中,我們的目標是縮小這兩者之間的性能差距,并且證明了基于注意力的模型確實能夠比CNN表現更好。與此同時,我們發現限制ViTs在ImageNet分類中的性能的主要因素是其在將細粒度級別的特征編碼乘Token表示過程中比較低效,為了解決這個問題,我們引入了一種新的outlook注意力,并提出了一個簡單而通用的架構,稱為Vision outlooker (VOLO)。outlook注意力主要將fine-level級別的特征和上下文信息更高效地編碼到token表示中,這些token對識別性能至關重要,但往往被自注意力所忽視。
實驗表明,在不使用任何額外訓練數據的情況下,VOLO在ImageNet-1K分類任務上達到了87.1%的top-1準確率,這是第一個超過87%的模型。此外,預訓練好的VOLO模型還可以很好地遷移到下游任務,如語義分割。我們在Cityscapes驗證集上獲得了84.3% mIoU,在ADE20K驗證集上獲得了54.3%的mIoU,均創下了最新記錄。
2方法
VOLO可以看作是一個具有兩個獨立階段的結構。第一階段多個用于生成細粒度token表示的Outlookers。第二階段我們部署一系列Transformer block來聚合全局信息。在每個階段的最開始,使用一個patch embedding模塊將輸入映射到期望形狀大小的的token表示中。
2.1 Outlooker?
outlook包括用于空間信息編碼的outlook注意力層和用于通道間信息交互的多層感知器(MLP)。給定輸入token表示序列, outlooker可以寫成如下:
2.2 Outlook attention
如上圖所示,Outlook attention簡單,高效,易于實現。它的主要創新點就是:
每個空間位置上的特征足夠全面,可以聚集其鄰近特征然后生成局部注意力權值;
稠密的局部空間聚合可以高效的編碼細粒度信息。
對于每個空間位置, outlook注意力計算以為中心的大小為?的局部窗口內所有鄰近結點的相似度。不同于自我注意力需要一個Query-Key矩陣乘法來計算注意力,outlook直接通過一個簡單的reshape操作來簡化這個過程。具體來說,輸入?每個?token使用兩個線性層
進行映射得到outlook權重, value表示,然后我們用來表示在以為中心的局部窗口的所有value:最后,在位置的outlook 權重可以直接用作注意力權值,首先可以通過一個reshape操作()后接Softmax:
outlook 注意力將特征進行聚集映射,即將同一位置的不同加權值相加得到輸出:
下圖給出了Pytorch風格的偽代碼實現,其中Eqn3,Eqn4, Eqn5對應上面三個公式。
2.4?Multi-Head Outlook Attention
多頭Outlook注意力的實現非常簡單,假設頭數為N。我們僅需調節的形狀為。因此,outlook權值與值嵌入被均勻的拆分為N份:。對于每對,Outlook注意力分別計算后并結果拼接構成多頭Outlook注意力的輸出。
2.5?Discuss?
outlook attention繼承了卷積和自我注意力的優點。具體如下:
outlook注意力通過度量每對標記表示之間的相似性來對空間信息進行編碼,在特征學習方面比卷積更具有參數效率;
outlook attention采用滑動窗口方式,在細粒度級別實現了對標記表示進行局部編碼,并在一定程度上保留視覺任務的關鍵位置信息;
outlook產生注意力權重的方法簡單有效。與依賴于query-key矩陣乘法的自我注意力不同,我們的outlook權重可以通過一個簡單的reshape操作直接產生,節省計算。具體示例如下:我們比較了在滑動窗口大小為, token大小為上計算參數量:
可以看到,當C=384,K=3,N=6時,因為,,所以outlook attention在計算資源利用上更高效。
3模型架構
主要借鑒了LV-ViT模型,VOLO的具體設置如下:為了獲取到細粒度的token表示,在第一階段,我們首先調整patch嵌入模塊,使其在大小為的小圖像patch上進行標記序列化,而不是?。然后通過堆疊一系列Outlookers生成更具細粒度特征表達能力的token表示。第二階段,利用另一個patch embedding 模塊對標記進行下采樣。然后采用一組Transformer block對全局信息進行編碼。我們基于VOLO提出了五個版本: VOLO: VOLO-D1, VOLO-D2,VOLO-D3, VOLO-D4, and VOLO-D5. 具體詳細結構及配置信息如表2,表3所示:
4實驗結果
我們首先在ImageNet上進行了所提方法的性能對比,然后在下游任務上進行遷移能力對比。
4.1 ImageNet?Classification
如上表所示,在不同的模型尺寸水平上,我們提出的VOLO取得了比當前最先進的模型更佳的性能。具體如下:
在不同水平模型下,所提方法均取得了比其他方案更佳的性能;
以VOLO-D1為例,它僅需26.6M參數,在224分辨率即可取得84.2%的top1精度,在384分辨率可以進一步提升到85.2%,顯著優化其他同等參數量的模型;
當模型參數量提升到296M,所提方案在ImageNet上達到了87.1%的top1精度,此為無額外訓練數下的新記錄。也即是說,VOLO-D5是業界首個僅需ImageNet訓練數據即可達到87.1%top1精度的模型
所提方案在RealTop1與V2Top1基準上同樣取得了最佳指標。VOLO-D4僅需193M參數量即可超過其他模型,包含CaiT-M48與NFNet。
更具體地,所提方法在ImageNetV2上的表現更佳。比如VOLO-D3可以在此前最佳指標的基礎上提升0.8%且參數量更少;而VOLO-D5則可以進一步將模型性能提升到78%。
4.2 Semantic Segmantation
接下來,我們以前述預訓練模型在語義分割任務上進行遷移能力驗證。
如下表9所示,在Cityscapes數據上,所提方法超過了其他所有方法,包含最近的SegFormer-B5. 所提VOLO-D4+UperNet取得了當前最佳84.3%,以0.3%指標優于此前最佳,創造了Cityscapes驗證集的新記錄。
如下表10所示,在ADE20K數據集上,所提方法同樣取得了超過其他所有方法的性能。VOLO-D5取得了54.3%的指標,同樣刷新了ADE20K數據集上的記錄。4.3?Ablation Analysis
上表對比了模型縮放的性能影響,從中可以看到:
模型縮放有助于提升模型性能,比如VOLO-D1到VOLO-D2可以帶來1%的性能提升,VOLO-D5可以帶來額外的1%提升;
更高分辨率的微調同樣可以帶來性能提升,約1%。
上表對比了,Outlooker數量與頭數的影響對比,從中可以看到:
當步采用Outlooker時,基線模型的性能為83.3%,添加Outlooker可以提升模型型性能,當增加到4時性能達到飽和。Outlooker與Transformer的比例約為1:3時取得最佳性能。
Outlooker中使用更多的頭可以帶來輕微的性能提升且幾乎不會造成額外參數量提升。
5??????????????總結
全文到此結束,更多消融實驗與分析建議查看原文。
本文亮點總結
1.?本文發現,限制ViT在ImageNet分類方面性能的主要原因在于其將細粒度特征編碼為詞表達過程的低效性。
2.?VOLO可以視作兩階段架構,第一個階段包含多個用于生成細粒度詞表達的Outlookers;第二個階段采用transformer序列集成全局信息。
3.?無需任務額外訓練數據,VOLO成為ImageNet分類任務上首個達到87.1%top1精度的模型。預訓練VOLO在下游任務上的遷移能力也非常好,在語義分割任務中,在ADE20K驗證集上達到了54.3%,在Cityscapes驗證集上達到了84.3%的mIoU指標,均創下了新記錄。
Well,今天的分享就到此結束,更多論文相關的交流學習可到邁微微信交流群,跟同伴一些學習交流。
△長按添加邁微官方微信號?
備注:姓名-學校/公司-研究方向-城市
(如:小C-北大-目標檢測-北京)
じゃあ、お疲れ様です!更多細節可參考論文原文。
- END -
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯溫州大學《機器學習課程》視頻 本站qq群851320808,加入微信群請掃碼:總結
以上是生活随笔為你收集整理的【深度学习】重大里程碑!VOLO屠榜CV任务,无需额外数据,首个超越87%的模型...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 猎豹浏览器怎么设置允许弹出窗口 允许弹窗
- 下一篇: win7系统图标异常修复方法