第七週學習
BAM: Bottleneck Attention Module
BAM 主要是通過 Channel attention 和 Spatial attention 兩部分並行獲取注意力。將兩部分得到的輸出通過廣播機制進行相加並通過一個 sigmoid 函式,獲取最終的注意力。作者將該模組放在兩個 block 之間,構成最終的網路圖。
Dual Attention Network for Scene Segmentation
本文提出了 Dual Attention Networks (DANet) 在 spatial 和 channle 維度來捕獲全域性特徵依賴,提出 position attention module 去學習空間特徵的相關性,提出 channel attention module 去建模 channle 的相關性。
Position Attention Module
先將特徵圖 A 通過三個 \(3 \times 3\) 的卷積,得到 B、C、D 三個新的特徵圖,然後將他們 reshape 為 \(C \times N, N=H\times W\),將 B 轉置與 C 相乘並通過一個 softmax 得到注意力 S (\(N \times N\)),將得到的特徵與 D 相乘,再 reshape 成 \(C \times H \times W\) 與 特徵圖 A 相加,就得到了最終的輸出 E。
Channel Attention Module
先將特徵圖 A 做 reshape 和 reshape & transpose 操作,並將兩個結果相乘後通過一個 softmax 得到注意力 X (\(C \times C\)
ECA-Net: Efficient Channel Attention for Deep Convolutional Neural Networks
該模組首先自適應地確定核大小,然後執行 1D 卷積,然後執行 Sigmoid 函式得到注意力,最後作用到原圖上。其中 \(k = \psi(C) = |\frac{\log_2(C)}{\gamma} + \frac{b}{\gamma}|\).
Improving Convolutional Networks with Self-Calibrated Convolutions
本文主要是提出了一種自校準卷積,自校準卷積與組卷積類似,不同點是過濾器的每個部分都沒有得到同等對待,而是負責特定的功能。
-
輸入 X 為 $ C \times H \times W$ 大小,拆分為兩個 \(C/2 \times H \times W\) 大小的 \(X_1, X_2\);
-
卷積核 K 的維度為 \(C \times C \times H times W\),將 K 分為4個部分,分別為 \(K_1, K_2, K_3, K_4\),其維度均為 \(C/2 \times C/2 \times H \times W\);
-
自校準尺度空間:
\[T_1 = AvgPool_r(x_1)\\ X_1' = Up(F_2(T_1)) = Up(T_1*K_2)\\ Y_1' = F_3(X_1) \cdot \sigma(X_1 + X_1')\\ Y_1 = F_4(Y_1') = Y_1' * K_4\\ \] -
原尺度特徵空間:對特徵 \(X_2\) 經過 \(K_1\) 卷積提取得到特徵 \(Y_2\);
-
對兩個尺度空間輸出特徵 \(Y_1, Y_2\) 進行拼接操作,得到最終輸出特徵 Y。
Pyramid Split Attention
該網路首先通過一個 SPC 模組提取特徵,然後經過 SENet 中的 SEWeight 模組來獲取通道注意力,將獲取的注意力經過 softmax 操作後,與 經過 SPC 模組提取到的特徵相乘,得到最終的輸出特徵。
Split and Concat module
該模組主要是採用不同的卷積核提前多尺度的目標特徵,\(k_0, k_1, k_2, k_3\) 是不同卷積核引數,\(G_0, G_1, G_2, G_3\)是分組卷積的引數,最後將提取到的特徵通過 Concat 操作進行拼接。
ResT: An Efficient Transformer for Visual Recognition
- 與 MSA 類似,EMSA 首先採用一組線性投影來獲得 Q;
- 採用 Depth-Wise Conv 和線性投影獲取 K 和 V;
- 將 Q 和 K 通過公式 $ EMSA(Q, K, V)=IN(Softmax(Conv(\frac{QK^T}{\sqrt{d_k}}))V$
- 最後,將每個頭部的輸出值進行拼接和線性投影,形成最終輸出。
位置編碼採用公式 \(\hat{x} = PA(x) = x * \sigma(DWConv(x))\)
Beyond Self-attention: External Attention using Two Linear Layers for Visual Tasks
外部注意力模組主要是使用兩個級聯的線性層以及歸一化層實現。
總體來說,計算的是輸入和外部記憶單元之間的注意力,記憶單元記為 \(M \in R^{S \times d}\) ,可以表述為:
\[\begin{array}{c} A=(\alpha)_{i, j}=\operatorname{Norm}\left(F M^{T}\right) \\ F_{o u t}=A M \end{array} \]此處的 \((\alpha)_{i, j}\) 表示第 i 個元素和 M 的第 j 行之間的相似性,記憶單元是一個獨立於輸入的引數,作為整個訓練資料集的記憶。