論文-《Visual Question Answering as Reading Comprehension Hui》筆記

論文下載

摘要:

Visual question answering (VQA) demands simultaneous comprehension of both the image visual content and natural language questions. In some cases, the reasoning needs the help ofcommon sense or general knowledge which usually appear in the form of text. Current methods jointly embed both the visual information and the textual feature into the same space. Nevertheless, how to model the complex interactions between the two different modalities is not an easy work. In contrast to struggling on multimodal feature fusion, in this paper, we propose to unify all the input information by natural language so as to convert VQA into a machine reading comprehension problem. With this transformation, our method not only can tackle VQA datasets that focus on observation based questions, but can also be naturally extended to handle knowledge-based VQA which requires to explore large-scale external knowledge base. It is a step towards being able to exploit large volumes oftext and natural language processing techniques to address VQA problem. Two types of models are proposed to deal with open-ended VQA and multiple-choice VQA respectively. We evaluate our models on three VQA benchmarks. The comparable performance with the state-of-the- art demonstrates the effectiveness ofthe proposed method.

         VQA需要同時理解圖片內容和自然語言問題,某些情況下還需要使用外部知識。當前的方法大多數都是將視覺信息和文本特徵在同一個空間中融合,這並不是一件容易的工作,因此,作者提出將所有的輸入信息通過自然語言表達,將VQA任務轉換成機器閱讀理解的問題。通過這種轉換,不僅可以處理VQA中目標檢測的問題,還可以處理需要大量外部知識庫的VQA數據集。這種方法可以利用大量的文本和自然語言處理技術來處理VQA問題。作者針對開放式VQA問題和多選擇式VQA問題提出了兩種不同的方法。在三個VQA基準進行評估,比較結果表明提出的這種方法具有高效性。

 

背景:

介紹:

        VQA是一個新興的問題,要求算法根據圖像回答自然語言問題,在計算機視覺和自然語言處理領域有着很好的應用前景。某種程度上來說,VQA和TQA任務很相近,但是VQA因爲引入了視覺信息變得更有挑戰性。

        大多數的VQA都使用CNN來表示圖像信息,使用RNN來表示句子或者段落,提取視覺和文本特徵向量通過串聯、逐元素求和或者點乘的融合嵌入方式推斷答案。Fukui等人指出這種方法過於簡單不能充分表示兩種不同模態之間複雜的關係,因此他們提出了MCB。如果把額外的知識用於推理,會變得更加複雜,因此Li等人提出一個將外部知識到記憶槽中,並通過DMN將外部知識和圖片、問題和答案特徵進行合併的方法。

        和圖像特徵相比,自然語言具有更高的抽象性和較全面的語義信息,因此兩種模態在文本領域進行融合,通過這種轉換,能更好地保留VQA關注地核心內容,使推理過程也更具有可解釋性。

主要貢獻:

1) We propose a new thought of solving VQA problem. Instead of integrating feature vectors from different modalities, we represent image content explicitly by natural language and solve VQA as reading comprehension. Thus we can resort to the abundant research results in NLP community to handle VQA problem. Using text and NLP techniques allows convenient access to higher-level information, and enables transfer learning from TQA to VQA models. Text data is more easier to be collected than images. Our method makes it possible to exploit large volumes of text in understanding images, actions, and commands. 將圖像內容通過自然語言表示,將VQA任務作爲閱讀理解。

2) Two types of VQA models are proposed to address the open-end VQA and the multiple-choice VQA respectively. Based on the converted text description and the attention mechanism used in the models, semantic level supporting facts can be retrieved from the context, which makes the answer inferring process human-readable. The proposed models show comparable performance with the state-of-the-art on three different types of VQA datasets, which demonstrates their feasibility and effectiveness. 提出兩種VQA模型分別處理開放式和多選擇式地VQA任務。

3) Most VQA methods cannot handle knowledge based VQA or have poor performance because of the complicated knowledge embedding. In contrast, our method can be easily extended to address knowledge based VQA.能夠更容易地處理需要外部知識地VQA任務。

 

相關工作:

聯合嵌入(Joint embedding):

        當前的方法大多數都是整合圖像和文本特徵,通常使用向量串聯、逐元素求和或者點乘,Fukui等人認爲該方法較簡單不能表示足夠的信息,提出了MCB,但是MCB首先需要將圖像和文本特徵映射到一個高維空間,再通過快速傅里葉變換進行逐元素點乘,之後MLB(Multimodal Low-rank Bilinear pooling)、MFB(Multimodal Factorized Bilinear pooling)和MRN(Multimodal Residual Networks)都相繼提出,做了一些改進,因此可以發現怎樣融合多模態信息式VQA任務的關鍵。

基於知識的VQA(Knowledge-based VQA):

        在NLP領域有一些利用語義分析或者信息檢索合並外部知識來回答問題的研究,但是這些都是基於文本特徵,當輸入換成了無結構的圖像特徵,就變得有些難度。目前有很多針對這些問題提出的解決辦法,但是都會有其它的問題產生,比如沒有結構化表示、應用受限制、容易引起同形異義詞的誤解等。因此,作者提出了一種更簡單的處理外部知識庫VQA任務的方法,就是在自然語言空間中整合圖像-問題-答案-事實元組,使用NLP中閱讀理解的技術進行處理。

文本問答(Textual Question Answering):

        TQA的目標是基於段落回答問題,是NLP領域的基石。由於使用端到端神經網絡和注意力機制,TQA在近幾年有了顯著的進步,例如DMN,r-net,DrQA,QANet,和最近出現的BERT,在解決VQA問題時,有很多固有的QA技術,比如注意力機制,DMN等。這裏作者基於QANet嘗試解決VQA問題。

 

VQA模型:

QANet:

        QANet是TQA中一個快速、準確的端到端模型,包含嵌入模塊(embedding block)、嵌入編碼器(embedding encoder)、語境-問題注意力模塊(context-query attention block)、模型編碼器(model encoder)和輸出層(output layer)。

        輸入嵌入模塊(Input Embedding Block):對文本和問題中的單詞嵌入成向量,每一個單詞的表示是單詞嵌入和特徵嵌入的串聯,這裏使用兩層高速網絡來獲取嵌入特徵。

        嵌入編碼器模塊(Embedding Encoder Block):由卷積層、自注意力層、前饋層和歸一化層組成,並採用深度可分離卷積提高記憶和泛化能力,採用多頭注意力機制對全局交互進行建模。

         語境-問題注意力模塊(Context-question Attention Block):用於提取更多內容和疑問詞之間的相關特徵,模型中包含語境-問題注意力(context-to-question attention)和問題-語境注意力(question-to-context attention)兩種注意力機制。

        模型編碼器模塊(Model Encoder Block):使用語境-問題注意力模塊的結果作爲輸入,與嵌入編碼器模塊共享參數。

        輸入層(Output Layer):根據模型編碼器的3次重複輸出,預測上下文每個位置是答案的概率。

 

開放VQA模型(Open-ended VQA model):

        除了QANet使用的基本模塊以外,還添加了另一個輸入預處理模塊,並修改了輸出模塊,以適應於開放式VQA:

        預處理模塊(pre-processing block)包含圖像描述模塊(image description module)和外部知識檢索模塊(external knowledge retrieval module)。

        圖像描述模塊的目的是通過文本段表示圖像信息,使用了Dense captions模型,對圖像內容提供一個精細的語義表示,從單個對象的屬性(顏色、形狀等)到對象之間的相互關係(空間位置等)。目前已有類似的工作,有的文獻中使用256個屬性詞彙作爲圖像表示,取得了比較好的效果。但是在這篇論文中作者使用了另一種語義信息方法,可以讓結果做得更好。將生成的區域字母組合在一起QANet的輸入,由於使用了自注意力,該模型在長期依賴編碼方面比通常使用的RNN做的要好。

        當VQA需要的知識超出了圖像範圍,就需要外部知識檢索模塊,需要從大範圍的知識庫中提取相關信息而忽略無關信息。這採用了關鍵字匹配技術(keyword matching technique),相比於啓發式匹配方法(heuristic matching approach),關鍵字匹配技術更不易受同形異義詞或者同義詞的影響,並能利用檢索到的所有知識作爲語境上下文。將圖像信息和檢索到的外部知識使用自然語言表示,再進行串聯,最後輸入到QANet中進行編碼,尋找語境上下文和問題的相關性,進行預測答案。

        輸出層也有特定的任務,如果答案包含在文本段中,可以繼續使用QANet定位答案出現的位置,然而,如果答案沒有明確的顯示在上下文中,例如通常很難判斷“when”“why”這種問題。爲了解決這個問題,作者提出將輸出層構建爲一個多類分類層,並根據三個模型編碼器的輸出特徵M0,M1,M2來進行預定義答案的概率預測。首先經過平均池化層,然後將得到的特徵向量串聯起來,投影到答案類別的輸出空間中,計算概率,最後使用交叉熵對模型進行訓練。

 

多選擇VQA模型(Multiple-choice VQA model Multiple-choice):

        可以根據開放式VQA模型的結果與代選項進行匹配,但是這種方法不能充分利用所提供的信息,因此作者做了一些改進,提出了多選擇VQA模型。

        除了問題和圖像描述,模型將候選答案也作爲輸入,計算候選答案和語境上下文的交互性。之後在串聯的特徵上使用多層感知機(MLP)進行訓練。第一層使用概率爲0.5的dropout,再使用sigmoid函數將特徵轉換爲概率,最後使用二元邏輯損失對模型進行訓練。

        和開放式VQA模型選取頻率最高的答案去掉出現較少的答案相比,多選擇VQA模型直接對候選答案進行編碼,答案範圍更廣,另外,對於比較相似的答案,多選擇VQA模型可以通過嵌入和編碼來學習相似語句的相似度,此外,它避免了將相似答案作爲不同的類進行學習。

 

實驗(Experiments):

數據集(Datasets):

        FVQA(基於事實的VQA)不僅提供了圖像-問題-答案的元組,也對每個視覺概念收集了外部知識,提取比較重要的視覺概念,從DBPedia,ConceptNet,We- bChild中進行查詢並構建了一個大型的知識庫。

        Visual Genome是一個有着豐富的圖片和語言的數據集,包含了108077張圖片和1445233個問題答案對。

        Visual7W是Visual Genome的一個子集,專門針對於VQA任務,包含了47300張圖片和139868個問題答案對。

實驗細節(Implementation Details FVQA):

        FVQA需要使用外部知識,這裏作者提出使用QQ映射法(question-to- query(QQ) mapping method),所有的事實信息都合併到一個段落裏。QANet使用默認參數直接預測答案在段落中的位置,並進行微調,預訓練使用SQuAD數據集。該模型前10個epoch使用0.001的學習率,後面10個0.0001。

        Visual Genome提供了區域描述的真值,作者重新訓練了模型,選取前5000個頻率最高的答案作爲開放式VQA模型的分類標籤,爲了快速訓練,限制段落長度爲500個單詞,並在編碼模塊使用4個attention head。模型使用ADAM進行優化,初始學習率爲0.001,後邊每3個epoch衰減0.8直到降爲0.0001。

        Visual7W爲每個問題提供了多個選項的答案,通常訓練在多選項VQA模型中。

FVQA的結果分析(Results Analysis on FVQA):

         作者使用答案准確度來評估模型,如果預測值能匹配上相應的正確答案,則認爲預測是正確的。        

       下面是一些該模型在FVQA數據集的例子。

Visual Genome結果分析(Results Anslysis on Visual Genome QA (VGQA)):

        該模型在使用真值描述時獲得了最佳性能,模型在“5W”上表現都不錯,除了“What”以外,其中“Who”性能最好。這是因爲回答“What”類型的問題主要考慮圖像描述,而該模型主要考慮的是圖像狀態。

        這裏作者進行了簡化實驗來探究段落長度對實驗結果的影響,可以發現隨着長度的上升,準確率提升,但是計算速度會大大降低,因此折中取長度爲500。

Visual7W結果分析(Results Analysis on Visual7W):

        結果表明在真值描述性能較好,具體來說在“Who”類型問題中表現較好,“What”和“How”類型問題中性能相當,而在“When”和“Why”類型的問題性能不太好,這是因爲這種問題在文本信息內描述較少。

        下圖是多選擇VQA模型的一些例子。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章