1. 程式人生 > 實用技巧 >論文小綜 | Using External Knowledge on VQA

論文小綜 | Using External Knowledge on VQA

本文轉載自公眾號:浙大KG。


本文作者:陳卓,浙江大學在讀博士,主要研究方向為圖神經網路和知識圖譜表示學習

我們生活在一個多模態的世界中。視覺的捕捉與理解,知識的學習與感知,語言的交流與表達,諸多方面的資訊促進著我們對於世界的認知。作為多模態領域一個典型的場景,VQA(視覺問答)顧名思義,也就是結合視覺的資訊來回答所提出的問題。其於15年首次被提出[1],涉及的方法從最開始的聯合編碼,到雙線性融合,注意力機制,組合模型,場景圖,再到引入外部知識,進行知識推理,以及使用圖網路,近年來取得了長足發展。

傳統的VQA僅憑藉視覺與語言資訊的組合來回答問題,而近年來許多研究者開始探索外部資訊對於解決VQA任務的重要性。

如上圖所示,這裡的VQA pair中,要回答問題“地面上的紅色物體能用來做什麼”,要想做出正確的回答“滅火”,所依靠的資訊不僅來源於圖片上所識別出的“消防栓”,還必須考慮到來自外部的事實(知識)“消防栓能滅火”作為支撐。這就是一個典型的VQA上應用外部知識的場景。

接下來我將按時間順序結合5篇論文簡述在VQA上應用外部知識的方法,做相應的梳理。

Ask Me Anything: Free-Form Visual Question Answering Based on Knowledge From ExternalSources

發表會議:CVPR 2016

論文連結:https://www.cv-foundation.org/openaccess/content_cvpr_2016/html/Wu_Ask_Me_Anything_CVPR_2016_paper.html

推理與知識的實際儲存進行分離是基於外部知識VQA相關論文所持的觀點。該論文核心思想是將自動生成的影象描述與外部的Knowledge bases融合,以實現對問題的預測。其中生成影象描述的方法借鑑了同年作者發表的了一篇文章[5]:給定一張影象,先預測影象中各種屬性,然後再將這些屬性代替之前的 CNN 影象特徵,輸入到 RNN 當中生成語句。這個簡單的操作使他們的影象標註模型在當年 COCO影象標註大賽上排名第一。新增中介屬性減小雙模態鴻溝的方法,也用在了本文中。

對於一個給定的V-Q pair,首先用CNN提取圖片特徵屬性,然後利用這些檢測到的屬性,使用sparql查詢語句從knowledge base比如DBpedia中提取出影象相關描述的一個段落,利用Doc2Vec對這些段落編碼。同時,根據圖片特徵屬性使用Sota的image caption方法形成影象對應的段落特徵表達。

最後將上面兩種資訊以及編碼的屬性結合在一起並輸入作為一個Seq2Seq模型的初始初始狀態,同時將問題編碼作為LSTM的輸入,利用最大似然方法處理代價函式,預測答案。

該方法的可解釋性相對於端到端的模型而言強了許多,這也是後續許多模型採用的思想,即各種特徵融合到一起然後丟到一個遞迴網路例如LSTM中。最後在COCO-QA資料集上取得了Sota效果。

FVQA: Fact-Based Visual Question Answering

發表會議:TPAMI 2018

論文連結:https://ieeexplore.ieee.org/abstract/document/8046084

既然knowledge 和 reasoning 對 VQA 都很重要,那麼就可以考慮將它們兩個結合在一起,進行顯示推理。和以往直接把影象加問題直接對映到答案不同,作者提出的Ahab[3]模型的答案是可追溯的,就是通過查詢語句在KG中的搜尋路徑可以得到一個顯式的邏輯鏈。這也是一種全新的能夠進行顯式推理的 VQA 模型。並且,他們提出了一種涉及外部知識的VQA任務。它首先會通過解析將問題對映到一個 KB 查詢語句從而能夠接入到已有知識庫中。同時將提取的視覺概念(左側)的圖連結到DBpedia(右側)裡面,如下圖所示。

