Visual Attention Network

王柏鈞
Jan 9, 2023

Attention map是多此一舉? 革命性且極簡單的注意力機制,結合卷積和注意力機制的優點

[2202.09741] Visual Attention Network (arxiv.org)
[v5] Mon, 11 Jul 2022 04:21:37 UTC (2,550 KB)

補充: Visual-Attention-Network/VAN-Classification (github.com)

在本文中,作者提出了一種新的、極為簡單的,名為大内核注意力(LKA)的線性注意力(linear attention)來實現自適應和長程相關性在自我注意,同時避免其缺點。此外,我們提出了基於LKA的神經網絡,即視覺注意網絡(VAN)。雖然極為簡單,VAN在各種任務中都超越了類似大小的視覺轉換器(ViTs)和卷積神經網絡(CNNs),包括圖像分類、對象檢測、語意分割、全景分割、姿勢估測等。例如,VAN-B6在ImageNet基準測試中獲得87.8%的準確性,並在全景分割中獲得最新的SOTA(58.2 PQ)。此外,VAN-B2在ADE20K基準測試的語意分割中超過Swin-T 4%的mIoU(50.1 vs. 46.1),在COCO數據集的對象檢測中超過2.6%的AP(48.8 vs. 46.2)。

上方左圖是VAN的架構,右圖則是關鍵技術LK(Large-kernel)的描述。 large kernel convolution已經用於許多論文中,用來建立關聯,並產生attention map。

在這篇論文中,作者提出了一種名為視覺注意網絡(VAN)的神經網絡。

在注意力機制上,建立relationship是重要的關鍵,而這方面現今主流有兩種做法,self-attention和LKC(Large-kernel-convolution),而VAN採用的是後者,作者主張注意力機制成功的關鍵並不是attention map,而是動態的基於輸入調整輸出。而實務上,儘管LKC也會帶來較大的參數、計算成本,但卻可以克服self-attention的三個缺點:

  1. 它將圖像視為 1D 序列,忽略了圖像的 2D 結構。
  2. 二次複雜度對於高分辨率圖像來說太昂貴了。
  3. 它只實現了空間適應性,而忽略了通道維度的適應性。

但而LKA 結合了卷積和自注意力的優點,並克服相應的缺點。它考慮了局部上下文信息、大的接受域、線性複雜度和動態過程。此外,LKA不僅在空間維度上實現了適應性,還在通道維度上實現了適應性。值得注意的是,在深度神經網絡中,不同的通道通常代表不同的對象(物件偵測中的Instances,又或者影像分割中的class),因此在通道維度上的適應性也對視覺任務很重要。

VAN具有簡單的分層結構,即具有不斷降低輸出空間分辨率的四個階段序列。在這裡,H和W分別表示輸入圖像的高度和寬度。隨著分辨率的降低,輸出通道數也在增加。在每個階段中,首先下采樣輸入,並使用步幅數(Stride)來控制下採樣率。下采樣之後,階段中的所有其他層的輸出大小保持不變,即空間分辨率和通道數。然后,在序列中堆疊L組批次正規化[78]、1×1 Conv、GELU激活[79]、大内核注意力和前饋網絡(FFN)[80]以提取特徵。根據參數和計算成本,作者設計了七種架構VAN-B0、VAN-B1、VAN-B2、VAN-B3、VAN-B4、VAN-B5、VAN-B6。

這邊描述了不同的注意力機制,特別是LKA的部分,可以看到他基本上否定了self-attention在建立relationship的複雜機制,而使而只是

我的看法是,VAN的分層結構顯示出了其對於不同輸出空間分辨率的適應性,並且在參數和FLOPs方面具有優勢,可能會是處理高分辨率圖像的第一選擇。

上面是VAN的表現,可以看到他超越了現今主流的所有transformer以及covnext。

補充:但我也產生一些質疑,例如

  1. 對於論文中沒提到的其他任務(例如圖像分類、物體檢測、語意分割、全景分割、姿勢估計等),VAN的表現如何?與ViTs和CNNs的表現相比如何?
  2. VAN的結構如何保證長期相關性和自適應性?對於不同的圖像,VAN是如何自適應的?
  3. 而最重要的疑惑是,VAN是一個相對簡單的網路結構,而在論文中,有多個應用上,VAN的表現優於其他複雜的網絡結構,那麼這是否意味著,其他複雜的網絡結構都是多此一舉?或者是否有可能VAN在某些任務中表現較差,而在其他任務中則需要使用更複雜的網絡結構才能取得更好的表現?

也許之後會再發一篇文來討論這些問題。

--

--