论文浅尝 | 利用推理链进行视觉问题回答
論文筆記整理:吳楊,浙江大學(xué)計(jì)算機(jī)學(xué)院,知識(shí)圖譜、NLP方向。
http://papers.nips.cc/paper/7311-chain-of-reasoning-for-visual-question-answering.pdf
動(dòng)機(jī)
?? 在視覺(jué)問(wèn)題回答中,較為復(fù)雜的問(wèn)題經(jīng)常需要多步驟的推理才能夠回答,比如說(shuō)“What isplaced next to the bus on the right of the picture?”這樣的問(wèn)題,我們需要先根據(jù)(bus, on theright of, picture)這組關(guān)系找到bus on the right這個(gè)復(fù)合物體,然后繼續(xù)去尋找next to [buson the right]這個(gè)物體最終來(lái)解決這個(gè)問(wèn)題。而本文則提出了一個(gè)VQA的推理鏈(Chain of Reasoning, CoR),能夠充分利用圖片和問(wèn)句的信息對(duì)復(fù)雜問(wèn)題中的關(guān)系和復(fù)合物體的尋找,并取得了非常好的效果。本文的主要貢獻(xiàn)在于:
提出了 VQA 推理鏈方法,能夠動(dòng)態(tài)的產(chǎn)生新的關(guān)系和復(fù)合物體以對(duì)問(wèn)題進(jìn)行推理
在 4 中主要的數(shù)據(jù)集上都產(chǎn)生了state-of-art的效果。
對(duì)CoR的中間過(guò)程產(chǎn)生的復(fù)合物體進(jìn)行了可視化
方法
(1) 概述
VQA 的一種通用解法是將圖片和問(wèn)題映射到同一個(gè)向量空間后使用element-wise 乘法或者 MLP 等等轉(zhuǎn)化成分類問(wèn)題。本文的過(guò)程也是這樣。圖片經(jīng)過(guò)RCNN轉(zhuǎn)化為m個(gè)初始物體的向量表示之后,我們將這些物體兩兩組合起來(lái),就可以獲得m*m個(gè)關(guān)系的向量表示,然后利用問(wèn)題的embedding從這m*m個(gè)關(guān)系向量中,產(chǎn)生出新一輪的m個(gè)復(fù)合物體,這樣一直循環(huán)下去最終得到問(wèn)題的答案表示的那個(gè)復(fù)合物體。也就是說(shuō),本文和常規(guī)的想辦法將問(wèn)題解構(gòu)成簡(jiǎn)單問(wèn)題的思路不同,反而是將已有的可能是答案的物體進(jìn)行組合,再用問(wèn)題去挑選和進(jìn)一步組合這些物體。
(2) Data Embedding 部分:
? 將問(wèn)題通過(guò)GRU轉(zhuǎn)化成為維度的向量。將圖片通過(guò)RCNN轉(zhuǎn)化為維度的向量,其中V中保存著m個(gè)初始物體的向量表示
(3) CoR 部分:
? 第一步:產(chǎn)生Attention和本輪輸出:?
? 將圖片轉(zhuǎn)成的向量V作為第一輪CoR的復(fù)合物體(橘黃色部分),將其向量映射到Ds維度,將問(wèn)題向量映射到Dp維度,然后分別采用2個(gè)變換矩陣將他們映射到同一維度Df,并使用element-wise乘法乘起來(lái)產(chǎn)生m維Df的向量(紫紅色部分),上述過(guò)程重復(fù)K次,(Mutan方法)對(duì)得到的紫紅色向量加到一起,經(jīng)過(guò)MLP最終產(chǎn)生m維的attention(黑白灰3維部分)。總的來(lái)說(shuō),本步驟的目的是計(jì)算問(wèn)題對(duì)復(fù)合物體的Attention。并準(zhǔn)備產(chǎn)生m*m個(gè)關(guān)系embedding。最后,用這個(gè)Attention對(duì)復(fù)合物體進(jìn)行操作就可以產(chǎn)生本輪的輸出了。其中各部分的公式表示如下:
?其中,Pt,St表示初步把問(wèn)題和復(fù)合物體轉(zhuǎn)化到的embedding。Ft表示將他們映射到同一維度并進(jìn)行element-wise產(chǎn)生紫紅色節(jié)點(diǎn)的部分。At表示獲得的Attention,Ot表示本輪的輸出。
?? 第二步:產(chǎn)生m*m個(gè)關(guān)系的embedding:
?? 這一步中,我們首先將問(wèn)題轉(zhuǎn)化成為兩個(gè)向量(黑白灰很長(zhǎng)的向量),然后分別用該向量對(duì)m個(gè)復(fù)合物體進(jìn)行element-wise相乘,并將第一個(gè)作為關(guān)系向量的m*1維行向量,第二個(gè)作為1*m維列向量,將這兩個(gè)向量對(duì)應(yīng)項(xiàng)相加合并成為m*m維向量作為關(guān)系向量(金黃色的部分)。涉及的公式如下:
? 其中Gl為第一個(gè)問(wèn)題向量,Gr為第二個(gè)問(wèn)題向量,Rij為最終的m*m維關(guān)系向量。?????????????
? 第三步:產(chǎn)生新的m個(gè)復(fù)合物體embedding:
??利用第一步得到的Attention,對(duì)產(chǎn)生的m*m維關(guān)系向量進(jìn)行操作得到新的m個(gè)復(fù)合物體(這里論文原本打算直接保留m*m個(gè)向量送到下一輪,但是這樣會(huì)導(dǎo)致復(fù)雜度成指數(shù)級(jí)上升)涉及到的公式為:
(4) 決策部分:
? 對(duì)于CoR部分產(chǎn)生的T個(gè)輸出向量Ot,我們將之連接起來(lái)成為新的長(zhǎng)向量,再將之和問(wèn)題映射到同一維度,進(jìn)行Element-wise乘法,最后經(jīng)過(guò)矩陣變換+softmax成為最終每個(gè)類別的概率。涉及的公式如下:
?這里的O*表示長(zhǎng)向量,H表示Element-Wise得到的向量,a表示最終的概率向量。
(4) 訓(xùn)練部分:
??訓(xùn)練的時(shí)候,主要是確定訓(xùn)練集的概率向量。如果對(duì)于一個(gè)Q對(duì)應(yīng)一個(gè)A的訓(xùn)練集,顯然我們?nèi)?/span>A那一維度的值為1,其它都取0即可。但VQA數(shù)據(jù)集的答案是由多個(gè)人標(biāo)記的。標(biāo)記的結(jié)果可能不同。因此需要平均一下:
? 對(duì)于最終的loss我們用K-L散度計(jì)算:
實(shí)驗(yàn)
(1) 在各數(shù)據(jù)集上取得的成果:
從上表中可以看出,在幾乎所有的數(shù)據(jù)集上,模型都有提升,有些問(wèn)題類型的提升不是很明顯,但在Color和Num這兩類問(wèn)題的提升較大,有將近6個(gè)百分點(diǎn)。
(2) 可視化:
? 這一部分中,本文對(duì)CoR過(guò)程中產(chǎn)生的復(fù)合物體進(jìn)行了可視化,可視化的方法是遍歷1105904×36個(gè)方框,并對(duì)方框中圖片的內(nèi)容計(jì)算其與復(fù)合物體的相似度。其中紅色方框和藍(lán)色方框分別是Attention中權(quán)重最大的兩個(gè)復(fù)合物體
其中前三個(gè)問(wèn)題都得到了很好的回答,而且復(fù)合物體尋找也是正確的,最后一個(gè)判斷錯(cuò)誤的原因可能是因?yàn)樵搯?wèn)題太復(fù)雜,而CoR的跳數(shù)在本文中取了3跳。可能無(wú)法解決該問(wèn)題。
總結(jié)
本文提出了VQA系統(tǒng)中利用推理鏈CoR解決多跳推理問(wèn)題的方法,通過(guò)將圖片中的物體進(jìn)行多步的組合形成復(fù)雜的物體,并利用問(wèn)題對(duì)這些物體進(jìn)行選擇和重新組合,最終取得答案需要的那些物體從而解決問(wèn)題的方法。
?
OpenKG
開(kāi)放知識(shí)圖譜(簡(jiǎn)稱 OpenKG)旨在促進(jìn)中文知識(shí)圖譜數(shù)據(jù)的開(kāi)放與互聯(lián),促進(jìn)知識(shí)圖譜和語(yǔ)義技術(shù)的普及和廣泛應(yīng)用。
點(diǎn)擊閱讀原文,進(jìn)入 OpenKG 博客。
總結(jié)
以上是生活随笔為你收集整理的论文浅尝 | 利用推理链进行视觉问题回答的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2019最全BAT资深Java面试题答案
- 下一篇: 论文浅尝 - ACL2020 | 用于回