ECCV 2022 | ScalableViT:重新思考視覺Transformer面向上下文的泛化

語言: CN / TW / HK

本站內容均來自興趣收集,如不慎侵害的您的相關權益,請留言告知,我們將盡快刪除.謝謝.

前言論文提出了一種可伸縮自我注意(Scalable Self-Attention, SSA)機制,該機制利用兩個可伸縮因子來釋放查詢、鍵和值矩陣的維度,同時解除它們與輸入的繫結。

此外,還提出了一種基於互動式視窗的自我注意(IWSA),通過重新合併獨立的值標記和聚集相鄰視窗的空間資訊來建立非重疊區域之間的互動。通過交替疊加SSA和IWSA,Scalable Vision Transformer (ScalableViT)在通用視覺任務上實現了優於SOTA的效能。

歡迎關注公眾號 CV技術指南 ,專注於計算機視覺的技術總結、最新技術跟蹤、經典論文解讀、CV招聘資訊。 目前公眾號正在 徵稿 中,可以獲取對應的稿費哦。

論文: arxiv.org/pdf/2203.10…

程式碼: github.com/yangr116/sc…

創新思路

近年來,卷積神經網路(cnn)在計算機視覺領域佔據主導地位,這歸功於其建模逼真影象的能力,從區域性感知到全域性感知。雖然它們已被廣泛應用於各種視覺任務,但在整體視覺感知方面仍存在不足。

transformer 的全域性感知需要一個昂貴的計算,因為自我關注是在整個序列上的二次計算。

為了減輕這種開銷,典型的Swin Transformer 採用了基於windows的Self-Attention (WSA),它將特徵對映劃分為許多不重疊的子區域,並使其能夠處理線性複雜度的大規模影象。還提出了一種新穎的基於移動視窗的自我注意(SWSA),以彌補潛在的長期依賴的損失。

為了深入瞭解WSA,本文在第二個塊之後視覺化特徵圖。如圖1所示,WSA捕捉到的特徵是分散的,其響應傾向於區域性,而不是面向物件。

圖1:Vision Transformer中特徵圖的視覺化

由於總是固定的維數,導致學習能力有限,因此模型的最終效能在很大程度上取決於輸入資料的難度。

為了緩解這一問題,作者提出了一種新的自我注意機制,稱為可伸縮自我注意(Scalable self-attention, SSA),它同時在空間和通道維度引入兩個尺度因子(rn和rc)。

在圖1的第三行中,可以觀察到,空間的可擴充套件性可以為物件帶來幾乎連續的視覺化建模,但仍然丟失了一些上下文線索。

因此,作者擴充套件通道維度來學習更圖形化的表示。如圖1最後一行所示,通過通道可擴充套件性,SSA在保持面向上下文泛化的同時,成功地獲得了完整的物件啟用。

此外,還提出了一個基於視窗的互動式自注意(IWSA),它由一個常規WSA和一個本地互動模組(LIM)組成。IWSA通過重新合併獨立的值標記和聚合相鄰視窗的空間資訊來建立資訊連線。

這種特性增強了期望的全域性接收域,並充分利用了transformer在單一層中的最顯著優勢。

為了實現更高效的通用視覺任務骨幹,本文采用分層設計,並提出了一種新的vision Transformer架構,稱為Scalable ViT,它在每個階段交替排列IWSA和SSA塊。

本文的主要貢獻

•對於全域性自我注意,提出了SSA在vanilla自我注意塊中提供面向上下文的泛化,這在不犧牲上下文表達的情況下顯著減少了計算開銷

•對於區域性自我注意,設計了LIM來增強WSA的全域性感知能力

方法

總體架構

ScalableViT的總體架構如圖2所示。在每個階段,設計了一種交替排列的IW-MSA和S-MSA塊來組織拓撲結構。在每個階段的前端,在兩個Transformer塊之間插入一個位置編碼生成器(PEG),動態生成位置嵌入。

