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