【CV中的Attention機(jī)制】DCANet解讀
【GiantPandaCV導(dǎo)讀】DCANet與其他文章不同之處在于,DCANet用增強(qiáng)其他Attention模塊能力的方式來改進(jìn)的,可以讓注意力模塊之間的信息流動(dòng)更加充分,提升注意力學(xué)習(xí)的能力。目前文章還沒有被接收。
本文首發(fā)于GiantPandaCV,未經(jīng)允許,不得轉(zhuǎn)載。

1、摘要
自注意力機(jī)制在很多視覺任務(wù)中效果明顯,但是這些注意力機(jī)制往往都是考慮當(dāng)前的特征,而沒有考慮和其他層特征進(jìn)行融合(其實(shí)也有幾個(gè)工作都在做融合的Attention比如BiSeNet、AFF等)。
本文提出的DCANet(Deep Connected Attention Network)就是用來提升attention模塊能力的。主要做法是:將相鄰的Attention Block互相連接,讓信息在Attention模塊之間流動(dòng)。
2、思想
注意力機(jī)制: 注意力機(jī)制可以通過探索特征之間的依賴關(guān)系來得到更好的特征表示。自注意力機(jī)制在NLP和CV領(lǐng)域中的各個(gè)任務(wù)都得到了廣泛應(yīng)用。注意力機(jī)制可以分為三部分:通道注意力機(jī)制、空間注意力機(jī)制和self-attention,也有說法是可以將self-attention視為通道注意力和空間注意力的混合。
**殘差鏈接:**從ResNet開始,到后來的DenseNet,殘差鏈接已經(jīng)成為了當(dāng)前網(wǎng)絡(luò)標(biāo)配的設(shè)計(jì),可以讓網(wǎng)絡(luò)變得更深,并且緩解了網(wǎng)絡(luò)退化的情況。DCANet設(shè)計(jì)也參考了這種思想。
連接注意力: Attention模塊之間的連接方式也已經(jīng)有一部分的研究,比如RA-CNN是專門用于細(xì)粒度圖像識(shí)別的網(wǎng)絡(luò)架構(gòu),網(wǎng)絡(luò)可以不斷生成具有鑒別力的區(qū)域,從而實(shí)現(xiàn)從粗糙到細(xì)節(jié)的識(shí)別。GANet中,高層的attention特征會(huì)送往底層的特征來指導(dǎo)注意力學(xué)習(xí)。
3、核心
下圖是總結(jié)了attention方面的設(shè)計(jì)思路,首先將他們分為三個(gè)階段,分別是:
Extraction: 特征提取階段 Transformation:轉(zhuǎn)換階段,將信息進(jìn)行處理或者融合 Fusion: 融合階段,將得到的信息進(jìn)行融合到主分支中
下圖從左到右分別是SEblock、GEblock、GCblock、SKblock,他們都可以歸結(jié)以上三個(gè)階段。

Extraction
這個(gè)階段是從特征圖上進(jìn)行特征提取,規(guī)定特征圖為:
經(jīng)過特征提取器g(wg是這個(gè)特征提取操作的參數(shù),G是輸出結(jié)果):
Transformation
這個(gè)階段處理上一個(gè)階段得到的聚集的信息,然后將他們轉(zhuǎn)化到非線性注意力空間中。規(guī)定轉(zhuǎn)換t為(wt是參數(shù),T是這個(gè)階段的輸出結(jié)果):
Fusion
這個(gè)階段整合上個(gè)階段獲取的特征圖,可以表達(dá)為:
其中代表最終這一層的輸出結(jié)果,代表特征融合方式,比如dot-product,summation等操作。
Attention Connection
這是本文的核心,特征不僅僅要從當(dāng)前層獲取,還要從上一層獲取,這時(shí)就是需要兩層信息的融合,具體融合方式提出了兩種:
Direct Connection: 通過相加的方式進(jìn)行相連。

weighted Connection: 加權(quán)的方式進(jìn)行相連。

為何這樣融合,筆者也不是很清楚,歡迎一起討論。

可以看到,上邊通路是兩個(gè)通道注意力模塊,兩個(gè)模塊之間會(huì)有一個(gè)Attention Connection讓兩者相連,讓后邊的模塊能利用上之前模塊的信息。下邊通路是兩個(gè)空間注意力模塊,原理同上,空間注意力模塊可以有也可以沒有。
4、 實(shí)驗(yàn)
分類ImageNet結(jié)果,主要和上邊提到的幾個(gè)模塊進(jìn)行對(duì)比,大約有一個(gè)點(diǎn)的提升:

ImageNet12上的幾組消融實(shí)驗(yàn)結(jié)果:

結(jié)果可視化:

第一行是ResNet50、第二行是CBAM-ResNet50、第三行是DCA-CBAM-ResNet50的結(jié)果。
目標(biāo)檢測數(shù)據(jù)集MSCOCO上的結(jié)果對(duì)比。

5、評(píng)價(jià)
筆者在知乎上了解到,這篇文章投ECCV被拒稿了,理由是創(chuàng)新點(diǎn)不夠,提升不夠大。提升暫且不提,這個(gè)創(chuàng)新點(diǎn)確實(shí)比較少,雖然實(shí)驗(yàn)做的很多,分析也不錯(cuò),但是總體看下來核心就是前后兩個(gè)模塊特征相加,這種方法確實(shí)可以提升,但是單純這樣確實(shí)是不夠發(fā)表頂會(huì)的,可以考慮類似ASFF、Effective Fusion Factor in FPN for Tiny Object Detection等文章的創(chuàng)新點(diǎn)。
文章連接:https://arxiv.org/pdf/2007.05099.pdf
代碼實(shí)現(xiàn):https://github.com/13952522076/DCANet
-END-
筆者維護(hù)了一個(gè)有關(guān)Attention機(jī)制和其他即插即用模塊的庫,歡迎在Github上進(jìn)行PR或者Issue。
https://github.com/pprp/awesome-attention-mechanism-in-cv
有疑問或者想加入交流群,可以添加筆者微信,請(qǐng)注明來意
