Visual Question Answering as Reading Comprehension論文筆記

Abstract

視覺問答(VQA)要求同時理解圖像視覺內容和自然語言問題。在某些情況下,推理需要常識或一般知識的幫助,這些知識通常以文本的形式出現。當前的方法將視覺信息和文本特徵共同嵌入到同一空間中。然而,如何模擬兩種不同模式之間複雜的相互作用並不容易。與多模態特徵融合的努力相反,本文提出用自然語言統一所有輸入信息,從而將VQA問題轉化爲機器閱讀理解問題。通過這種轉換,不僅可以處理側重於基於觀察的問題的VQA數據集,還可以自然地擴展到處理需要探索大規模外部知識庫的基於知識的VQA數據集。這是朝着能夠利用大量文本和自然語言處理技術來解決VQA問題邁出的一步。針對開放式VQA和多項選擇VQA,提出了兩種模型。我們在三個VQA基準上評估我們的模型。與現有技術的性能對比證明了該方法的有效性。

1. Introduction

作者認爲在某種程度上,VQA與文本問答任務(TQA,也稱爲機器閱讀理解)密切相關,它要求機器根據給定的文本段落回答問題。TQA的輸入都是純文本,而VQA必須將圖像的視覺信息與問題的文本內容結合起來。一方面,圖像比文本具有更高的維度,缺乏語言的結構和語法規則,增加了語義分析的難度。另一方面,該算法必須聯合嵌入來自兩種不同形式的視覺和文本信息。

不同於探索高維和噪聲的圖像特徵來推斷答案,作者採用自然語言來明確地表達圖像。與圖像特徵相比,自然語言代表了更高層次的抽象,並且充滿語義信息。通過這種轉換,所有輸入都被轉換成文本,避免了圖像和文本特徵共同嵌入到隱藏空間中。相反,多模態融合是在文本域中進行的,這對於明確地保留語義信息更好,這是VQA的核心關注點。此外,通常由文本描述的外部知識可以很容易地集成到模型中。通過在文本領域中使用注意機制,所提出的模型能夠提供語義級(即文本)支持事實,從而使推理過程更具可解釋性.

作者的貢獻如下:

  • 提出瞭解決VQA問題的新思路。沒有整合來自不同模態的特徵向量,而是用自然語言明確地表示圖像內容,並將VQA作爲閱讀理解來解決。因此,可以藉助NLP社區豐富的研究成果來處理VQA問題。使用文本和自然語言處理技術可以方便地獲取更高層次的信息,並使學習從TQA模式轉移到VQA模式成爲可能。文本數據比圖像更容易收集。可以利用大量文本來理解圖像、動作和命令。
  • 提出了兩種類型的VQA模型來分別解決開放式VQA和多選擇VQA問題。基於轉換後的文本描述和模型中使用的注意機制,可以從上下文中檢索支持事實的語義層,這使得答案推斷過程是人類可讀的。所提出的模型在三種不同類型的VQA數據集上顯示了與當前技術水平相當的性能,證明了它們的可行性和有效性。
  • 大多數VQA方法不能處理基於VQA的知識,或者由於複雜的知識嵌入而性能較差。相比之下,作者的方法可以很容易地擴展到基於知識的VQA。

2、Related Work

2.1. Joint embedding

目前的VQA的方法中,如何融合多模態特徵起着重要的作用,比如Hadamard product或者採用快捷方式和聯合剩餘映射來學習多模態交互。作者直接用文本來描述視覺信息,將輸入信息預先統一在文本域中。

2.2. Knowledge-based VQA

在NLP社區中,有一些關於利用語義解析或信息檢索來回答包含外部知識的問題的研究。它們都是基於文本特徵的。由於非結構化的視覺輸入,將這些方法擴展到基於知識的VQA並非易事。