圖2:ScalableViT的架構

Scalable Self-Attention

自我注意(Self-Attention)是Transformer中的一種關鍵機制,普通的自我注意(vanilla Self-Attention)可以計算為:

在Vision Transformer中,並不是所有的資訊都是計算自我注意所必需的。因此,作者開發了可伸縮的自我注意(SSA),其中兩個縮放因子(rn和rc)分別引入到空間和通道維度,產生了比普通的一個更有效的中間計算。如圖3所示。

圖3:SSA示意圖

這些比例因子還可以恢復輸出維度與輸入對齊,使後續的FFN層和剩餘連線可行。因此,中間維度更有彈性,不再與輸入x深度繫結。

模型可以獲得面向上下文的泛化,同時顯著減少計算開銷。SSA可以寫成:

基於互動式windows的自我注意

除了高效的自我注意,早期的研究還發展了局部自我注意,以避免token數量的二次元計算複雜度。例如,WSA將一個影象(H×W ×C)劃分為多個包含M × M標記的部分視窗。然後在每個孤立視窗計算自我注意,產生一組離散輸出{Zn} H M × W Mn=1,其中Zn的計算公式為:

一個離散的{Zn} H M × W Mn=1集合被合併回Z∈RN×C。

WSA的線性複雜度,它可以適用於各種需要高解析度輸入的視覺任務,但這種計算效率高的WSA產生了一個具有完整形狀但孤立啟用的特徵圖(見圖1),這歸因於在單一層中錯過了全域性感受野。

為了緩解上述問題,本文提出了基於互動式windows的自我注意(IWSA),該IWSA將一個本地互動模組(LIM)整合到WSA中,如圖4所示。

圖4:LIM示意圖

輸出的Y = F(V)是一個包含全域性資訊的綜合特徵圖,這個特徵圖被新增到Z上作為最終輸出Z ‘。在不喪失一般性的前提下,IWSA的計算公式為:

位置編碼

除了LIM引入的位置資訊外,作者還利用由固定權值的卷積層組成的位置編碼生成器(PEG)來獲取隱式的位置資訊。如圖2所示,它被插在兩個連續的Transformer塊之間,每個級的前面只有一個。在PEG之後,輸入的tokens被髮送到隨後的塊,位置偏差可以使Transformer實現輸入排列。

實驗

表2報告了ImageNet-1K上的分類結果,其中根據計算複雜度(FLOPs),所有模型被分為小(約4G)、基本(約9G)和大(約15G)級別。

表2:在ImageNet-1K分類上與不同backbones的比較

在表3中給出了RetinaNet和Mask R-CNN框架的結果,其中APb和APm分別表示box mAP和Mask mAP。

表3:RetinaNet和Mask R-CNN框架檢測COCO物件的結果

圖5給出了基於scalablevits -based的RetinaNet和Mask R-CNN的一些定性物件檢測和例項分割結果,從backbones的上下文表示可以使模型更好地檢測物件。

圖5基於scalablevits的定性結果

表4:Semantic FPN和UperNet框架對ADE20K分割的結果

表5:scalablevits對不同自我注意機制和LIM的消融實驗。在表5b中檢驗LIM的有效性。以無位置編碼生成器(PEG)、區域性增強模組(LEM)或LIM的scalablevits為基準模型,在ImageNet上達到82.7%的top-1精度。

表6:與最先進的模型的速度比較

結論

論文提出了一個Vision Transformer,名為ScalableViT,由兩種高效的自我注意機制(SSA和IWSA)組成。它在空間和通道兩個維度上採用協同比例因子進行情境化泛化,維護更多的情境線索並學習圖形表示。

WSA開發了一個本地互動模組,用於在獨立視窗之間建立資訊連線。它們都具有在單個層中建模遠端依賴關係的能力。ScalableViT交替使用這兩個自我注意模組,推動整個框架進入一個更有效的權衡狀態,並在各種視覺任務上達到SOTA的效能。