同期發表的FVQA是對其的改進和梳理,並且貢獻了這方面很重要的資料集:除了一般的圖片、問題、回答以外,這個資料集還提供了支撐這一回答的事實Facts事實集合(參考資料來源於DBpedia, Conceptnet, WebChild三個資料庫),共包括4216個fact。某種意義上來說,該資料集是基於fact去針對性構建的。具體如下:

在實際的資料中,fact以關係三元組的形式表示,其中的relationship使用來自於資料庫中已有的定義。

模型的第一部分和ahab類似,檢測影象中的視覺概念,然後將他們與知識庫對齊並連線到subgraph中。第二步將自然語言式的問題對映到一個查詢型別,然後相應地確定關鍵的關係型別,視覺概念和答案源。再根據上面的資訊構建一個特殊的查詢會去請求上一步當中建立好的圖,找到所有滿足條件的事實。最後通過關鍵詞篩選得到對應問題的答案。

OK-VQA: A VisualQuestion Answering Benchmark Requiring External Knowledge

發表會議:CVPR 2019

論文連結:https://openaccess.thecvf.com/content_CVPR_2019/html/Marino_OK-VQA_A_Visual_Question_Answering_Benchmark_Requiring_External_Knowledge_CVPR_2019_paper.html

該文章[6]的問題背景是,對於已有的小部分需要外部知識的資料集,依賴於結構化知識(例如上文提到的FVQA)。而已有的VQA資料集,問題難度普遍不高,標準VQA資料集,超過78%的問題能夠被十歲以下兒童回答。

於是,作者提出並構建了一個(最)大規模的需要外部知識的資料集( Outside Knowledge VQA ),並且在OK-VQA資料集上就目前最好的VQA模型提供了benchmark實驗。與此同時,提出了一種ArticleNet的方法,可以處理網際網路上的非結構化資料來輔助回答其中的問題。

資料集大小和對比如下:

因為標準VQA資料集質量不高(難度低),所以作者自行請MTurk工人,從COCO資料集中進行了資料採集、問題蒐集、問題質量篩選、問題回答。同時通過過濾操作,降低了bias的影響,減少文字對於某些回答的偏差(如 Is there ...)。同時考慮了長尾效應。就資料分類而言,劃分了10+1(other)個類別,保證問題型別的互斥。

圖片場景覆蓋了COCO總共的365個場景中的350.。保證了覆蓋率和分佈的合理性。

就ArticleNet模型而言,其分為三步:(1)從圖片(pre-trained+ scene classifiers)和問題pair中搜集關鍵字,並組合成可能的query (2)使用wiki的API進行檢索,獲得排名最高的幾個文章。(3)基於query 的單詞在這幾篇文章中得到最有可能的句子。(4)【可選】從句子中得到最有可能的詞作為答案。

ArticleNet模型可以與許多已有的VQA模型進行拼接以提升模型在外部知識VQA場景下效能。作者進行了相應實驗:

其中ArticleNet的結合方法是將sentence與具體模型中某一層的輸出向量進行一個向量拼接,以捕獲外部資訊。ArticleNet單獨作用的方法可能一般(依賴於網際網路資料,比較死板),但是如何和其他模型結合e.g. mutan、ban(end-2-end),效果都會有提升。同時其並不是和VQA模型一起訓練,可以單獨訓練。如下是ArticleNet在其中起作用的例子:

Out of the Box: Reasoning with Graph Convolution Nets for Factual Visual Question Answering

發表會議:NeurIPS 2020

論文連結:http://papers.nips.cc/paper/7531-out-of-the-box-reasoning-with-graph-convolution-nets-for-factual-visual-question-answering

