自适应注意力机制在Image Caption中的应用
在碎片化閱讀充斥眼球的時(shí)代,越來(lái)越少的人會(huì)去關(guān)注每篇論文背后的探索和思考。
在這個(gè)欄目里,你會(huì)快速 get 每篇精選論文的亮點(diǎn)和痛點(diǎn),時(shí)刻緊跟 AI 前沿成果。
點(diǎn)擊本文底部的「閱讀原文」即刻加入社區(qū),查看更多最新論文推薦。
這是 PaperDaily 的第?71?篇文章本期推薦的論文筆記來(lái)自 PaperWeekly 社區(qū)用戶(hù) @jamiechoi。本文主要討論自適應(yīng)的注意力機(jī)制在 Image Caption 中的應(yīng)用。作者提出了帶有視覺(jué)標(biāo)記的自適應(yīng) Attention 模型,在每一個(gè) time step,由模型決定更依賴(lài)于圖像還是視覺(jué)標(biāo)記。
關(guān)于作者:蔡文杰,華南理工大學(xué)碩士生,研究方向?yàn)镮mage Caption。
■?論文 | Knowing When to Look: Adaptive Attention via A Visual Sentinel for Image Captioning
■ 鏈接 | www.paperweekly.site/papers/219
■ 源碼 | github.com/jiasenlu/AdaptiveAttention
Introduction
目前大多數(shù)的基于 Attention 機(jī)制的 Image Captioning 模型采用的都是 encoder-decoder 框架。然而在 decode 的時(shí)候,decoder 應(yīng)該對(duì)不同的詞有不同的 Attention 策略。例如,“the”、“of”等詞,或者是跟在“cell”后面的“phone”等組合詞,這類(lèi)詞叫做非視覺(jué)詞(Non-visual Word),更多依賴(lài)的是語(yǔ)義信息而不是視覺(jué)信息。而且,在生成 caption 的過(guò)程中,非視覺(jué)詞的梯度會(huì)誤導(dǎo)或者降低視覺(jué)信息的有效性。
因此,本文提出了帶有視覺(jué)標(biāo)記的自適應(yīng) Attention 模型(Adative Attention Model with a Visual Sentinel),在每一個(gè) time step,模型決定更依賴(lài)于圖像還是 Visual Sentinel。其中,visual sentinel 存放了 decoder 已經(jīng)知道的信息。?
本文的貢獻(xiàn)在于:
提出了帶有視覺(jué)標(biāo)記的自適應(yīng) Attention 模型?
提出了新的 Spatial Attention 機(jī)制?
提出了 LSTM 的擴(kuò)展,在 hidden state 以外加入了一個(gè)額外的 Visual Sentinel Vector
Method
Spatial Attention Model?
文章介紹了普通的 encoder-decoder 框架,這里不再贅述。但文章定義了 context vector ct,對(duì)于沒(méi)有 attention 機(jī)制的模型,ct 就是圖像經(jīng)過(guò) CNN 后提取出的 feature map,是不變的;而對(duì)于有 attention 機(jī)制的模型,基于 hidden state,decoder 會(huì)關(guān)注圖像的不同區(qū)域,ct?就是該區(qū)域經(jīng)過(guò) CNN 后提取出的 feature map。
文章對(duì) ct?的定義如下:
其中 g 是 attention function,V=[v1,...,vk] 代表 k 個(gè)區(qū)域的圖像 feature,ht 是 t 時(shí)刻 RNN 的 hidden state。 由此可以得到 k 個(gè)區(qū)域的 attention 分布 αt:
這里把 V 與 ht 相加,而有些論文則使用一個(gè)雙線性矩陣來(lái)連接它們。
其中是所有元素為 1 的向量,目的是讓相乘得到 k*k 大小的矩陣。最終本文的 ct 為:
與 show, attend and tell [1] 使用 ht?1 的做法不同,本文使用的是 ht。結(jié)構(gòu)如下:
作者認(rèn)為 ct 可以看作 ht 的殘差連接,可以在預(yù)測(cè)下一個(gè)詞時(shí)降低不確定性或者提供情報(bào)。(不是應(yīng)該做一個(gè)實(shí)驗(yàn)驗(yàn)證使用 ht 和 ht?1 的差別?)并且發(fā)現(xiàn),這種 Spatial Attention 方式比其他模型表現(xiàn)更好。
Adaptive Attention Model?
decoder 存儲(chǔ)了長(zhǎng)時(shí)和短時(shí)的視覺(jué)和語(yǔ)義信息,而 Visual Sentinel st 作為從里面提取的一個(gè)新的元件,用來(lái)擴(kuò)展上述的 Spatial Attention Model,就得到了 Adaptive Attention Model。?
具體的擴(kuò)展方式就是在原有的 LSTM 基礎(chǔ)上加了兩個(gè)公式:
?
其中 xt 是 LSTM 的輸入,mt 是 memory cell(有些論文里用 ct 表示)。?
這里的 gt 叫 sentinel gate,公式形式類(lèi)似于 LSTM 中的 input gate, forget gate, output?gate,決定了模型到底關(guān)注圖像還是 visual sentinel;而 st 公式的構(gòu)造與 LSTM 中的 ht=ot⊙tanh(ct) 類(lèi)似。
Adaptive Attention Model 中的 Context Vector:
βt∈[0,1] 可以視為真正意義上的 sentinel gate,控制模型關(guān)注 visual sentinel 和 ct 的程度。與此同時(shí),Spatial Attention 部分 k 個(gè)區(qū)域的 attention 分布 αt 也被擴(kuò)展成了 αt^,做法是在 zt 后面拼接上一個(gè)元素:
擴(kuò)展后的 αt^ 有 k+1 個(gè)元素,而 βt=αt^[k+1]。(CVPR 和 arXiv 版本的原文都寫(xiě)的是 βt=αt[k+1],我在 Github 上問(wèn)了作者,這確實(shí)是個(gè)筆誤 [2])。
這里的 Wg 與中的 Wg 是相同的(為什么這樣做?Wh 也一樣嗎?作者在這里沒(méi)有提到,在后續(xù)論文 [3] 里的公式 (9) 提到了)。
上述公式可以簡(jiǎn)化為:
最終單詞的概率分布:
具體架構(gòu)如下:
Implementation Details
文章選擇了 ResNet 的最后一層卷積層的特征來(lái)表示圖像,維度是 2048x7x7,并使用來(lái)表示 k 個(gè)局部圖像特征,而全局圖像特征則是局部特征的平均:?
局部圖像特征需要經(jīng)過(guò)轉(zhuǎn)換:
最終全局圖像特征將與 word embedding 拼接在一起成為 LSTM 的輸入:xt=[wt;vg] 局部圖像特征則用在了 attention 部分。
Experiment
Table 1 在 test splits 上對(duì)比了在 Flickr30k 和 MSCOCO 數(shù)據(jù)集上模型與其他模型的表現(xiàn),可以看到,模型的 Spatial Attention 部分就已經(jīng)比其他模型表現(xiàn)好了,而加入了 Adaptive Attention 部分以后表現(xiàn)更加出色。
Table 2 在 COCO server 上對(duì)比了模型與其他模型的表現(xiàn)可以看到,Adaptive Attention 模型(emsemble后)的表現(xiàn)是當(dāng)時(shí) SOTA 的結(jié)果。
Fig 4 是 Spatial Attention的權(quán)重 α 的可視化結(jié)果,前兩列是成功的樣本,最后一列是失敗的樣本。模型進(jìn)行 attention 的區(qū)域基本都是合理的,只是可能對(duì)一些物體的材質(zhì)判斷失誤。
Fig 5 主要是 sentinel gate 1?β 的可視化,對(duì)于視覺(jué)詞,模型給出的概率較大,即更傾向于關(guān)注圖像特征 ct,對(duì)于非視覺(jué)詞的概率則比較小。同時(shí),同一個(gè)詞在不同的上下文中的概率也是不一樣的。如"a",在一開(kāi)始的概率較高,因?yàn)殚_(kāi)始時(shí)沒(méi)有任何的語(yǔ)義信息可以依賴(lài)、以及需要確定單復(fù)數(shù)。
Fig 6 對(duì) COCO 和 Flickr30k 中詞典中的詞被認(rèn)為是視覺(jué)詞的平均概率進(jìn)行了排序,來(lái)看看模型能否分辨出視覺(jué)詞與非視覺(jué)詞,兩個(gè)數(shù)據(jù)集間的相關(guān)性為 0.483。其中:
1. 對(duì)于一些實(shí)際上是視覺(jué)詞,但是與其他詞有很大關(guān)聯(lián)性的詞,模型也會(huì)把它視為非視覺(jué)詞,如"phone"一般都跟在"cell"后面;
2. 不同數(shù)據(jù)集上不同的詞的概率不一樣,如"UNK",可能是由于訓(xùn)練數(shù)據(jù)分布的不同;
3. 對(duì)于一些有相近意義的同源詞,如"crossing", "cross", "crossed",他們的概率卻相差很大。(為什么?) 模型沒(méi)有依賴(lài)外部的語(yǔ)料信息,完全是自動(dòng)地發(fā)現(xiàn)這些趨勢(shì)。
Fig 11 顯示了使用弱監(jiān)督方法生成的 bounding box 與真實(shí) bounding box 的對(duì)比。本文是第一個(gè)使用這種方法來(lái)評(píng)估 image caption 的 attention 效果的。
具體生成方法是,對(duì)于某個(gè)單詞而言,先用 NLTK 將其映射到大類(lèi)上,如“boy”, “girl”映射到 people。然后圖像中 attention weight 小于閾值(每個(gè)單詞的閾值都不一樣)的部分就會(huì)被分割出來(lái),取分割后的最大連通分量來(lái)生成 bounding box。
并計(jì)算生成的和真實(shí) bounding box 的 IOU (intersection over union),對(duì)于 spatial attention 和 adaptive attention 模型,其平均定位準(zhǔn)確率分別為 0.362 和 0.373。說(shuō)明了,知道何時(shí)關(guān)注圖像,也能讓模型更清楚到底要去關(guān)注圖像的哪個(gè)部分。
Fig 7 顯示了 top 45 個(gè) COCO 數(shù)據(jù)集中出現(xiàn)最頻繁的詞的定位準(zhǔn)確性。對(duì)于一些體積較小的物體,其準(zhǔn)確率是比較低的,這是因?yàn)?attention map 是從 7x7 的 feature map 中直接放大的,而 7x7 的 feature map 并不能很好地包含這些小物體的信息。
Fig 8 顯示了單詞“of”在 spatial attention 和 adaptive attention 模型中的 attention map。如果沒(méi)有 visual sentinel,非視覺(jué)詞如“of”的 attention 就會(huì)高度集中在圖像的邊緣部分,可能會(huì)在反向傳播時(shí)形成噪聲影響訓(xùn)練。
總結(jié)
本文提出了 Adaptive Attention 機(jī)制,其模型公式都非常簡(jiǎn)單,Adaptive Attention 部分增加的幾個(gè)變量也非常簡(jiǎn)潔,但卻對(duì)模型的表現(xiàn)有了很大的提升。文章進(jìn)行的詳盡的實(shí)驗(yàn)又進(jìn)一步驗(yàn)證了 Adaptive Attention 的有效性,可謂非常巧妙。
相關(guān)鏈接
[1].?Show, Attend and Tell: Neural Image Caption Generation with Visual Attention
https://arxiv.org/abs/1502.03044
[2]. 筆誤
https://github.com/jiasenlu/AdaptiveAttention/issues/14
[3]. Neural Baby Talk
https://www.paperweekly.site/papers/1801
本文由 AI 學(xué)術(shù)社區(qū) PaperWeekly 精選推薦,社區(qū)目前已覆蓋自然語(yǔ)言處理、計(jì)算機(jī)視覺(jué)、人工智能、機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘和信息檢索等研究方向,點(diǎn)擊「閱讀原文」即刻加入社區(qū)!
點(diǎn)擊標(biāo)題查看更多論文解讀:?
??Tree-CNN:一招解決深度學(xué)習(xí)中的災(zāi)難性遺忘
??深度神經(jīng)網(wǎng)絡(luò)模型壓縮和加速都有哪些方法?
??新型網(wǎng)絡(luò)ROAD-Net:解決語(yǔ)義分割域適配問(wèn)題
??視覺(jué)跟蹤之端到端的光流相關(guān)濾波
超詳細(xì)解讀:神經(jīng)語(yǔ)義解析的結(jié)構(gòu)化表示學(xué)習(xí)
跨域社交推薦:如何透過(guò)用戶(hù)社交信息“猜你喜歡”?
▲?戳我查看招募詳情
#作 者 招 募#
讓你的文字被很多很多人看到,喜歡我們不如加入我們
? ? ? ? ? ?
關(guān)于PaperWeekly
PaperWeekly 是一個(gè)推薦、解讀、討論、報(bào)道人工智能前沿論文成果的學(xué)術(shù)平臺(tái)。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號(hào)后臺(tái)點(diǎn)擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
▽ 點(diǎn)擊 |?閱讀原文?| 查看作者博客
與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的自适应注意力机制在Image Caption中的应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 超详细解读:神经语义解析的结构化表示学习
- 下一篇: 线下报名 | NVIDIA JETSON