王浩天 王 璇
(重慶郵電大學通信與信息工程學院 重慶 400065)
引言
注意力機制對卷積神經網絡的性能提升具有重要意義[1-2]。卷積神經網絡通過多層的卷積—激活—池化操作提取圖像中的深層特征,在各種圖像識別、理解、生成任務中起到了至關重要的作用。然而,在一副圖像中,有用信息出現的地方往往只占整幅圖像的一小部分。注意力機制可以引導卷積神經網絡去關注這些有用的信息而抑制其他非關鍵的信息。因此,加強注意力機制對卷積神經網絡的研究是非常有意義的。
建立合理的注意力機制模型[3]對提升現有卷積神經網絡的性能具有重要作用。現有的注意力機制已使卷積神經網絡在諸多任務中的性能有所提升。然而,現有的注意力機制利用最大池化或平均池化對特征圖進行壓縮,該池化層因缺乏參數回傳而在梯度下降的過程中不具備學習功能。這樣存在一定的局限性:該池化層不能根據特征圖來進行調整,從而導致特征圖壓縮不是最優的結果。因此,研究一個具有可以學習的池化層注意力機制的卷積神經網絡是很有意義的。
一般而言,卷積神經網絡中的注意力機制分為通道注意力機制和空間注意力機制兩種。通道注意力機制具有如下形式:

其中,Vpool是卷積神經網絡某一層輸出的特征圖經過池化后得到的向量,大小為1*1*C。其中C是通道數。W1和b1是第一個全連接層的參數,大小分別為k*C和1*k,用來壓縮通道數以減少計算量。為激活函數,一般為tanh或ReLU,W2和b2是第二個全連接層的參數,大小分別為C*k和1*C,用來將通道數恢復為C。σ將輸出值限制在[0,1]之間,一般選用softmax函數或sigmoid函數。輸出α的是大小為1*1*C的概率向量,第i個值代表第i個特征圖的權重。
空間注意力機制具有如下形式:

其中,Upool是將維度為H*W*C的特征圖以某種方式池化為H*W*1之后的矩陣;W1和b1是第一個全連接層或卷積層的參數;W2和b2是第二個全連接層或卷積層的參數。δ與σ為激活函數,與空間注意力中的類似。輸出的β是大小為H*W*1的概率矩陣,矩陣中的每一個位置都代表著對應特征圖位置上的像素點的權重。
然而,在這兩種注意力機制中,卷積神經網絡的輸出都是通過池化進行壓縮,再作為全連接層和卷積層的輸入。此過程會丟失信息且無參數可以學習,在一定程度上會造成其后的全連接層或卷積層學習到的注意力信息不為最優。但是,如果直接將之前的特征圖展開進行輸入,則會導致參數過多,容易發生過擬合現象。因此,本文提出一種利用卷積層代替池化層的方法,將特征圖的池化過程變成一個可以學習的過程。
對于通道注意力機制而言,為了將特征圖的空間特征壓縮,我們首先把大小為H*W*C的特征圖的大小變為1*C*(H*W),然后利用卷積核大小為1的卷積層將特征圖的大小壓縮為1*C*1,之后交換通道順序得到大小為1*1*C的向量。這一步操作可以表示為:

用代替即可得到可學習的向量。則改進后的通道注意力機制可以表示為:

對于空間注意力機制而言,則可以使用全卷積神經網絡改進。對于大小為H*W*C的特征圖,可利用多層卷積將其降維為H*W*1的特征圖,之后經過sigmoid函數將值壓限在(0,1)之間。例如,可以先經過一個卷積核大小為1的卷積層將維數降為2,然后經過卷積核大小為7的卷積層輸出H*W*1的特征圖。該過程可以表示為:

利用上述的改進方法對[4]中的卷積神經網絡ResNet50-CBAM的通道注意力機制和空間注意力機制進行了改進,并在ImageNet-1k數據集上訓練了100代。訓練集和驗證集的圖像的最小邊都被縮放到了256,并且在訓練過程中僅使用對稱和隨機裁剪變換(RandomResizedCrop)進行數據增強。在驗證時使用中心裁剪將圖片大小變為224*244,得到的分類結果的top-1和top-5準確率如下:

表1 不同卷積神經網絡在驗證集上top-1和top-5的分類準確率
從表1可以看出,具有改進注意力機制的卷積神經網絡得到的分類準確率相較于原先的神經網絡具有一定的提升。這表明提出的改進方法是有效的。
本研究針對現有注意力機制中池化層不具有可學習參數的問題,通過使用具有可學習參數的卷積層替換池化層,使得網絡可以學習如何壓縮特征圖以最優化注意力機制帶來的效果。實驗表明,相較于原來具有不可學習的池化層的注意力機制而言,本研究提出的改進注意力機制可以給卷積神經網絡帶來更好的分類效果。