劉 傳
(安徽建筑大學數(shù)理學院 合肥 230601)
近年來,隨著互聯(lián)網(wǎng)的不斷發(fā)展,海量的多媒體數(shù)據(jù)迅速增長并累積,形式上多元異構、語義上相互關聯(lián)的圖像、文本、視頻、音頻等不同模態(tài)之間的多模態(tài)學習任務受到廣泛的關注。作為一種多模態(tài)學習任務,視覺問答(Visual Question Answering,VQA)是計算機視覺和自然語言處理在人工智能領域中的一個極具吸引力的研究方向[1]。VQA應用廣泛,目前主要應用于回答視障人士的詢問,幫助他們獲取現(xiàn)實生活和虛擬世界的圖像信息[2]。給定一幅圖像和一個關于這幅圖像的自然語言問題,視覺問答任務要求能夠根據(jù)圖像和問題的內(nèi)容推斷出正確答案[3]。與圖文檢索、圖像描述等多模態(tài)學習任務相比,視覺問答是一項更具挑戰(zhàn)性的任務,它需要對圖像和問題同時進行細粒度的語義理解,并結合關系推理來預測準確的答案[3]。如圖1所示,給定一張圖像,并提問‘Is the horse under the man in uniform?’,一個理想的視覺問答模型需要在問題的引導下識別出圖像中的‘man’和‘horse’,判斷出它們之間的相對空間位置,并且要能夠理解問題中‘man’和‘uniform’之間的語義信息。
圖1 視覺問答任務示例
在過去的幾年里,深度學習社區(qū)的許多研究人員對VQA 給予了極大的關注,并開發(fā)了各種模型來解決這個問題。一個簡單合理的VQA 模型通常包括三個階段[4~5]:1)有效地表示圖像和問題的特征;2)融合圖像和問題的特征,獲得聯(lián)合多模態(tài)嵌入;3)將聯(lián)合多模態(tài)嵌入輸入分類器以預測正確答案。在這三個階段中,第一、二階段是VQA 模型的關鍵部分。因此,如何有效地處理圖像和問題以提取特征以及如何融合圖像和問題特征是一個至關重要的問題。
為了獲得更細粒度的圖像問題特征的融合,人們提出了許多基于視覺注意力或協(xié)同注意力以及雙線性集合的方法,如堆疊注意力網(wǎng)絡[6]、分層協(xié)同注意力網(wǎng)絡[7]、多模態(tài)分解雙線性池[5]。盡管這些模型在解決VQA 任務中相當有效,但這些模型的一個限制是使用圖像的網(wǎng)格特征作為輸入,這種操作可能會引入和問題不相關的信息以至于模型不能關注和問題最相關的區(qū)域。為此,Anderson等[8]提出了自下而上的注意力機制,通過使用圖像的顯著區(qū)域特征代替網(wǎng)格特征,使得模型可以在視覺對象上計算注意力的概率分布。
自下而上和自上而下的注意力機制[8]模型(Bottom-Up and Top-Down,BUTD)是基于視覺注意力的經(jīng)典視覺問答模型。雖然BUTD 模型由于出色的表現(xiàn)獲得了2017 年VQA 挑戰(zhàn)賽的冠軍,但是該工作的不足之處是只能根據(jù)輸入的問題特征有選擇地關注圖像的顯著區(qū)域,并不能對視覺對象之間的關系進行有效的推理。另一方面,BUTD 模型忽略了問題中詞與詞之間的語義關系、圖像中區(qū)域與區(qū)域之間的語義關系,也沒有對問題中的每一個單詞與圖像中的任意視覺區(qū)域建立聯(lián)系,從而無法學習模態(tài)內(nèi)部和模態(tài)之間的密集語義交互。
已有的研究工作[9~10]表明,圖卷積網(wǎng)絡可以在一定程度上增強VQA 模型的可解釋性和對復雜問題的推理能力,在建模視覺關系方面有很大的潛力,提高視覺問答模型的性能;另外,Yu等[5]在多頭注意力的基礎上提出的協(xié)同注意力網(wǎng)絡能夠?qū)γ總€問題詞特征和每個圖像視覺區(qū)域之間的密集語義交互關系進行注意力學習。受此啟發(fā),我們針對BUTD 模型的不足,提出了基于門控圖卷積網(wǎng)絡和協(xié)同注意力的視覺問答模型。實驗表明,本文在空間關系圖的基礎上提出的基于門控圖卷積網(wǎng)絡和協(xié)同注意力的視覺問答模型,不僅具備較強的空間關系推理的能力,而且能夠?qū)W習到問題詞特征和圖像視覺特征的密集語義交互,相比于BUTD 模型,各項準確率均有較大提升,從而驗證了模型的有效性。
本文提出一種基于門控圖卷積網(wǎng)絡和協(xié)同注意力的視覺問答模型,在問題的引導下以一種新穎的方式學習得到具備空間關系感知、語義關系交互的視覺對象特征,使得模型具有較強的顯式關系推理能力。整個模型的網(wǎng)絡結構如圖2 所示,共包含圖像與問題特征提取,空間關系圖的構建,門控圖卷積網(wǎng)絡,協(xié)同注意力模塊,多模態(tài)融合與答案預測五個部分。
圖2 提出的模型總體流程
3.1.1 圖像特征提取
給定一幅圖像I,使用目標檢測算法Faster R-CNN[11]檢測圖像中的物體,以提取圖像I中K個檢測框(bounding box)對應的視覺對象特征O=[o,o,…,o]T∈RK×dv,其中o∈Rdv是視覺對象i的視覺特征向量;并且還可獲得輸入圖像的視覺 幾 何 特 征B=[b1,b2,…,bK], 其 中bi=[x,y,w,h] 表示每一個視覺對象i對應檢測框的空間位置坐標(視覺幾何特征),(x,y)表示檢測框bi的中心坐標,(w,h)表示檢測框bi的寬度和高度。
3.1.2 問題特征提取
對于每一個輸入的問題,首先將該問題填充或截斷到m=14 個單詞,將處理后的單詞序列使用預訓練的詞嵌入模型Glove 編碼為300 維的詞向量。最后,將得到的詞嵌入序列輸入門控循環(huán)神經(jīng)網(wǎng)絡生 成 詞 特 征 向 量 序 列H=[h1,h2,…,hm]T∈Rm×dh,hi∈Rdh。
基于圖像中的K個視覺對象以及它們之間的相對空間位置構建為有向的空間關系圖G={V,E},其中V是G的節(jié)點集,即圖像中的K個檢測框構成的集合,每個檢測框的特征由視覺對象特征oi和視覺幾何特征bi拼接得到,用vi表示,
根據(jù)文獻[12]所描述的方法構建圖像的空間關系圖,該文獻將檢測框之間的空間關系共分為11 種,11 種空間關系如圖3 所示。圖1 右半部分給出了視覺對象之間空間關系的具體實例。是G的邊集,eij表示檢測框i和j之間存在某種空間關系。
圖3 空間關系示意圖(黑色框表示檢測框i,灰色框表示檢測框j)
受圖像描述[12]中的圖卷積網(wǎng)絡(Graph Convolutional Network,GCN)啟發(fā),我們設計了一種門控圖卷積網(wǎng)絡(Gate Graph Convolutional Network,GGCN),使其能夠適用于視覺問答任務。在視覺問答任務中,給定一幅圖像的空間關系圖,如果直接使用文獻[12]提出的圖卷積網(wǎng)絡聚合更新每一個視覺節(jié)點的特征,會有三個明顯的不足:1)該方法是在無向圖上定義的,直接在有向的空間關系圖上使用GCN 會使得空間關系推理能力欠佳;2)該方法沒有以問題的特征作為引導條件,因此學習到的視覺特征表示和具體問題的相關性不足;3)該方法均勻地聚合不同鄰居節(jié)點的特征信息,無法反映出不同鄰居的重要性。
受知識庫中的多關系嵌入模型TransE[13]的啟發(fā),我們認為可以在vi-vj(兩個視覺對象特征之間的差異)基礎上來構建門控機制。因此,我們針對上述圖卷積網(wǎng)絡的不足,在圖卷積網(wǎng)絡的基礎上設計了一種新的門控機制。該門控圖卷積網(wǎng)絡通過將拼接了問題特征的視覺對象i和j的差異特征映射為標量,能夠在空間關系圖上動態(tài)地聚合不同鄰居的特征信息,計算公式如下:
其中,gateij∈[0,1];q∈Rdh;Wg為可學習參數(shù)矩陣;Self-Attention(H)表示對每一個詞特征進行加權求和獲得問題的特征向量q。經(jīng)過M層GGCN之后,我們能夠獲得具有空間關系感知的圖像特征。
前面的門控圖卷積網(wǎng)絡雖然賦予了模型空間關系推理能力,但并沒有學習到問題中任一單詞和圖像中的任一區(qū)域之間的密集語義交互。為了彌補這一不足,在這一小節(jié)設計了一種結構簡單的雙向引導的協(xié)同注意力(Co-Attention)模塊,以有效提高我們模型的語義關系推理能力。該模塊基于協(xié)同注意力層(Co-Attention Layers,CAL)的深度級聯(lián),上一層的輸出作為下一層的輸入,如圖4 所示,每一個協(xié)同注意力層中共包含4 種注意力單元,其中圖像自注意力(Image-Self Attention,ISA)單元和問題自注意力(Qusetion-Self Attention,QSA)單元具有相同的結構、圖像引導注意力(Image-Guided Attention,IGA)單元和問題引導注意力(Qusetion-Guided Attention,QGA)單元具有相同的結構。
圖4 協(xié)同注意力模塊
3.4.1 問題(圖像)自注意力單元
如圖5 所示,設計問題(圖像)自注意力單元Q(I)SA 的目的是建模詞與詞(視覺區(qū)域與視覺區(qū)域)之間的模態(tài)內(nèi)語義交互關系。Q(I)SA 由多頭注意力層、殘差連接、層歸一化組成。以X∈Rn×dx作為Q(I)SA 單元的輸入為例,X經(jīng)過線性變換之后得到值矩陣V∈Rn×dvalue,維度相同的查詢矩陣Q∈Rn×dquery、鍵矩陣K∈Rn×dkey。
圖5 問題自注意力
通常設dx=dvalue=dquery=dkey=d,計算過程如下所示:
其中WQ,WK,WV∈Rdx×d均為可學習參數(shù)矩陣。通過拼接h個并行的縮放點積注意力得到多頭注意力(multi-head attention,MA)的輸出f∈Rn×d:
其中Wo是可學習參數(shù)矩陣,dh=d h表示每一個頭輸出特征的維度。為了防止梯度消失以及加快模型收斂,我們在多頭注意力層之后使用殘差連接和層歸一化,可用公式表示為
3.4.2 問題(圖像)引導注意力單元
如圖6所示,問題(圖像)引導注意力單元Q(I)GA用于學習不同模態(tài)(單詞與視覺區(qū)域)之間信息的語義交互,表示為Y引導X進行注意力學習。Q(I)GA 單元和Q(I)SA 單元的不同之處在于查詢矩陣Q、鍵矩陣K、值矩陣V的生成方式,其輸入X∈Rn×dx和Y∈Rm×dy為兩種不同模態(tài)的特征:
圖6 問題引導注意力
其中WQ′∈Rdx×d,WK′、WQ′∈Rdy×d均為可學習參數(shù)矩陣。Q(I)GA 單元之后的運算過程與Q(I)SA 單元相同。
在經(jīng)過L個協(xié)同注意力層學習后,輸出圖像特征和問題詞特征序列已經(jīng)包含了關于問題詞和圖像區(qū)域之間的密集語義交互信息。為了準確的預測答案,采用了MCAN[3]網(wǎng)絡提出的多模態(tài)融合與答案預測策略。
VQA v2.0[14]數(shù)據(jù)集中每張圖片至少包含3 個問題,每個問題均由10 個不同的注釋者提供答案,是目前最常用來評估視覺問答模型性能的大規(guī)模數(shù)據(jù)集。根據(jù)答案的類別,數(shù)據(jù)集中的問題可以分為“Yes/No”,“Number”,“Other”3種類型。采用Antol 等人提出的評價指標作為模型回答VQA 2.0 問題的準確率。
每幅圖像提取的視覺區(qū)域個數(shù)K=36,對應的視覺特征向量維度dv=2048;詞特征向量的維度dh=1024;門控圖卷積層M=2,帶有空間關系感知能力的視覺節(jié)點特征維度dm=1024;在協(xié)同注意力模塊中,dx=dy=d= 512,L=4;在答案預測階段,取候選答案集N=3129。
由表1 的實驗結果可以看出,本文利用提出的門控圖卷積網(wǎng)絡與協(xié)同注意力模塊能夠有效地提升視覺問答的答案準確率。我們的模型是針對BUTD[8]模型的不足所設計,可以看出,本文模型的整體效果明顯優(yōu)于BUTD 模型。ODA-GCN[9]模型和QG-SRGR[15]模型都是在圖卷積網(wǎng)絡的基礎上設計的模型。與ODA-GCN[9]模型相比,本文模型的整體準確率提高了大約4%。相較于QG-SRGR[15]模型,本文模型的整體準確率提升了3.56%。
表1 VQA v2.0測試集上不同模型的準確率比較
為了驗證本文模型中門控圖卷積網(wǎng)絡和協(xié)同注意力模塊的有效性,在VQA v2.0 數(shù)據(jù)集上進行消融實驗。本文模型的變體如下所示:1)基線模型:該模型在圖卷積網(wǎng)絡中不使用門控機制,并且移除了協(xié)同注意力模塊。2)基線模型+門控圖卷積網(wǎng)絡:在圖卷積網(wǎng)絡的基礎上添加門控機制。3)基線模型+協(xié)同注意力模塊:使用雙向引導的協(xié)同注意力網(wǎng)絡作為協(xié)同注意力模塊,該模塊中協(xié)同注意力層數(shù)L=1。4)基線模型+門控圖卷積網(wǎng)絡+協(xié)同注意力模塊:該模型即為本文提出的完整模型。
表2 展示了變體模型在VQA v2.0 驗證集上消融實驗的結果,可以得出如下結論:將門控圖卷積網(wǎng)絡和協(xié)同注意力模塊均加入基線模型,模型4)的總體準確率為66.25%,相較于模型1)、2)、3)分別提升了1.83%、0.54%、0.32%,這說明本文提出的門控圖卷積網(wǎng)絡和協(xié)同注意力模塊能夠同時使用,模塊之間可以兼容。
表2 在VQA v2.0驗證集上進行消融實驗果%
本文提出一種基于門控圖卷積網(wǎng)絡和協(xié)同注意力的視覺問答模型。通過在空間關系圖的基礎上設計一種問題引導的門控圖卷積網(wǎng)絡學習得到和具體問題相關的具備空間關系感知能力的視覺節(jié)點特征。考慮到具體問題中的每一個單詞和圖像中的每一個區(qū)域?qū)τ谀P皖A測正確答案的貢獻不同,在門控圖卷積網(wǎng)絡的基礎上構建了雙向引導的協(xié)同注意力模型,共同學習問題中的任一單詞和圖像中的任一區(qū)域之間的密集語義交互。實驗結果表明,本文模型能夠有效利用視覺對象之間的空間關系,在預測答案的過程中使用問題詞特征和視覺區(qū)域特征進行協(xié)同注意力學習,有效降低了不相關信息的影響。近年來,視頻問答任務成為研究的熱點,因此后續(xù)的工作會研究如何將本文模型應用于視頻問答任務。