1. 前言
視覺上的attention已經被成功運用在了結構預測任務中。例如,visual captioning與question answering。現有的視覺attention模型都是基于空間的,既是重新權重最後一個卷積層的feature map。其原理如下圖所示,但是這樣的或許并不能會很好符合attention的機制。

文章中指出,基于CNN的原理,其所提取的feature map具有spatial、channel-wise(semantic)、multi-layer的屬性。但現有的一些image caption方法主要考慮spatial的屬性,其中運用的attention機制也都是spatially attentive weight。因而在此基礎上論文提出,充分利用CNN以上三個屬性來進行image caption的任務,提出利用spatial、channel-wise(semantic)和multi-layer結合的屬性進行attention機制的應用,互相影響,互相促進,有很好的效果,取名SCA-CNN。
2. SCA-CNN網絡
2.1 網絡結構
其網絡結構如上圖,可以看到在每層的feature map上先後做了channel-wise與spatial的attention,裡面根據卷積feature map中channel與spatial的特性對其進行權重組合。對于前面兩種:spatial、channel-wise的attention比較容易了解,那麼如何将其擴充到multi-layer上呢?論文中是使用子產品堆疊實作的。也正如上面結構中的 l − 1 l-1 l−1、 l l l、 l + 1 l+1 l+1特征層。了解了網絡的結構,那麼接下來就看一下其内部是怎麼實作這些的。
2.2 spatial attention
首先,來看一下整個attention的更新方式,其更新方式如下:
其中, X l − 1 X^{l-1} Xl−1是卷積特征層; V l V^{l} Vl可以看作是SCA-CNN的子產品運算中間變量; h t − 1 h_{t-1} ht−1是 d d d次元的上一時刻的LSTM層hidden輸出; γ l \gamma^{l} γl是attention之後的權重;函數 f f f也就是按照權重使得卷積重分布了。最後通過LSTM層得到圖檔的caption:
其中, y t y_t yt就是最後輸出的圖檔描述單詞了。那麼回到正題,spatial中的權重分布是怎麼計算得到的呢?也就是下面要求的東西:
對于spatial上的權重計算(也就是上面的公式3)的計算是通過下面這個算子實作的:
a = t a n h ( ( W s V + b s ) ⊕ W h s h t − 1 ) a=tanh((W_sV+b_s)\oplus W_{hs}h_{t-1}) a=tanh((WsV+bs)⊕Whsht−1)
α = s o f t m a x ( W i a + b i ) \alpha=softmax(W_ia + b_i) α=softmax(Wia+bi)
其中,參數 a a a就是attention中的score函數; V = [ v 1 , v 2 , … , v m ] V=[v_1,v_2,\dots, v_m] V=[v1,v2,…,vm]是向量,其中每個元素的長度是 C C C(也就是feature map中的channel數量), m = W ∗ H m=W*H m=W∗H(feature map的寬高乘積); W s ∈ R k ∗ C , W h s ∈ R k ∗ d , W i ∈ R k W_s \in R^{k*C}, W_{hs}\in R^{k*d}, W_i \in R^{k} Ws∈Rk∗C,Whs∈Rk∗d,Wi∈Rk。 ⊕ \oplus ⊕代表的是向量與矩陣的運算。
2.3 channel-wise attention
channel-wise上的attention與spatial上的是類似的。首先,将feature map進行reshape操作得到向量 U = [ u 1 , u 2 , … , u C ] U=[u_1,u_2,\dots ,u_C] U=[u1,u2,…,uC],它的元素個數是channel的數目,每個元素的次元是 W ∗ H W*H W∗H。之後呢,再把每個元素進行average Pooling得到向量 v = [ v 1 , v 2 , … , v C ] v=[v_1,v_2,\dots, v_C] v=[v1,v2,…,vC]。因而最後的權重計算被表述為:
在論文中還讨論了spatial與channel-wise attention先後順序的差別,其實驗結果為:
結論就是channel-wise在前面要好一些。這篇文章的大體内容如上所述,文章其性能全面領先與其他state-of-the-art,主要原因就是其充分利用CNN的三種重要特性,而這些特性對語義的了解往往又很有效,是以得到較好的效果。這個方案給了我們很多認識,多種有效手段集合,可以獲得很好的效果,但這對計算資源有很高的要求。