注意力機制論文 --- A Simple and Light-weight Attention Module for Convolutional Neural Networks(BAM)


最近找了十幾篇神經網絡注意力機制的論文大概讀了一下。這篇博客記錄一下其中一篇,這篇論文大概只看了摘要,方法。在ADCM論文中我們提到它的設計參考了BAM來的,因而找了這篇論文。它主要利用channel和spatial來結合組成一種bottleneck attention module(BAM)的模塊,這個模塊可以直接插入到神經網絡中。主要還是通道注意力與空間注意力結合的方法,當然它並沒有ADCM中的dropout這個過程。

Channel attention branch

通道注意力分支,找出哪個通道特征是最有效的,只從特征來看。分為三部分,第一部分就是全局平均池化,它會將每一個通道特征都變成一個值,這個值代表該通道的總體特征。第二部分就是MLP,找出通道之間的關系,並且得出通道之間的權重。第三部分就是歸一化層,將輸入進行統一來看。整體的過程可以用如下的公式來表示:

\[ M_c(F) = BN(MLP(AvgPool(\textbf{F}))) \]

 

 

 

 

Spatial attention branch

空間注意力分支,強調或者suppress不同空間位置,可以找出哪些空間位置是有效的。總共分為四部分,第一部分就是使用1X1卷積來縮減通道,縮減系數是r,經過這一層,通道數為C/r,第二部分就是倆層空洞卷積,為了得到上下文信息,這里需要更大的感受野,使用了倆層空洞卷積,第三部分又是一層1X1的卷積,將通道變為1。最終就是歸一化層。整體的過程可以用如下公式來表示:

\[ M_s(F) = BN(f_3^{1X1}(f_2^{3X3}(f_1^{3X3}(f_0^{1X1}(\textbf(F)))))) \]

 

 

Combine two attention branches

合並注意力分支,主要將$M_c(F)$和$M_s(F)$合並,在合並之前,將$M_c(F)$和$M_s(F)$統一維度為C個通道,長寬為H、W,然后將對應元素相加,之后使用sigmoid函數變成0到1范圍內的值

 

 

 

對於整個模塊來說,它有倆大優勢,第一有效的得到全局上下文信息,CNN堆積許多卷積層和池化層來獲取上下文信息,雖然有效,但是增加了時間和空間復雜度,第二忽略了底層特征,而BAM可以放在模塊的開始,那么底層特征也能得到上下文信息。整個模塊的放置如下圖所示


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM