Focal Visual-Text Attention for Visual Question Answering論文筆記

Abstract

神經網絡對語言和視覺的最新見解已經成功地應用於簡單的單圖像視覺問題回答。然而,爲了解決諸如個人照片等多媒體收藏中的現實問題,我們必須用一系列照片或視頻來觀察整個收藏。當回答來自大量集合的問題時,一個自然的問題是識別支持答案的片段。在本文中,我們描述了一種新的神經網絡,稱爲焦點視覺文本注意網絡(FVTA),用於視覺問題回答中的集體推理,其中視覺和文本序列信息,例如圖像和文本元數據都被呈現。FVTA引入了一種端到端的方法,該方法利用分層過程來動態地確定在順序數據中關注什麼媒體和什麼時間來回答問題。FVTA不僅能很好地回答問題,而且能提供系統結果得到答案所依據的理由。

1. Introduction

從VQA延伸到單個圖像,本文考慮以下問題:假設一個用戶的照片和視頻按其創建時間的順序組織。一些照片或視頻可能與元標籤或註釋(如時間、GPS、標題、評論和有意義的標題)相關聯。我們有興趣訓練一個模型來回答關於這些圖像和文本的問題,例如,“我上次去酒吧是什麼時候?”或者“我兒子在2017年萬聖節晚宴後做了什麼?”

解決上述問題有兩個挑戰。首先,輸入是以非結構化形式提供的。這個問題與視頻或圖像形式的多個序列相關聯。這些序列在時間上是有序的,並且每個序列包含多個時間步長。每次都有可視數據、文本註釋和其他元數據。在本文中,我們稱之爲格式可視文本序列數據。請注意,並不是所有的照片和視頻都有註釋,這需要一個健壯的方法來利用一致可用的多模式數據。

第二個挑戰除了基於序列數據的直接回答之外,還需要可解釋的理由。爲了給用戶提供大量的照片和視頻,一個自然的要求是識別支持答案的證據。如圖1所示的一個示例問題是“我最後一次去酒吧是什麼時候?”從用戶的角度來看,一個好的質量保證系統不僅應該給出一個明確的答案(例如,2016年1月20日),還應該提供輸入序列中的證據圖像或文本片段來證明推理過程。考慮到不完美的VQA模型,人類通常想要驗證答案。對於單個圖像,檢查過程可能是微不足道的,但是檢查每個圖像和完整的文本單詞可能會花費大量的時間。

爲了解決這兩個挑戰,作者提出了一個序列數據的焦點視覺文本注意模型。模型是由人類的推理過程驅動的。爲了回答一個問題,人類會首先快速瀏覽輸入,然後關注視覺文本序列中的幾個小的時間區域,從而得出答案。事實上,統計數據表明,平均而言,略讀後,人類只需要1.5張圖片就能回答一個問題。受這一過程的啓發,FVTA首先學習將相關信息定位在輸入序列的幾個小的、時間上連續的區域內,並學習基於從這些區域彙集的跨模態統計推斷答案。FVTA提出了一種新的核來計算注意張量,該核聯合建模了三個來源中的潛在信息:1)問題中的回答信號詞,2)序列中的時間相關性,以及3)文本和圖像之間的跨模態交互。FVTA注意允許通過注意核心在幾個小的、連續的文本和圖像子序列上學習的集體推理。它還可以產生一個證據圖像/文本列表來證明推理。如圖1所示,突出顯示的立方體是所提出的FVTA中的高激活區域。

 2. Related Work

Visual Question Answering由於對基於視頻的問答數據集進行標註的成本很高,一些研究通過收集在線視頻和描述來生成問答數據集,而最近的一項研究考慮使用動畫GIFs來回答問題。這項工作在兩個方面不同於現有的基於視頻的問答:(1)基於視頻的問答是基於單個視頻回答問題,而我們的工作可以處理一般的可視文本序列,其中一個用戶可能有多個視頻或相冊。(2)大多數現有的基於視頻的質量保證方法將一個帶有文本的視頻序列映射到一個上下文特徵向量中,而這篇文章通過在每個時間步建模查詢和序列數據之間的相關性來探索一個更細粒度的模型。爲此,我們在MemexQA數據集[9]上進行了實驗。MemexQA中的序列數據包含多種形式,包括標題、時間戳、全球定位系統和可視內容,這使得它成爲可視文本序列數據質量保證研究的理想測試平臺。與[9]中的模型不同,我們的方法還使用答案選項的文本嵌入作爲回答問題的輸入。

