Coordinate Attention給我學(xué)起來!論文閱讀筆記(CVPR2021)
來源:投稿?作者:kenny_vincent
編輯:學(xué)姐
論文閱讀筆記
Coordinate Attention for Efficient Mobile Network Design(CVPR2021)
動機&解決的問題
開始讀論文的時候?定明確所讀的論文要解決的是?個什么問題,這樣才能在讀論文的時候保持思路清晰,也為自己以后寫論文打下良好的思維習(xí)慣。
該篇論文主要針對的是注意?機制中“通道注意?”的問題。作者認(rèn)為之前優(yōu)秀的注意力模塊如SE(Squeeze-and-Excitation attention)和CBAM(Convolutional block attention module)在對通道間關(guān)系進行建模時雖然取得了不錯的效果,但是卻丟失了空間上的位置信息。而其他沒有這個問題的注意力模塊雖然效果也不錯,但是參數(shù)量又太大了,不適合應(yīng)用于移動端設(shè)備的網(wǎng)絡(luò)。所以作者希望能有?個注意?模塊既能在構(gòu)建通道注意?時捕捉到準(zhǔn)確的位置,?能像SE和CBAM?樣輕型?效,也就提出這個“坐標(biāo)注意?”。
整體框架
該論文方法主要對標(biāo)的就是上面所提到的SE和CBAM,同時這三者?非常相似,所以作者直接放出了這三個注意?的框架圖進?比較。

可以看到這三個注意力在整體架構(gòu)很相近,都采用分支網(wǎng)絡(luò)計算注意權(quán)重。
但是呢,SE是直接進行了?個全局平均池化獲得了?個Cx1x1維的向量,然后在這個向量上計算通道注意力權(quán)重,這就相當(dāng)于在直接把空間信息壓縮成1維的了,也就像這篇論文所說的那樣直接丟失了位置信息。
CBAM(上半部分計算通道注意?,下半部分計算空間注意力)盡管比SE好?些,剛開始的時候分成兩部分——分別進行了全局最?池化和全局平均池化,但是在后面是將這兩者加起來然后??層卷積來計算注意力權(quán)重(后面的1x1卷積是用來升維的),這就導(dǎo)致了它只能夠?qū)W習(xí)到局部關(guān)系,但難以學(xué)習(xí)到?距離的依賴關(guān)系(long-range dependencies), 然而這個長距離的依賴關(guān)系卻對其他下游的視覺任務(wù)很重要。
ong-range dependencies: 簡單來說,就是圖像中兩個相距較遠(yuǎn)的像素之間的相關(guān)性。
如果忘記了SE和CBAM具體長啥樣,可以看看下圖,但是建議還是回顧?下原論文。
論文:Coordinate Attention for Efficient Mobile Network Design(CVPR2021)
官?代碼:https://github.com/Andrew-Qibin/CoordAttention

那么坐標(biāo)注意?是怎么做的呢?
?開始也進行了全局池化,但是是分了兩個方向進?的——水平(X)方向和垂直(Y)方向,這就為通道注意?保留這兩個方向的長距離依賴關(guān)系;然后拼接起來進行卷積,這?步則是對兩個方向上的信息進行交互;BN+非線性激活函數(shù)之后,再對這個特征圖分割開來分別進行卷積,也就是在水平和垂直方向同時對它關(guān)注,最后進入Sigmoid函數(shù);最后得到的這個這個兩個注意力圖就能夠很好的反映出我們感興趣的對象是否存在于相應(yīng)的行和列中,使得我們能夠準(zhǔn)確地定位出目標(biāo)對象地位置,解決了上面論文所提到的問題。
坐標(biāo)注意力直觀的計算過程如下圖:

公式
?且這篇論文的公式也超簡單,在論文所以給出的框架圖中都可以??找到對應(yīng):
1. 沿著水平和垂直方向計算1維平均池化

2. 拼接、卷積、BN、激活函數(shù)

3. 分別卷積、Sigmoid

4. 最后輸出
實驗
1. 下?這兩張表是在分別以MobileNetV2,MobileNeXtV2為backbone下,采用不同權(quán)重乘數(shù)與SE、CBAM的性能比較,可以發(fā)現(xiàn)無論是哪個backbone哪個權(quán)重乘數(shù),坐標(biāo)注意力在分類任務(wù)上都有明顯提高,并且它的參數(shù)增加的不多。

2. 下表則是消融實驗,可以發(fā)現(xiàn)加入坐標(biāo)注意力后比沒加之前性能確實提高了。

3. 從下表中可以發(fā)現(xiàn),坐標(biāo)注意力在不同視覺任務(wù)下,性能都有所提高

Talk is cheap, Show me the code
這個注意力模塊不僅僅看上去很簡單,實現(xiàn)起來也很簡單!
怎么樣,加起來不到40行,而且每?步都清晰!但是還是推薦到官方github上面去看,畢竟作者在上?也做了不少實驗,可以學(xué)習(xí)的也不少。
總結(jié)
一個實現(xiàn)簡單,效果顯著,輕量級,即插即用,可擴展性強的注意力模塊。
— 完 —
點這里??關(guān)注我,記得標(biāo)星哦~

點贊的情誼學(xué)姐銘記在心~