『論文筆記』BAM:Bottleneck Attention Module(注意力機制)+TensorFlow2.0復現!

CBAM:Convolutional Block Attention Module(注意力機制)+TensorFlow2.0復現!

一. 論文摘要

深度神經網絡的最新進展是通過架構搜索來獲得更強的表示能力。在本文中,我們重點研究了一般深度神經網絡中注意力的影響。我們提出了一個簡單有效的注意力模塊,稱爲瓶頸注意模塊(BAM: Bottleneck Attention Module),它可以整合到任何前饋卷積神經網絡當中。我們的模型通過兩個分離的路徑channel和spatial, 得到一個Attention Map。我們將此模塊放在模型的每個瓶頸處,在那裏發生了特徵圖的下采樣。我們的模塊在瓶頸處構造了一個具有多個參數的層次注意,它可以與任何前饋模型以端到端的方式聯合訓練。我們通過在CIFAR-100、ImageNet-1K、VOC 2007和MS COCO基準上的大量實驗來驗證BAM。實驗結果表明,在分類和檢測性能的不斷改善與各種模型,證明了廣泛的適用性BAM。

二. BAM的網絡結構

2.1. 總體的描述

對於一箇中間層的Feature map FRC×H×W\mathbf F \in \mathbb{R}^{C \times H \times W},BAM將會得到一個3D的attention map M(F)RC×H×W\mathbf{M}(\mathbf{F}) \in \mathbb{R}^{C \times H \times W},細化後的feature map F\mathbf{F}^{\prime} 能被表示爲:

F=F+FM(F)(1) \mathbf{F}^{\prime}=\mathbf{F}+\mathbf{F} \otimes \mathbf{M}(\mathbf{F})\tag{1} 其中: 爲element-wise multiplication。爲了設計一個高效而強大的模塊,我們首先在2個分支分別計算通道注意力 Mc(F)RC\mathbf{M}_{\mathbf{c}}(\mathbf{F}) \in \mathbb{R}^{C} 和空間注意力 Ms(F)RH×W\mathbf{M}_{\mathbf{s}}(\mathbf{F}) \in \mathbb{R}^{H \times W},然後計算attention map M(F)\mathbf{M}(\mathbf{F})

M(F)=σ(Mc(F)+Ms(F))(2) \mathbf{M}(\mathbf{F})=\sigma\left(\mathbf{M}_{\mathbf{c}}(\mathbf{F})+\mathbf{M}_{\mathbf{s}}(\mathbf{F})\right)\tag{2} 其中: σ\sigma 表示Sigmoid函數,在進行上面add之前兩個分支輸出都被resize爲 RC×H×W\mathbb{R}^{C \times H \times W}

2.2. 通道注意力機制

爲了聚合feature map在每個通道維度,我們對feature map F\mathbf{F} 進行全局平均池化得到,得到一個通道向量 FcRC×1×1\mathbf{F}_{\mathbf{c}} \in \mathbb{R}^{C \times 1 \times 1},這個向量對全局信息在每個通道進行軟編碼。爲了評估Attention在每個通道的效果?我們使用了一個多層感知(MLP)用一層隱藏層。爲了節省參數開銷,將隱藏的激活大小設置爲 RC/r×1×1\mathbb{R}^{C / r \times 1 \times 1},其中 rr 爲比例。在MLP之後,我們增加了BN去調整規模和空間分支一樣的輸出,channel attention可以被計算爲:

Mc(F)=BN(MLP(AvgPool(F)))=BN(W1(W0AvgPool(F)+b0)+b1)(3) \begin{aligned} \mathbf{M}_{\mathbf{c}}(\mathbf{F}) &=\text {BN}(\operatorname{MLP}(\text {AvgPool}(\mathbf{F}))) \\ &=\text {BN}\left(\mathbf{W}_{\mathbf{1}}\left(\mathbf{W}_{0} \text {AvgPool}(\mathbf{F})+\mathbf{b}_{0}\right)+\mathbf{b}_{1}\right)\tag{3} \end{aligned} 其中: W0RC/r×C,b0RC/r,W1RC×C/r,b1RC\mathbf{W}_{0} \in \mathbb{R}^{C / r \times C}, \mathbf{b}_{0} \in \mathbb{R}^{C / r}, \mathbf{W}_{1} \in \mathbb{R}^{C \times C / r}, \mathbf{b}_{1} \in \mathbb{R}^{C}

2.3. 空間注意力機制

這個空間分支產生了空間Attention去增強或者抑制特徵在不同的空間位置,衆所周知,利用上下文信息是去知道應該關注哪些位置的關鍵點。在這裏我們爲了高效性運用空洞卷積去增大感受野。我們觀察到與標準卷積相比,空洞卷積有助於構造更有效的spatial map。空間分支通過產生一個空間spatial map Ms(F)RH×W\mathbf{M}_{\mathbf{s}}(\mathbf{F}) \in \mathbb{R}^{H \times W} 去強調或壓制不同空間位置的特徵。

Ms(F)=BN(f31×1(f23×3(f13×3(f01×1(F)))))(4) \mathbf{M}_{\mathbf{s}}(\mathbf{F})=\text {BN}\left(f_{3}^{1 \times 1}\left(f_{2}^{3 \times 3}\left(f_{1}^{3 \times 3}\left(f_{0}^{1 \times 1}(\mathbf{F})\right)\right)\right)\right)\tag{4} 其中: ff 表示卷積運算,BN表示批量歸一化運算,上標表示卷積濾波器大小。 通道縮減有兩個 1×11×1 卷積。中間 3×33×3 擴張卷積用於聚合具有較大感受野的上下文信息。

參考文獻

發佈了153 篇原創文章 · 獲贊 339 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章