VAN:視覺注意力網路--大核注意力機制
VAN:Visual Attention Network
專案地址:https://github.com/Visual-Attention-Network
論文地址:https://arxiv.org/pdf/2202.09741.pdf
一、摘要
雖然最初 self-attention是為自然語言處理(NLP)任務而設計的,但是最近已經風靡了計算機視覺的各個領域。然而,影象的2D特性給在計算機視覺中應用自我注意帶來了三個挑戰。
- 將影象視為一維序列忽略了其二維結構。
- 二次複雜度對於高解析度影象來說太昂貴了。
- 它只捕捉空間適應性,而忽略了通道適應性。
在本文中,我們提出了一種新的大核注意力模組(LKA),在避免上述問題的同時,實現了self-attention中的自適應和長依賴相關性。我們進一步介紹了一種基於LKA的新型神經網路,即視覺注意網路(VAN)。雖然非常簡單高效,但在大量實驗中,VAN的表現優於最先進的視覺transformers和卷積神經網路,包括影象分類、物件檢測、語義分割、例項分割等。
二、介紹
在計算機視覺領域。卷積神經網路(CNN)[41,40,39]由於其顯著的特徵提取效能,在過去十年中是不可或缺的主角。AlexNet[39]重新開啟深度學習十年後,通過使用更深的網路[68,29]、更高效的架構[31,90102]、更強的多尺度能力[35,71,19]和注意力機制[34,17],在獲得更強大的視覺支柱方面取得了一些突破。由於平移不變性和共享滑動視窗策略[67],CNN對於具有任意大小輸入的各種視覺任務具有固有的效率。更先進的視覺主幹網路通常會在各種任務中帶來顯著的效能提升,包括影象分類[29,17,52]、目標檢測[14]、語義分割[89]和姿勢估計[80]。
研究人員認為人類視覺系統只處理部分可能的刺激細節,而其餘幾乎未經處理。選擇性注意力是處理視覺中複雜搜尋組合方面的重要機制[77]。注意機制可以看作是一個基於輸入特徵的自適應選擇過程。自從完全注意網路(fully attention)[78]被提出以來,self-attention(又稱Transformer)迅速成為自然語言處理(NLP)中占主導地位的結構[16,5]。最近,Dosovitskiy等人[17]提出了視覺transformer(ViT),它將transformer主幹引入計算機視覺,在影象分類任務上優於著名的CNN。得益於其強大的建模能力,基於transformer的視覺主幹迅速佔據了各種任務的排行榜,包括目標檢測[52]、語義分割[89]等。
在本文中,我們提出了一種新的注意機制:大核心注意力(LKA),它是為視覺任務量身定製的。LKA吸收了卷積和self-attention的優點,包括區域性結構資訊、長依賴性和適應性。同時,它避免了它們在渠道維度上忽視適應性等缺點。在LKA的基礎上,我們提出了一種新的視覺主幹,稱為視覺注意網路(VAN),它顯著超過了著名的基於CNN和基於transformer的主幹。本文的貢獻總結如下:
- 我們設計了一種新的計算機視覺注意機制LKA,它既考慮了卷積和自注意力的優點,又避免了它們的缺點。在LKA的基礎上,我們進一步介紹了一種簡單的視覺主幹,稱為VAN。
- 在大量的實驗中,包括影象分類、目標檢測、語義分割、例項分割等,我們發現VANs比最先進的ViTs和CNN有很大的優勢。包括swin transformer。
三、相關工作
3.1 卷積神經網路
如何有效地計算強大的特徵表示是計算機視覺中最基本的問題。卷積神經網路(CNN)[41,40]利用區域性上下文資訊和形變不變性,極大地提高了神經網路的效率。自AlexNet[39]以來,CNN迅速成為計算機視覺領域的主流框架。為了進一步提高效率,研究人員投入大量精力使CNN更深[68,29,35,71],更輕[31,65102]。我們的工作與MobileNet[31]相似,後者將標準卷積分解為兩部分,深度卷積和point卷積(也稱為1×1 Conv[43])。我們的方法將卷積分解為三部分:深度卷積、深度和擴展卷積[9,93],以及點卷積。得益於這種分解,我們的方法更適合於高效分解大型核卷積。我們還將注意機制引入到我們的方法中,以獲得自適應特性。
3.2 視覺注意力方法
注意機制可以被視為根據輸入特徵的自適應選擇過程,該特徵在RAM中被引入計算機視覺[56]。它在許多視覺任務中提供了優勢,例如影象分類[34,86]、目標檢測[14,32]和語義分割[96,20]。計算機視覺中的注意可分為四個基本類別[25],包括通道注意、空間注意、時間注意和分支注意,以及它們的組合,如通道和空間注意。每種注意力在視覺任務中都有不同的效果。
self-attention源於NLP[78,16],是一種特殊的注意機制。由於它能有效地捕捉遠距離依賴性和適應性,因此在計算機視覺中扮演著越來越重要的角色[84,18,62,97,99,91]。各種深度self-attention網路(又稱視覺transformers)[17,7,52,22,69,83,95,47,48,4,50,87,51,27]在不同的視覺任務上取得了比主流CNN更好的效能,顯示了基於注意力模型的巨大潛力。然而,self-attention是為NLP設計的。在處理計算機視覺任務時,它有三個缺點。
- 它將影象視為一維序列,忽略了影象的二維結構
- 二次複雜度對於高解析度影象來說太昂貴了
- 它只實現了空間適應性,而忽略了通道維度的適應性。
對於視覺任務,不同的通道通常代表不同的物件[11,25]。通道適應性對於視覺任務也很重要[34,86,60,81,11]。為了解決這些問題,我們提出了一種新的視覺注意方法,即LKA。它涉及自我關注的優點,如適應性和長期依賴性。此外,它還受益於卷積的優點,例如利用本地上下文資訊。
3.3 視覺多層感知器
在CNN出現之前,多層感知器(MLP)[63,64]是一種流行的計算機視覺工具。然而,由於計算量大、效率低,MLPs的效能長期受到限制。一些研究成功地將標準MLP解耦為空間MLP和通道MLP[72,23,73,46]。這種分解可以顯著降低計算成本和引數,從而釋放出MLP驚人的效能。讀者可以參考最近的調查[24,49],以獲得對MLP更全面的審查。與我們最相關的MLP是gMLP[46],它不僅分解了標準MLP,還涉及注意機制。然而,gMLP有兩個缺點。一方面,gMLP對輸入大小敏感,只能處理固定大小的影象。另一方面,gMLP只考慮影象的全域性資訊,而忽略了影象的區域性結構。我們的方法可以充分利用其優點,避免其缺點。
四、方法
4.1 大核注意力機制
注意機制可以看作是一個自適應選擇過程,它可以根據輸入特徵選擇有區別的特徵,並自動忽略噪聲響應。注意機制的關鍵步驟是製作注意特徵圖,以顯示不同點的重要性。要做到這一點,我們應該瞭解不同點之間的關係。
有兩種眾所周知的方法來建立不同點之間的關係。第一種是採用自我注意機制[84,97,99,17]來捕捉長依賴。在計算機視覺中應用自我注意有三個明顯的缺點,這些缺點已經在第3章中列出。第二種方法是使用大核卷積[86,79,33,58]建立相關性並生成注意特徵圖。這種方式仍然存在明顯的缺點。大的核心卷積會帶來大量的計算開銷和引數。
為了克服上面列出的缺點,並利用self-attention和大核卷積的優點,我們建議分解一個大核卷積運算來捕獲長程關係。如圖二所示,大型核心卷積可分為三個部分:空間區域性卷積(深度卷積)、空間遠端卷積(深度擴展卷積)和通道卷積(1×1卷積)。明確地我們可以將一個\(K \times K\)卷積分解為一個\(\frac{K}{d} \times \frac{K}{d}\)深度方向的膨脹卷積,其中膨脹率為\(d\),一個\((2d-1) \times (2d-1)\)深度卷積和\(1 \times 1\)卷積。通過上述分解,我們可以用少量的計算成本和引數捕捉長期關係。在獲得長期關係後,我們可以估計一個點的重要性並生成注意力特徵圖。其中LKA模組可以寫為:
\[\begin{align} Attention &= Conv_{1 \times 1} \left( DW \mbox{-} D\mbox{-}Conv \left( DW\mbox{-}Conv(F) \right) \right)\\ Output &= Attention \bigotimes F \end{align} \]\(F \in R^{C \times H \times W}\)是輸入特徵。\(Attention \in R^{C \times H \times W}\)表示注意圖。注意力特徵圖中的值表示每個特徵的重要性。\(\bigotimes\)意味著元素的點乘。如表1所示,我們提出的LKA結合了卷積和自注意力的優點。它考慮了局部語境資訊、大的感受野和動態過程。此外,LKA不僅實現了空間維度的適應性,還實現了通道維度的適應性。值得注意的是,在深層神經網路中,不同的通道通常代表不同的物件[25,11],通道維度的適應性對於視覺任務也很重要。
從左到右依次是標準大卷積、DW卷積(depth-wise conv)、DW-D卷積(depth-wise dilation conv)、\(1 \times 1\)卷積;黃色點標識卷積核的中心,標準卷積是\(13 \times 13\)的卷積核、深度卷積是\(5 \times 5\)的卷積、深度空洞卷積是\(5 \times 5\)的空洞卷積膨脹率為3,點卷積是\(1 \times 1\)卷積
4.2 視覺注意力網路VAN
我們的VAN具有簡單的層次結構,即一個4個stage的輸出特徵序列,解析度依次為:\(\frac{H}{4} \times \frac{H}{4},\frac{H}{8} \times \frac{H}{8},\frac{H}{16} \times \frac{H}{16},\frac{H}{32} \times \frac{H}{32}\)。這裡,H和W表示輸入影象的高度和寬度。隨著解析度的降低,輸出通道的數量也在增加。輸出通道\(C_i\)的變化顯示在下表中:
如下表所示,每一個stage,對於輸入我們首先下采樣,並使用步長控制下采樣率。下采樣後同一個stage保持所有layer輸出同樣大小的特徵圖,即解析度和通道數都是一樣的。然後,將\(L\)組批量標準化[36]、GELU啟用[30]、大核注意和卷積前饋網路[82]按順序疊加以提取特徵。最後,我們在每個階段結束時應用層標準化[2]。根據引數和計算成本,我們設計了四種結構:VAN-Tiny、VAN-Small、VAN-Base和VAN-Large。整個網路的詳細資訊顯示在上表中。
\(X,Y\)分別是標準卷積、mobilent的解耦卷積(深度卷積+點卷積)
計算複雜度分析
我們給出了分解的引數和浮點運算(FLOPs)。為了簡化格式,在計算過程中省略了偏差。我們假設輸入和輸出特徵具有相同的大小\(H \times W \times C\)。引數和FLOPs為:
\[\begin{align} Params &= \frac{K}{d} \times \frac{K}{d} \times C + (2d-1) \times (2d-1) \times C + C\times C \\ FLOPs &= Params \times H \times W \end{align} \]其中\(K\)是卷積核的大小,\(d\)是膨脹率。這裡作者實驗預設設定\(K=21,d=3\)。上表展示了在這個配置下各種技術的引數量。
實施細節
首先是一個LKA結構,它包含:
- \(5 \times 5\)的深度卷積
- 膨脹率為3,\(7 \times 7\)的深度卷積
- \(1 \times 1\)的點卷積
所以,LKA近似實現了\(21 \times 21\)的卷積,因為帶膨脹的深度卷積感受野是\(21 \times 21\)的區域(實際上好像是\(19 \times 19\)的一個區域)。在此設定下,VAN可以有效地實現區域性資訊和遠端資訊融合。我們分別使用步長為\(7 \times 7\)和\(3 \times 3\)卷積進行\(4\times\)和\(2\times\)下采樣。
模型消融
模型架構
\(CFF\)表示卷積前饋神經網路。
五、模型效能
-
影象分類
VAN-Tiny VAN-Small VAN-Base VAN-Large TOP1 ACC 75.4 81.1 82.8 83.9 引數 4.1 13.9 26.6 44.8 計算量 0.9 2.5 5.0 9.0 在引數量、計算量相當的情況下,獲得了更好的收益!(INAGENET資料集)
-
目標檢測
和swin transformer差不多
-
例項分割
mIOU 達到50.1
更多細節參考論文。
清澈的愛,只為中國