自適應註意力機制在Image Caption中的應用
在碎片化閱讀充斥眼球的時代,越來越少的人會去關註每篇論文背後的探索和思考。
在這個欄目裏,你會快速 get 每篇精選論文的亮點和痛點,時刻緊跟 AI 前沿成果。
點擊本文底部的「閱讀原文」即刻加入社區,查看更多最新論文推薦。
這是 PaperDaily 的第 71 篇文章
本期推薦的論文筆記來自 PaperWeekly 社區用戶 @jamiechoi。本文主要討論自適應的註意力機制在 Image Caption 中的應用。作者提出了帶有視覺標記的自適應 Attention 模型,在每一個 time step,由模型決定更依賴於圖像還是視覺標記。
■ 論文 | Knowing When to Look: Adaptive Attention via A Visual Sentinel for Image Captioning
■ 鏈接 | www.paperweekly.site/papers/219
■ 源碼 | github.com/jiasenlu/AdaptiveAttention
Introduction
目前大多數的基於 Attention 機制的 Image Captioning 模型采用的都是 encoder-decoder 框架。然而在 decode 的時候,decoder 應該對不同的詞有不同的 Attention 策略。例如,“the”、“of”等詞,或者是跟在“cell”後面的“phone”等組合詞,這類詞叫做非視覺詞(Non-visual Word),更多依賴的是語義信息而不是視覺信息。而且,在生成 caption 的過程中,非視覺詞的梯度會誤導或者降低視覺信息的有效性。
因此,本文提出了帶有視覺標記的自適應 Attention 模型(Adative Attention Model with a Visual Sentinel),在每一個 time step,模型決定更依賴於圖像還是 Visual Sentinel。其中,visual sentinel 存放了 decoder 已經知道的信息。
本文的貢獻在於:
-
提出了帶有視覺標記的自適應 Attention 模型
-
提出了新的 Spatial Attention 機制
-
提出了 LSTM 的擴展,在 hidden state 以外加入了一個額外的 Visual Sentinel Vector
Method
Spatial Attention Model
文章介紹了普通的 encoder-decoder 框架,這裏不再贅述。但文章定義了 context vector ct,對於沒有 attention 機制的模型,ct 就是圖像經過 CNN 後提取出的 feature map,是不變的;而對於有 attention 機制的模型,基於 hidden state,decoder 會關註圖像的不同區域,ct 就是該區域經過 CNN 後提取出的 feature map。
文章對 ct 的定義如下:
其中 g 是 attention function,V=[v1,...,vk] 代表 k 個區域的圖像 feature,ht 是 t 時刻 RNN 的 hidden state。 由此可以得到 k 個區域的 attention 分布 αt:
這裏把 V 與 ht 相加,而有些論文則使用一個雙線性矩陣來連接它們。
其中是所有元素為 1 的向量,目的是讓相乘得到 k*k 大小的矩陣。最終本文的 ct 為:
與 show, attend and tell [1] www.ruishengks.com www.cnzhaotai.com使用 ht?1 的做法不同,本文使用的是 ht。結構如下:
作者認為 ct 可以看作 ht 的殘差連接,可以在預測下一個詞時降低不確定性或者提供情報。(不是應該做一個實驗驗證使用 ht 和 ht?1 的差別?)並且發現,這種 Spatial Attention 方式比其他模型表現更好。
Adaptive Attention Model
decoder 存儲了長時和短時的視覺和語義信息,而 Visual Sentinel st 作為從裏面提取的一個新的元件,用來擴展上述的 Spatial Attention Model,就得到了 Adaptive Attention Model。
具體的擴展方式就是在原有的 LSTM 基礎上加了兩個公式:
其中 xt 是 LSTM 的輸入,mt 是 memory cell(有些論文裏用 ct 表示)。
這裏的 gt 叫 sentinel gate,公式形式類似於 LSTM 中的 input gate, forget gate, output gate,決定了模型到底關註圖像還是 visual sentinel;而 st 公式的構造與 LSTM 中的 ht=ot⊙tanh(ct) 類似。
Adaptive Attention Model 中的 Context Vector:
βt∈[0,1] 可以視為真正意義上的 sentinel gate,控制模型關註 visual sentinel 和 ct 的程度。與此同時,Spatial Attention 部分 k 個區域的 attention 分布 αt 也被擴展成了 αt^,做法是在 zt 後面拼接上一個元素:
擴展後的 αt^ 有 k+1 個元素,而 βt=αt^[k+1]。(CVPR 和 arXiv 版本的原文都寫的是 βt=αt[k+1],我在 Github 上問了作者,這確實是個筆誤 [2])。
這裏的 Wg 與中的 Wg 是相同的(為什麽這樣做?Wh 也一樣嗎?作者在這裏沒有提到,在後續論文 [3] 裏的公式 (9) 提到了)。
上述公式可以簡化為:
最終單詞的概率分布:
具體架構如下:
Implementation Details
文章選擇了 ResNet 的最後一層卷積層的特征來表示圖像,維度是 2048x7x7,並使用來表示 k 個局部圖像特征,而全局圖像特征則是局部特征的平均:
局部圖像特征需要經過轉換:
最終全局圖像特征將與 word embedding 拼接在一起成為 LSTM 的輸入:xt=[wt;vg] 局部圖像特征則用在了 attention 部分。
Experiment
Table 1 在 test splits 上對比了在 Flickr30k 和 MSCOCO 數據集上模型與其他模型的表現,可以看到,模型的 Spatial Attention 部分就已經比其他模型表現好了,而加入了 Adaptive Attention 部分以後表現更加出色。
Table 2 在 COCO server 上對比了模型與其他模型的表現可以看到,Adaptive Attention 模型(emsemble後)的表現是當時 SOTA 的結果。
Fig 4 是 Spatial Attention的權重 α 的可視化結果,前兩列是成功的樣本,最後一列是失敗的樣本。模型進行 attention 的區域基本都是合理的,只是可能對一些物體的材質判斷失誤。
Fig 5 主要是 sentinel gate 1?β 的可視化,對於視覺詞,模型給出的概率較大,即更傾向於關註圖像特征 ct,對於非視覺詞的概率則比較小。同時,同一個詞在不同的上下文中的概率也是不一樣的。如"a",在一開始的概率較高,因為開始時沒有任何的語義信息可以依賴、以及需要確定單復數。
Fig 6 對 COCO 和 Flickr30k 中詞典中的詞被認為是視覺詞的平均概率進行了排序,來看看模型能否分辨出視覺詞與非視覺詞,兩個數據集間的相關性為 0.483。其中:
1. 對於一些實際上是視覺詞,但是與其他詞有很大關聯性的詞,模型也會把它視為非視覺詞,如"phone"一般都跟在"cell"後面;
2. 不同數據集上不同的詞的概率不一樣,如"UNK",可能是由於訓練數據分布的不同;
3. 對於一些有相近意義的同源詞,如"crossing", "cross", "crossed",他們的概率卻相差很大。(為什麽?) 模型沒有依賴外部的語料信息,完全是自動地發現這些趨勢。
Fig 11 顯示了使用弱監督方法生成的 bounding box 與真實 bounding box 的對比。本文是第一個使用這種方法來評估 image caption 的 attention 效果的。
具體生成方法是,對於某個單詞而言,先用 NLTK 將其映射到大類上,如“boy”, “girl”映射到 people。然後圖像中 attention weight 小於閾值(每個單詞的閾值都不一樣)的部分就會被分割出來,取分割後的最大連通分量來生成 bounding box。
並計算生成的和真實 bounding box 的 IOU (intersection over union),對於 spatial attention 和 adaptive attention 模型,其平均定位準確率分別為 0.362 和 0.373。說明了,知道何時關註圖像,也能讓模型更清楚到底要去關註圖像的哪個部分。
Fig 7 顯示了 top 45 個 COCO 數據集中出現最頻繁的詞的定位準確性。對於一些體積較小的物體,其準確率是比較低的,這是因為 attention map 是從 7x7 的 feature map 中直接放大的,而 7x7 的 feature map 並不能很好地包含這些小物體的信息。
Fig 8 顯示了單詞“of”在 spatial attention 和 adaptive attention 模型中的 attention map。如果沒有 visual sentinel,非視覺詞如“of”的 attention 就會高度集中在圖像的邊緣部分,可能會在反向傳播時形成噪聲影響訓練。
總結
本文提出了 Adaptive Attention 機制,其模型公式都非常簡單,Adaptive Attention 部分增加的幾個變量也非常簡潔,但卻對模型的表現有了很大的提升。文章進行的詳盡的實驗又進一步驗證了 Adaptive Attention 的有效性,可謂非常巧妙。
相關鏈接
[1]. Show, Attend and www.dfgj157.com Tell: Neural Image www.leyouzaixan.cn Caption Generation with Visual Attention
https://arxiv.org/abs/ www.michenggw.com www.qinlinyule.cn/ 1502.03044
[2]. 筆誤
https://github.com/jiasenlu/AdaptiveAttention/issues/14
[3]. Neural Baby Talk
https://www.paperweekly.www.jxbaxi.com/ site/papers/1801
本文由 AI 學術社區 PaperWeekly 精選推薦,社區目前已覆蓋自然語言處理、計算機視覺、人工智能、機器學習、數據挖掘和信息檢索等研究方向,點擊「閱讀原文」即刻加入社區!
www.leyouzaixan.cn
自適應註意力機制在Image Caption中的應用