提出將圖像表示與從通用知識庫中提取的額外信息結合起來,根據預測的VQA圖像屬性。該方法可以回答圖像以外的問題,但提取的知識是離散的文本片段,沒有結構表示。使用資源描述框架知識庫上的顯式推理來推導答案。但是該方法在很大程度上依賴於預先定義的模板,這限制了它的應用。引入了“基於事實的VQA (Factbased VQA, FVQA)”問題,提出了一種基於語義分析的支持事實檢索的方法。計算匹配分數,以獲得最相關的支持事實和最終答案。這種方法容易引起同義詞和同形異義詞的誤解。爲FVQA開發了一種基於學習的方法,該方法將事實和問題-圖像對的參數映射學習到允許評估其兼容性的嵌入空間。特徵被連接到圖像-問題-答案-事實元組上。利用DMN來吸收外部知識。

對於基於知識的VQA,作者的方法更加直觀。將圖像視覺信息表示爲文本,將圖像-問答-事實元組統一到自然語言空間中,並利用自然語言處理中的閱讀理解技術進行處理。

2.3. Textual Question Answering

文本問答(也稱爲閱讀理解)的目的是根據給定的段落回答問題。它是NLP領域評估算法理解人類語言能力的一個典型基石。由於使用了端到端神經網絡模型和注意力機制,如DMN[16]、r-net[30]、DrQA[6]、QANet[36],以及最近的BERT[7],在過去幾年中已經取得了重大進展。在解決VQA問題中,已經應用了許多質量保證技術,如注意機制、DMN等。在這項工作中,我們試圖解決建立在QANet上的VQA問題。

3. VQA Models

作者的方法是建立在新提出的用於TQA問題的QANet上。首先概述VQA模型中使用的QANet及其模塊。在此基礎上,分別提出了兩種模型來解決開放式和選擇題式的VQA問題。

3.1. QANet

QANet是一種快速、準確的TQA端到端模型。它由嵌入塊、嵌入編碼器、上下文查詢注意塊、模型編碼器和輸出層組成。它的編碼器完全由卷積和自我注意組成,而不是使用RNNs來處理連續的文本。接下來是上下文問題注意層,以瞭解它們之間的交互作用。結果特徵再次編碼,最後解碼到上下文中的應答位置。

Input Embedding Block:此模塊用於將上下文中的每個單詞和問題嵌入到一個向量中。對於每個單詞,表示爲單詞嵌入和字符嵌入的串聯。採用雙層公路網進行嵌入特徵提取。

Embedding Encoder Block: 它是卷積層、自關注層、前饋層和歸一化層的堆棧。爲了提高記憶和泛化能力,採用深度可分卷積。採用多頭注意機制對全局交互進行建模。

 

Context-question Attention Block:它的目的是提取上下文和疑問詞之間最相關的特徵。模型中構造了情景-問題注意和問題-上下文注意。將CQ分別定義爲編碼後的上下文和問題特徵,其中C=\{c_1,c_2,\dots,c_n\}代表n個單詞,Q=\{q_1,q_2,\dots,q_m\}代表m個單詞。上下文對應於問題的注意力矩陣定義爲A = \overline{S}\cdot Q^T,其中S是上下文和問題中每一對單詞的相似度矩陣,然後\overline{S}定義爲在每一行上應用softmax對S進行正態化。問題對應於上下文的注意力定義爲B = \overline{S}\cdot \overline{\overline{S}}^T\cdot C^T,然後\overline{\overline{S}}定義爲在每一列上應用softmax對S進行正態化。計算相似度的函數f(g,c)=W_0[q,c,q\odot c],其中\odot定義爲q和c中的元素進行相乘。W_0是需要學習的權重。

Model Encoder Block:這個模塊將[c,a,c\odot a,a\odot c]作爲輸入,其中a,b分別是注意力矩陣A,B的某一行。它與嵌入編碼器塊共享參數。

Output Layer:輸出層根據模型編碼器3次重複的輸出,預測上下文中每個位置是答案的開始或結束位置的概率。

3.2. Open-ended VQA model 

考慮到不同範圍的語義視覺信息可以用自然語言來描述,作者試圖將圖像完全轉換成一個描述性段落,以便爲語義問題保留儘可能多的語義信息。由於所有輸入都統一在文本域中,該方法避免了隱藏空間中多模態特徵融合的挑戰性任務,可以直接擴展到處理基於知識的VQA問題。除了在QANet中使用的基本模塊之外,我們還添加了另一個輸入預處理模塊,並修改了開放式VQA的輸出模塊。