前文提出的方法大多類似於組合模型。此外,近幾年也有涉及到圖來解決外部知識VQA問題的方法[7]。

該文章的作者基於FVQA資料集,把之前深度網路篩選事實的這一訓練過程用圖卷積網路代替,成為一個端到端的推理系統,用於具有知識庫的視覺問題解答。

一共分為七個步驟,給定影象和問題,首先使用相似性評分技術根據影象和問題從事實空間獲得相關事實。使用LSTM模型從問題預測關係,篩選fact來進一步減少相關事實及其實體的集合。然後分別進行影象視覺概念提取,問題的LSTM嵌入,以及事實片語的的LSTM嵌入,將影象的視覺概念multi-hot向量和問題的lstm嵌入向量組合,並與每一個實體的LSTM嵌入拼接,作為一個實體的特徵表示,同時也是作為GCN模型裡圖上的一個節點。圖中的邊代表實體之間的關係。最後將GCN輸出的每一個實體節點特徵向量作為多層感知機二元分類模型的輸入,最後輸出的結果通過argmax得到最終的決策結果。

模型在雙層GCN以及top3 relation的設定下,超過了FVQA的方法大概10%。(58.7%->69.3),結果如下:

Mucko: Multi-Layer Cross-Modal Knowledge Reasoning for Fact-based Visual Question Answering

發表會議:IJCAI 2020

論文連結:https://arxiv.org/pdf/2006.09073

作者對比了前人的工作,一個方向是將問題轉化成關鍵詞,然後在候選事實中根據關鍵詞匹配檢索出對應的支撐事實的pineline方式,比如前文所提的FVQA,但是如果視覺概念沒有被問題完全提及(比如同義詞和同形異義詞)或者事實圖中未捕獲提及的資訊(比如它問紅色的柱子是什麼,卻沒有提到消防栓),那這類方法就會因為匹配而產生誤差。另一個方向將視覺資訊引入到知識圖中,通過GCN推匯出答案,就比如前文提到的out of the box模型。雖然解決了上面的問題但是每個節點都引入了相同且全部的視覺資訊,而只有一部分的視覺資訊和當前節點是相關的,這樣會引入噪聲。並且每個節點都是固定形式的的視覺-問題-實體的嵌入表示,這使得模型無法靈活地從不同模態中捕獲線索。而本文[8]則較好地解決了上述問題。

文章的出發點是將影象表示成一個多模態的異構圖,其中包含來自不同模態三個層次的資訊(分別是視覺圖、語義圖和事實圖),來互相補充和增強VQA任務的資訊。具體來說,視覺圖包含了影象中的物體及其位置關係的表示,語義圖包含了用於銜接視覺和知識的高層語義資訊,事實圖則包含影象對應的外部知識,它的構造思想參考了out of the box 模型。

然後進行每個模態內的知識選擇:在問題的引導下確定每個節點和邊在內部圖卷積過程中的分數權重佔比,然後進行常規的update操作。也就是說在跨模態之前,先獨立選擇單個模態內有價值的證據,讓和問題相關性強的節點及邊,在圖內部卷積過程中佔更大的權重。這三個模態內部的卷積操作都是相同的,只是節點和邊的表示不同。

最後,跨模態的知識推理是基於part2模態內的知識選擇的結果。考慮到資訊的模糊性,不同圖很難顯式地對齊,所以作者採用一種隱式的基於注意力機制的異構圖卷積網路方法來關聯不同模態的資訊,從不同層的圖中自適應地收集互補線索並進行匯聚。包括視覺到事實的卷積和語義到事實的卷積。比如視覺到事實的卷積場景中,對於事實圖中的每個節點vi,計算視覺圖中每個節點vj和它在問題引導下的相似度注意力分數,越互補的節點它的相似度分數就越高,然後根據這個分數對視覺圖加權求和,得到事實圖中每個節點來自視覺圖層的事實互補資訊。