Attention Mechanism.這項工作可以被視爲一個新的關注模型,爲多個可變長度的順序輸入,不僅考慮到視覺文本信息,還考慮到時間的依賴性。我們的工作擴展了以往的研究使用注意模型的圖像質量保證。我們的方法和經典注意模型之間的一個關鍵區別在於,我們在每個時間步跨多個序列對相關性進行建模。VQA現有的注意力機制主要集中在圖像的空間區域內或單個序列內的注意力,因此,可能沒有充分利用多序列和多時間步長的性質模型注意力被應用於三維張量,而經典的軟注意力模型被應用於向量或矩陣。

3. Approach

3.1. Problem Formulation

將問題定義爲Q=q_1,\dots,q_M,一共有M個單詞,Q \in \mathbb{Z}^M,每個單詞在詞彙表中都是一個整數索引。定義的上下文可視文本序列TX=x_1,\dots,x_Tx_t^{img}代表一個圖片,x_t^{text}代表圖片對應的文字,文字中第i個單詞表示爲x_{ti}^{text},答案是一個數字y \in [1,L],單詞表一共有L個單詞,給定n個問題,和對應的上下文序列,訓練一個模型最大化下列的函數:

其中\Theta代表模型的參數,給出了輸入的視文序列x^{img},x^{text},通過注意模型得到了一個良好的聯合表示。注意FVTA,該模型分別考慮了圖像和文本序列的順序依賴性和跨模式的視文本相關性。同時,計算出的輸入序列上的注意權值可以用來推導出有意義的理由。

3.2. Network Architecture

整個模型包括以下層:

Visual-Text Embedding 每個圖像或視頻幀都用預先訓練的卷積神經網絡編碼。單詞級和字符級嵌入都被用來表示文本和問題中的單詞。

Sequence Encoder 使用獨立的LSTM網絡分別對視覺和文本序列進行編碼,以捕獲每個序列中的時間相關性。LSTM單元的輸入是由前一層產生的圖像/文本嵌入。LSTM的隱藏單元的數量表示爲d。問題Q表示爲矩陣Q \in \mathbb{R}^{2d\times M},是由雙向LSTM每一步的輸出連接生成的。M是每個問題最多的單詞數。相似的,圖片或者文本被表示H \in \mathbb{R}^{2d\times T\times 2 },其中T是序列的最大長度。

Focal Visual-Text Attention FVTA是實現所提出的注意機制的一個新層。它表示一個網絡層,該層對問題和多維上下文之間的相關性進行建模,並將彙總後的輸入輸出到最終的輸出層,\widetilde{h} \in R^{2d}\widetilde{q} \in R^{2d}

Output Layer 在使用FVTA注意力總結輸入之後,使用前饋層來獲得候選答案。對於多項選擇題,任務是根據上下文和問題從幾個候選選項中選擇一個答案。假設k表示候選答案的數量,使用雙向LSTM對每個答案選擇進行編碼,並使用最後一個隱藏狀態作爲答案的表示E \in R^{k\times 2d},將上下文表示\widetilde{h} \in R^{2d}和問題表示\widetilde{q} \in R^{2d}連接k次,得到新的\widetilde{H} \in \mathbb{R}^{k\times 2d }\widetilde{Q} \in \mathbb{R}^{k\times 2d }來計算最後k個答案的概率,在實踐中,發現下面的簡單公式比完全連接層或直接連接更有效。

其中,符號[·;·]表示沿最後一個維度的兩個矩陣的連接。⊙是元素級的乘法,w_p是要學習的權重向量,p是分類概率的向量。在獲得答案概率後,利用交叉熵損失函數對模型進行端到端的訓練。

4. Focal Visual-Text Attention

首先介紹了視覺特徵和文本特徵之間的相似度度量,然後討論瞭如何構造同時捕獲序列內相關性和序列間相互作用的注意張量。

4.1. Similarity between visual and text features

爲了計算不同模態(即視覺和文本)之間的相似性,首先用具有相同隱藏狀態大小的LSTM網絡對每個模態進行編碼。然後測量這些隱藏狀態變量之間的差異。採用文本序列匹配的研究,聚集餘弦相似性和歐幾里德距離來比較特徵。此外,我們選擇保留向量信息,而不是在運算後求和。向量表示可以用作學習模型的輸入,學習模型的內積表示這些特徵之間的相似性。更具體地,使用下面的等式來計算兩個隱藏狀態向量v1和v2之間的相似性表示。結果是一個兩倍於隱藏大小的向量

4.2. Intra-sequence temporal dependency

