Introduction
首先作者介紹了在視覺領(lǐng)域中Attention也發(fā)揮著很大的作用,Attention不止能使得運算聚焦于特定區(qū)域,同時也可以使得該部分區(qū)域的特征得到增強盅抚,同時'very deep'的網(wǎng)絡結(jié)構(gòu)結(jié)合殘差連接(Residual Network)在圖像分類等任務中表現(xiàn)出了極好的性能〕基于這兩點考量洁灵,作者提出了殘差注意力網(wǎng)絡(Residual Attention Network),這種網(wǎng)絡具有以下兩點屬性:
- 增加更多的注意力模塊可以線性提升網(wǎng)絡的分類性能还棱,基于不同深度的特征圖可以提取額外的注意力模型载慈。
- 殘差注意力模型可以結(jié)合到目前的大部分深層網(wǎng)絡中,做到end-to-end訓練結(jié)果珍手,因為殘差結(jié)構(gòu)的存在办铡,可以很容易將網(wǎng)絡擴展到百數(shù)層。并且使用該種策略可以在達到其他大網(wǎng)絡的分類準確率的同時顯著降低計算量(計算量基本上為ResNet大網(wǎng)絡的69%左右)
上圖中左圖顯示了在殘差注意力網(wǎng)絡中主干網(wǎng)絡和注意力模塊之間的關(guān)系琳要,注意力模塊為主干網(wǎng)絡以某一個特征圖為節(jié)點的分叉子網(wǎng)絡寡具;右圖中的結(jié)果顯示網(wǎng)絡模型中,不同層特征圖響應的注意力不同稚补,在淺層結(jié)構(gòu)中童叠,網(wǎng)絡的注意力集中于背景等區(qū)域,而在深層結(jié)構(gòu)中,網(wǎng)絡的注意力特征圖(Attention Feature Map)聚焦于待分類的物體厦坛。這與之前的很多工作結(jié)論類似五垮,那就是深層次的特征圖具有更高的抽象性和語義表達能力,對于物體分類較淺層特征有較大的作用杜秸。
本文的主要貢獻點為:
- 設(shè)計了一種可堆疊的網(wǎng)絡結(jié)構(gòu)放仗,并且可堆疊的基本模塊中引入了注意力特征圖的機制,不同層次的特征圖能夠捕捉圖像中的多種響應結(jié)果撬碟。
- 注意力殘差學習诞挨,直接堆疊注意力模塊會導致網(wǎng)絡層次過深出現(xiàn)梯度消失的現(xiàn)象,本文使用了殘差連接的方式呢蛤,使得不同層的注意力模塊可以得到充分學習惶傻。
- Bottom-up與top-down結(jié)構(gòu)相結(jié)合,自底向上主要是為了圖像的特征提取其障,自頂向下是為了生成Attention Map
Related Work
略(感興趣可以翻論文查看)
Residual Attention Network
最終論文提出的殘差注意力網(wǎng)絡主要由多層注意力模塊堆疊而成银室,每個注意力模塊包含了兩個分支:掩膜分支(mask branch)和主干分支(trunk branch)。其中主干分支可以是當前的任何一種SOTA卷積神經(jīng)網(wǎng)絡模型静秆,掩膜分支通過對特征圖的處理輸出維度一致的注意力特征圖(Attention Feature Map))着降,然后使用點乘操作將兩個分支的特征圖組合在一起周瞎,得到最終的輸出特征圖锥涕。
假如主干分支輸出特征圖為请琳,掩膜分支的輸出特征圖為,那么最終該注意力模塊的輸出特征圖為:
Attention Residual Learning
作者在文中指出殊橙,雖然注意力模塊對于目標分類有較大的作用辐宾,但是單純疊加注意力模塊會導致模型性能的下降,主要有兩點:
- 掩膜分支為了輸出權(quán)重歸一的特征圖膨蛮,后面需要跟Sigmoid作為激活函數(shù)叠纹,但是問題在于Sigmoid將輸入歸一化到0到1之間,再來與主干分支進行點乘敞葛,會使得特征圖的輸出響應變?nèi)跤欤鄬盈B加該種結(jié)構(gòu)會使得最終輸出的特征圖每一個點上的值變得很小惹谐;
- 同時持偏,掩膜分支輸出的特征圖有可能會破壞主干分支的優(yōu)點,比如說將殘差連接中的shortcut機制替換為掩膜分支氨肌,那么將會使得深層網(wǎng)絡的梯度不能很好的反傳鸿秆。
為了解決上述問題,作者使用了下列公式來替代注意力模塊的輸出:
為[0, 1]區(qū)間內(nèi)的取值怎囚,與1相加之后可以很好的解決一中提出來的會降低特征值的問題卿叽;到這個部分本文與殘差網(wǎng)絡的區(qū)別在于,殘差網(wǎng)絡的公式,學習的是輸出和輸入之間的殘差結(jié)果考婴,而在本文中贩虾,是由一個深層的卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)來學習擬合。結(jié)合掩膜分支輸出的結(jié)果蕉扮,可以使得的輸出特征圖中重要的特征得到加強整胃,而不重要的特征被抑制。最終喳钟,不斷地疊加注意力模塊可以使得逐漸的提升網(wǎng)絡的表達能力。上圖中顯示越是深層在岂,注意力模型的注意力機制會更加關(guān)注在對分類有幫助的目標上奔则。
Soft Mask Branch
在掩膜分支(mask branch)中,特征圖的處理操作主要包含為前向的降采樣過程和上采樣過程蔽午,前者是為了快速編碼易茬、獲取特征圖的全局特征,而后者主要是將提取出來的全局高維特征上采樣之后與之前未降采樣的特征組合在一起及老,目的使得上下文抽莱,高低緯度的特征能夠更好的組合在一起,類似于FPN網(wǎng)絡的做法骄恶。掩膜分支的操作如下圖所示:
圖中每一個Attention Module食铐,也即是Soft Mask Branch對于固定的輸入,多層卷積計算之后使用Max-Pooling操作對特征圖進行降維操作僧鲁,一直降維直到特征圖寬高達到網(wǎng)絡輸出特征圖的最小尺寸虐呻,比如7x7,然后逐層使用雙線性差值的方法擴張?zhí)卣鲌D的寬高維度寞秃,并且與之前同樣維度下的特征相加斟叼,這里的考量是結(jié)合了全局的和局部的特征,增強了特征圖的表達能力春寿。這種做法類似于FCN網(wǎng)絡中FCN8s朗涩,最終對特征圖使用2個1x1的卷積層對通道做整合計算輸出一個與input寬高維度相等,但是通道數(shù)為1的特征圖绑改,最后接一個Sigmoid激活函數(shù)層將特征圖歸一化到0~1之間谢床。這一部分的做法如下圖所示。
Spatial Attention and Channel Attention
論文作者在Attention這部分總共考慮了三種Attention方式绢淀,Spatial Attention使用L2正則化約束每個位置上的所有通道萤悴,推測最終輸出一個空間維度一致的Attention Map;Channel Attention皆的,類似于SENet約束每一個通道上的所有特征值覆履,最后輸出長度與通道數(shù)相同的一維向量作為特征加權(quán);Mix Attention對每個通道和每個空間位置使用Sigmoid。不同Attention的計算公式如下所示:
論文作者也對三種Attention方法的分類結(jié)果做了對比硝全,對比結(jié)果如下所示:
Network Structure
網(wǎng)絡的結(jié)構(gòu)如下所示:
上圖是一個使用在ResNet-50上的例子栖雾,可以看出來和原始的ResNet的區(qū)別就是在每個階段的Residual Block之間增加了Attention Module,可以看到最小的輸出特征圖的寬高大小為7x7伟众,上文中說到析藕,在每一個Soft Mask Branch中對于input的特征圖,會不斷地卷積操作之后使用Max-Pooling降采樣凳厢,文中降采樣的寬高維度下限就是網(wǎng)絡的最小輸出特征圖账胧,比如這里的7x7。
Experiments
作者對使用Residual Attention機制的不同網(wǎng)絡結(jié)構(gòu)在Cifar10先紫、Cifar100和ImageNet上做了分類實驗治泥,結(jié)果如下所示:
總的來說,作者在實驗部分做了很多充分的對比實驗和定量分析遮精,感興趣的話可以直接閱讀論文相關(guān)部分的實驗結(jié)果居夹。
Conclusion
深度學習發(fā)展到現(xiàn)在,有很多工作開始逐漸的轉(zhuǎn)向Attention的融合上去做本冲,過去通過一個單一結(jié)構(gòu)的網(wǎng)絡提取整張圖像的特征用于分類准脂、檢測和分割,其實從人腦配合人眼的機制去思考檬洞,這種方法不一定是最優(yōu)的狸膏,每一個圖像樣本都具有內(nèi)容性,而且基本一張圖片的內(nèi)容并不會均勻分布在畫面中的每一塊區(qū)域疮胖,對于圖像的內(nèi)容區(qū)域使用Attention機制進行輔助可以增強有效信息同時抑制無效信息环戈。目前這一方法被用于大部分計算機視覺任務中。
論文原文 - Residual Attention Network for Image Classification
代碼實現(xiàn) - fwang91/residual-attention-network