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:它的目的是提取上下文和疑問詞之間最相關的特征。模型中構造了情景-問題注意和問題-上下文注意。将
和
分别定義為編碼後的上下文和問題特征,其中
代表n個單詞,
代表m個單詞。上下文對應于問題的注意力矩陣定義為
,其中
是上下文和問題中每一對單詞的相似度矩陣,然後
定義為在每一行上應用softmax對S進行正态化。問題對應于上下文的注意力定義為
,然後
定義為在每一列上應用softmax對S進行正态化。計算相似度的函數
,其中
定義為q和c中的元素進行相乘。
是需要學習的權重。
Model Encoder Block:這個子產品将
作為輸入,其中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的輸出特性預測預定義答案類的機率,希望該模型能夠從區域描述中學習到一些線索,進而推斷出答案。首先采用平均池層。然後将得到的特征向量與答案類别的數量聯系起來并投影到輸出空間。每個類的機率被計算為
,其中W為待學習的參數。以交叉熵損失為目标函數對模型進行訓練。
3.3. Multiple-choice VQA model
多選擇的VQA模型就是從給待選的選項中選擇最佳的答案,可以選擇使用上述的模型,但是并不能很好利用待選答案的資訊,是以做提出了另一個模型,将待選答案也作為輸入。
除了問題和轉換後的圖像描述,模型還以候選答案選擇作為輸入,計算候選答案和上下文之間的互動。如果答案是正确的,編碼後的特征
和
将于
和
有很強的聯系,否則,特征之間将是獨立的。MLP在串聯的特征上訓練,
,第一層之後以0.5的機率進行Dropout,目的是預測圖像-問題-答案三元組是否正确。是以,我們使用一個sigmoid函數來将特征轉化為機率。采用二進制邏輯損失訓練模型。與選擇最高答案作為類别标簽并排除罕見答案的開放式VQA模型相比,多選擇VQA模型直接對候選答案進行編碼。是以,它将涵蓋更多的答案選擇。對于類似的答案表達式,例如“During the day time”、“During daytime”、“In the daytime”,該模型可以通過嵌入和編碼來學習相似性本身,而不是使用啟發式答案歸一化。此外,它避免了将它們視為不同的類并學習從訓練資料中區分它們的機會。
4. Experiments
整體總結:本篇文章主要是将視覺轉化成語言描述,通過另一個領域(Caption)的一個模型,通過将視覺轉化為一段描述的文字,加上一些額外的知識支援,是以全部的輸入變成了文字,認為就轉化為了TQA,作者采用了TQA領域的一個模型,通過三次encode,然後進行池化之後串聯再進行分類。