1. 程式人生 > 其它 >VAN:視覺注意力網路--大核注意力機制

VAN:視覺注意力網路--大核注意力機制

VAN:Visual Attention Network

作者:elfin 參考資料來源:Perceiver

目錄

專案地址:https://github.com/Visual-Attention-Network

論文地址:https://arxiv.org/pdf/2202.09741.pdf

一、摘要

​ 雖然最初 self-attention是為自然語言處理(NLP)任務而設計的,但是最近已經風靡了計算機視覺的各個領域。然而,影象的2D特性給在計算機視覺中應用自我注意帶來了三個挑戰。

  • 將影象視為一維序列忽略了其二維結構。
  • 二次複雜度對於高解析度影象來說太昂貴了。
  • 它只捕捉空間適應性,而忽略了通道適應性。

在本文中,我們提出了一種新的大核注意力模組(LKA),在避免上述問題的同時,實現了self-attention中的自適應和長依賴相關性。我們進一步介紹了一種基於LKA的新型神經網路,即視覺注意網路(VAN)。雖然非常簡單高效,但在大量實驗中,VAN的表現優於最先進的視覺transformers和卷積神經網路,包括影象分類、物件檢測、語義分割、例項分割等。


Top---Bottom

二、介紹

​ 在計算機視覺領域。卷積神經網路(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。

Top---Bottom

三、相關工作

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只考慮影象的全域性資訊,而忽略了影象的區域性結構。我們的方法可以充分利用其優點,避免其缺點。


Top---Bottom

四、方法

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

更多細節參考論文。

清澈的愛,只為中國