根據任務,輸入預處理塊可以包括圖像描述模塊或/和外部知識檢索模塊。圖像描述模塊旨在通過文本段落來表示圖像信息。密集字幕爲圖像內容提供了更高級別的語義表示,範圍從單個對象的狀態(顏色、形狀、動作等)開始。)到對象之間的關係(空間位置等),所以我們推斷它們包含了VQA所要求的大多數支持性視覺信息。此外,密集的字幕結果甚至比一些離散的屬性標籤更豐富,結果更好。生成的區域標題被組合在一起作爲QANet的圖像描述。由於使用了自我注意,該模型在編碼長期依賴性方面比VQA普遍採用的神經網絡更有效。 

對於需要圖像以外的輔助知識的VQA,需要一個支持事實的檢索模塊。要求從一般的大規模知識庫中提取相關的支持事實,而忽略不相關的事實。使用所有檢索到的候選支持事實作爲上下文,而不是應用易受同形詞和同義詞影響的啓發式匹配方法。因爲圖像描述和支持事實都是用自然語言表達的,所以它們可以通過拼接很容易地融合在一起。然後,問答網絡將對文本信息進行編碼,尋找上下文和問題之間的相關性,並預測答案。

輸出層也是任務特定的。如果答案明確包含在文本段落中,可以繼續使用QANet中的輸出層,並預測答案在上下文中的開始和結束位置。然而,在某些情況下,答案可能不會顯式地出現在上下文中。例如,區域描述通常不包括對“When”和“Why”等問題的回答。爲了解決這種情況,將輸出層構建爲多類分類層,並基於三個模型編碼器M0、M1、M2的輸出特性預測預定義答案類的概率,希望該模型能夠從區域描述中學習到一些線索,從而推斷出答案。首先採用平均池層。然後將得到的特徵向量與答案類別的數量聯繫起來並投影到輸出空間。每個類的概率被計算爲p=softmax(W[v_0;v_1;v_2]),其中W爲待學習的參數。以交叉熵損失爲目標函數對模型進行訓練。

3.3. Multiple-choice VQA model

多選擇的VQA模型就是從給待選的選項中選擇最佳的答案,可以選擇使用上述的模型,但是並不能很好利用待選答案的信息,所以做提出了另一個模型,將待選答案也作爲輸入。

除了問題和轉換後的圖像描述,模型還以候選答案選擇作爲輸入,計算候選答案和上下文之間的交互。如果答案是正確的,編碼後的特徵v_{0a}v_{1a}將於v_{0q}v_{1q}有很強的聯繫,否則,特徵之間將是獨立的。MLP在串聯的特徵上訓練,e=W_2max(0,W_1[v_{0a};v_{1a};v_{0q},v_{1q}]),第一層之後以0.5的概率進行Dropout,目的是預測圖像-問題-答案三元組是否正確。因此,我們使用一個sigmoid函數來將特徵轉化爲概率。採用二元邏輯損失訓練模型。與選擇最高答案作爲類別標籤並排除罕見答案的開放式VQA模型相比,多選擇VQA模型直接對候選答案進行編碼。因此,它將涵蓋更多的答案選擇。對於類似的答案表達式,例如“During the day time”、“During daytime”、“In the daytime”,該模型可以通過嵌入和編碼來學習相似性本身,而不是使用啓發式答案歸一化。此外,它避免了將它們視爲不同的類並學習從訓練數據中區分它們的機會。

4. Experiments 

 

 

整體總結:本篇文章主要是將視覺轉化成語言描述,通過另一個領域(Caption)的一個模型,通過將視覺轉化爲一段描述的文字,加上一些額外的知識支持,所以全部的輸入變成了文字,認爲就轉化爲了TQA,作者採用了TQA領域的一個模型,通過三次encode,然後進行池化之後串聯再進行分類。

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