【Attention】Visual Attention Network
文章目錄
- 一、背景
- 二、動機
- 三、方法
- 3.1 Large Kernel Attention
- 3.2 VAN
- 四、效果
- 4.1 分類
- 4.2 目標檢測
- 4.3 語義分割
論文鏈接:https://arxiv.org/abs/2202.09741
代碼鏈接:https://github.com/Visual-Attention-Network
一、背景
源于 NLP 的 self-attention 機制在應用于 2D 圖像的時候,有三個問題:
將 2D 的結果看做 1D 的序列,會損失 2D 空間結構
高分辨率的圖像會導致很大的計算復雜度
一般的 self-attention 都是只會捕捉空間上的相關性,忽略了通道上的相關性
二、動機
為了解決上述問題,本文提出了一個適用于視覺任務的 large kernel attention (LKA),使得 self-attention 能夠自適應捕捉長距離關系。
三、方法
LKA 吸收了卷積和 self-attention 的優勢——包括局部結構信息、長距離依賴、自適應性
基于 LKA,作者提出了新的視覺 backbone——visual attention network(VAN)。
3.1 Large Kernel Attention
如圖 2,一個大尺寸的卷積可以分成三個部分:
- 空間上的局部卷積(depth-wise convolution)
- 空間上的 long-range convolution(depth-wise dilation convolution)
- 通道上的卷積(1x1 convolution)
也就是說,一個 K×KK \times KK×K 的卷積可以被拆分如下:
- 一個 $\frac{K}ze8trgl8bvbq \times \frac{K}ze8trgl8bvbq $ 的 depth-wise dilation convolution,ddd 為膨脹率
- 一個 (2d?1)×(2d?1)(2d-1) \times (2d-1)(2d?1)×(2d?1) 的depth-wise convolution
- 一個 1x1 卷積
拆分后的卷積可以捕捉長距離信息,并且節省計算資源,得到長距離關系后,能夠估計每個點的重要程度,生成 attention map。
如圖3a所示,LKA 模型如下:
3.2 VAN
VAN 結構簡單,有四層,不同量級的模型結構如表 2 所示:
對圖3d中的每個stage,首先將輸入進行下采樣,然后再進行后續操作。
復雜度分析:
實現細節如下,使用下面三種卷積實現類似 21x21 的卷積
- 1 個 5x5 depth-wise convolution
- 1 個 7x7 depth-wise convolution(d=3)
- 1 個 1x1 卷積
四、效果
4.1 分類
4.2 目標檢測
4.3 語義分割
總結
以上是生活随笔為你收集整理的【Attention】Visual Attention Network的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【图像分类】如何使用 mmclassif
- 下一篇: 《流浪地球》导演郭帆:强盛的国家才有强大