分別迭代地執行Part2模態內的知識選擇和Part3跨模態的知識推理,執行多個step可以獲得最終的fact實體表示,並將其傳到一個二元分類器,輸出概率最高的實體當做預測的答案。

模型在三個資料集上驗證了實驗結果。該模型在FVQA上表現很好:

另外一個數據集Visual7W KB也和FVQA類似,問題是直接根據Conceptnet生成的。不同點在於他不提供fact。可以看到結果也明顯好於Sota。

第三個資料集OK-VQA比較特殊,沒有知識庫作為參考,知識跨度大難度高,sota只有30%不到。該模型在其上表現的不太好,不過還是比Sota要高大概0.7%。原因猜測是光憑藉單一的外部知識庫可能不足以對ok-vqa達到較大提升,所以ok-vqa問題在未來實際上還有很大的提升空間。

該模型另外一個優點是結果具有比較好的解釋性。上圖是FVQA資料下測試的結果。把fact graph中最重要fact所對應的top2視覺和語義物件節點,用虛線連線,虛線上的值表示了跨模態卷積中不同層哪些節點對結果影響重要性更大,結果比較直觀。熱力條根據最後特徵融合時的gate值得到,密度越大則代表對應位置通道的重要性越高。可以發現,在大多數的情況下事實資訊會更重要,也就是密度最大。因為FVQA中97.3%的問題都是需要額外知識才能回答的。而密度第二大的區域往往會由問題的型別決定是視覺更重要還是問題更重要。比如第二個圖中問題裡面的hold by這個詞無法在圖片中具體體現,所以所以語義資訊的佔比會更大一些。而第一個圖的話則視覺資訊佔比更大。

總而言之,形形色色的方法各有千秋。在實際應用中,可以根據不同方法的優劣和實際場景的條件選擇合適的VQA模型。目前來說解決VQA問題主要方向主要是三個大方向(改善模型對於文字與影象的表達能力,可解釋性與視覺推理,外部知識),其中KG而言在這三個方向中都有涉及。起到的作用分別對應於:用圖網路來捕捉資訊聯絡,通過三元組來提供與描述事實並進行解釋與答案追溯,以及引入外部語料庫,組織實體關係和spaql查詢語句。

當然,未來還有許多潛在的方法和應用等待挖掘,歡迎大家補充和交流。

參考文獻

[1] Stanislaw Antol, Aishwarya Agrawal, et al. VQA: Visual Question Answering. ICCV 2015: 2425-2433

[2] Wu Q, et al. Ask me anything: Free-form visual question answering based on knowledge from external sources. CVPR. 2016

[3]Wang P, Wu Q, Shen C, et al.Explicit Knowledge-based Reasoning for Visual Question Answering. IJCAI 2017: 1290-1296

[4] Wang P, Wu Q, Shen C, et al.FVQA: Fact-Based Visual Question Answering. IEEE Trans. Pattern Anal. Mach. Intell. 40(10): 2413-2427 (2018)

[5]Wu Q, Shen C, Liu L, et al. What value do explicit high level concepts have in vision to language problems? . CVPR. 2016

[6]Marino K, Rastegari M, Farhadi A, et al. OK-VQA: A Visual Question Answering Benchmark Requiring External Knowledge. CVPR 2019: 3195-3204

[7]Narasimhan M, Lazebnik S, Schwing A. Out of the box: Reasoning with graph convolution nets for factual visual question answering. NIPS. 2018

[8]Zhu Z, Yu J, Wang Y, et al.Mucko: Multi-Layer Cross-Modal Knowledge Reasoning for Fact-based Visual Question Answering. IJCAI. 2020


浙江大學知識引擎實驗室



OpenKG

開放知識圖譜(簡稱 OpenKG)旨在促進中文知識圖譜資料的開放與互聯,促進知識圖譜和語義技術的普及和廣泛應用。

點選閱讀原文,進入 OpenKG 部落格。