視覺文本關注層設計爲讓模型根據問題的每個單詞選擇相關的視覺文本區域或時間步。這種精細的注意力一般來說是不容易學習的。同時,視覺文本序列輸入的大多數答案可能在受到約束和限制到一個很短的時間段。學習這種稱爲焦點語境表徵的局部表徵,以強調基於問題的相關語境狀態。

首先,引入一個時間相關矩陣C\in\mathbb{R}^{T\times T},一個對稱矩陣,其中每個元素c_{ij}測量上下文的第i步和第j步之間的相關性,h_i=H_{:i:}\in\mathbb{R}^{2d\times 2}表示H中的第i個時間步的可視化/文本表示,爲了表示方便,:是一個切片操作符,用於從某一維度中提取所有元素。例如,h_{i1}=H_{:i1}表示視覺序列的第i個時間步的向量表示。這裏我們表示最後一個索引1表示視覺的,第二個表示文本的形式。每個條目C_{ij}(\forall i,j\in[1,T])

其中 w_c \in \mathbb{R}^{2d\times 1},w_h \in \mathbb{R}^{4d\times 2d}是模型的參數。時間相關矩陣捕獲問題、圖像和文本序列的時間依賴關係。

爲了允許模型基於問題捕獲時間步驟之間的上下文,我們引入時間信息池來連接相鄰的時間隱藏狀態,如果它們與問題相關的話。例如,它可以捕捉“晚餐”時刻和“去跳舞”時刻之間的相關性,給出的問題是“在本的生日晚餐後我們做了什麼?”。形式上,給定時間相關矩陣C和上下文表示H,我們引入一個時間聚焦池函數g來獲得聚焦表示F \in \mathbb{R}^{2d \times T \times 2},每個向量條目F_{:tk}(\forall t\in[1,T],\forall k \in[1,2]),

 其中 F_{:tk}是表示第t步時視覺(k = 1)或文本(k = 2)的焦點上下文。1是指標函數。c表示時間窗口的大小)這是端到端的學習與其他參數。我們將模型限制在幾個可學習窗口大小爲2c + 1的小時間上下文窗口上。

4.3. Cross Sequence Interaction

引入注意機制來捕捉視覺序列和文本序列之間的重要關聯。我們將注意力集中在焦點語境表徵上,以總結回答問題的重要信息。我們基於問題的每個單詞和可視文本序列的每個時間步之間的相關張量獲得注意力權重。每個時間步的注意力只考慮上下文和問題,不依賴於前一個時間步的注意力。使用這種無記憶注意力機制的直覺是,它簡化了注意力,讓模型專注於學習上下文和問題之間的相關性。這種機制已經被證明在回答文本問題中是有用的。首先在輸入問題與焦點上下文表示F之間計算一個內核張量S \in \mathbb{R}^{M \times T \times 2},其中內核s_{mtk}中的每個條目對所討論的第m個單詞和第t個時間步長上的模態k(圖像或文本單詞)之間的相關性進行建模。讓v_{tk}表示F_{:tk}在第t步時對於視覺或文本的焦點上下文表示。S中的每個條目s_{mtk}的計算方法如下

 κ是一個函數來計算和上下文和問題之間的關係,W_s \in \mathbb{R}^{4d \times 1}是需要學習的參數,b_s是偏置。s是相似性函數,使用這樣的相似性表示,因爲他們捕獲了餘弦相似度和歐幾里得距離信息。得到了圖文序列注意矩陣A \in \mathbb{R}^{T \times 2},A = softmax(max^M_{i=1}(S_{i::})),矢量圖形文字的關注B \in \mathbb{R}^{ 2},B = softmax(max^T_{i=1} max^M _{j=1}(S_{ji:}))。其中softmax操作應用於第一個維度。利用最大函數max_i對高維張量的第一維進行約簡。

視覺文本注意是基於問題和焦點上下文注意之間的相關性來計算的,這與我們的觀察一致,即問題通常爲答案提供有限時間窗口的約束。同樣,我們計算問題注意力 D \in \mathbb{R}^{M},D = softmax(max^T_{i=1} max^2_{j=1}(S_{:ij})),總結的問題向量由下式給出:

算法1總結了計算建議的FVTA注意力的步驟。爲了獲得最終的上下文表示,首先分別爲視覺序列和文本序列總結焦點上下文表示,使用序列內注意強調最重要的信息。然後,根據序列間的重要性對序列向量表示進行求和,得到最終的表示。圖3示出了FVT注意張量和一維軟注意向量之間的差異。這兩種機制都計算注意力,但FVTA同時考慮了視覺文本序列內相關性和跨序列交互作用。 

 

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