鄒品榮,肖 鋒,張文娟,張萬玉,王晨陽
(1.西安工業大學 兵器科學與技術學院,西安 710021;2.西安工業大學 計算機科學與工程學院,西安 710021;3.西安工業大學 基礎學院,西安 710021)
深度學習的不斷發展使得神經網絡具有接收與處理多模態信息的能力,如圖像描述[1]、圖像文本匹配[2]、視覺問答[3-5]等模態間交互轉換的視覺任務都取得了較大的進展。與傳統多模態表征任務相比,視覺問答(Visual Question Answering,VQA)更具挑戰性,其目標是訓練一個能夠實現對多模態輸入和視覺語言高層語義全面理解的模型,并將圖像中的視覺特征和問題中的語義特征聯系起來,使算法模型能夠針對自然語言問題生成符合人類思維的答案。
早期的研究主要介紹圖像和問題的聯合表示學習,使用卷積神經網絡(Convolutional Neural Network,CNN)作為視覺特征提取器[6-8],問題特征則使用循環神經網絡(Recurrent Neural Network,RNN)編碼[9-10]。從視覺特征編碼器中獲得一組稀疏圖像區域后,應用多模態融合嵌入來學習每個區域與文本特征之間的聯合表示,然后采用全局特征輸入答案分類器中預測問題答案。
上述框架是有效且合理的,但在圖像和自然語言之間仍然存在很大的語義鴻溝。例如,給定一個男孩拿著三明治的圖像,問:圖像中男孩左手中拿的是什么?模型可能會丟失關鍵視覺位置信息與核心問題語義信息,無法正確定位局部區域中的物體,因此,采用聯合嵌入方法訓練的VQA 模型存在缺陷,且有局限性。為更好地檢測到圖像中與自然問題相關的部分并提升跨模態間的聚合能力,受人類視覺注意力和深度學習相關技術的啟發,在視覺問答模型中加入注意力機制[11]。
然而,多數方法所采用的注意力機制是根據自然語言問題,聚焦圖像中與文本特征密切相關的區域[5,12-13]。這類方法經過不斷迭代訓練,通過處理圖像區域中各個空間信息權重來選擇性地關注CNN中隱層特征,但卻忽略了模態間的動作語義和位置依賴關系。如給定兩只長頸鹿并列站的圖片,模型能識別長頸鹿的耳朵和身上的斑塊,但不能識別斑塊來自哪個長頸鹿。很難回答“最左邊的長頸鹿是小長頸鹿嗎?”或“長頸鹿都在吃樹葉嗎?”等問題。一種好的VQA 網絡不僅要能識別對象“長頸鹿”和環境中的“樹葉”,同時需識別圖像和問題中關于動作“吃”和位置“最左邊”的語義。
為捕獲圖像中對象間動作關系和局部位置信息,模型不僅要在單純的目標檢測上融入語言信息,還應通過解釋圖像中對象之間的交互作用來加強對高層語義信息的理解,以縮小多模態之間的語義鴻溝;同時,網絡需將注意力集中在相關視覺區域并丟棄對自然語言問題無用的信息,通過較好地學習整個場景以解決多模態表征問題。為此,一種解決方案是學習對象之間的語義依賴關系來捕捉視覺場景中的動態交互,根據自然文本序列特征進行關系推理來生成高質量答案;另一種方案是級聯圖像和問題特征的注意力模塊,使問題適應對象間特征來豐富圖像表示,以提高VQA 性能。
基于上述兩種方案,本文構建一個多模塊協同注意網絡(Muti-Module Co-Attention Network,MMCAN),分別使用Faster R-CNN[14]和門控循環單元(Gated Recurrent Unit,GRU)生成多模態特征,將每個區域的卷積特征輸入圖注意力網絡(Graph Attention Network,GAT)[15],自適應感知圖像中對象間的動態語義關系,進而提供整體場景解釋來回答語義復雜的問題。此外,受機器翻譯中Transformer 模型[16]的啟發,設計自注意力(Self-Attention,SA)和引導注意力(Guided-Attention,GA)這2 個注意力單元,通過注意力單元的模塊化組合提取特征,關注物體層級的視覺語義信息。最后將關系感知視覺特征和問題嵌入輸入到多模態融合模塊中,得到問題和圖像特征的聯合表示,用于生成最終答案。
注意力機制已成功地應用于單模態任務(如視覺[17]、語言[18]和語音[19])以及簡單多模態任務。文獻[11]從VQA 的輸入問題中學習圖像區域的視覺注意力,使用注意力結構將問題嵌入視覺空間,并構造一個卷積核來搜索圖像中所注意到的區域,有效促進了模型的表征能力;隨后很多研究[5,7-8,12-13,20]介紹了利用視覺注意力來提取特征,并通過注意力機制減少圖像和文本信息中冗余特征的干擾;此外,文獻[21-22]則利用不同的多模態雙線性池化方法,將圖像空間中的網格視覺特征與問題中的文本特征相結合預測答案。研究結果表明,學習視覺和文本模態的注意力有助于增強圖像和問題的細粒度表示,從而有效提升模型精確度。但是,這些粗糙的注意力模型不能推斷出圖像中區域和問題詞之間的相關性,并且難以識別圖像中對象間的語義關系,導致在自動視覺問答中性能較差。
VQA 過程不但需要理解圖像的視覺內容,而且對自然語言問題的協同語義還需要予以更多關注,因此,通過學習雙模態間的協同注意力能有效提高VQA 結果。文獻[23]建立一個協同注意力學習框架,交替學習圖像注意力和問題注意力。文獻[24]將協同注意力方法簡化為兩個步驟,首先將問題輸入到自注意力機制學習問題詞間的依賴關系,然后在問題引導注意力模塊中搜尋最相關的視覺區域。同時,文獻[25]提出雙線性注意網絡,基于先前注意到的記憶特征來細化注意力。
雖然上述模型能學習到不同注意力分布,但忽略了每個問題與對應圖像區域之間的語義邏輯關系,成為理解多模式特征表示的瓶頸。為解決該問題,本文提出視覺關系嵌入的協同注意模型,使得每個問題詞和對應圖像區域之間能夠動態交互。與傳統注意力模型相比,該關系推理模型具有更好的VQA 性能。
VQA 中注意力機制能聚焦文本關鍵詞和視覺對象,但還需對整體內容有充分理解,對復雜問題則需基本常識和特定關系實例等先驗知識的輔助推理。因此,一些研究[26-27]利用圖像中的高級語義信息,如屬性、字幕、視覺關系等加強學習,使模型更加強大并易于解釋[28-29]。然而,文獻[30]構建VQA 關系數據集,探索VQA 特定的事實關系,為模型提供額外的語義信息。同時,文獻[10]引入MuRel 單元的雙線性融合方法,用于圖像和問題兩兩關系的建模,研究如何對于復雜的問題進行推理,這些關系在多模態任務中被證明是有效的。
此外,一些文獻介紹了結合問題的圖關系表示[31-38]。文獻[31]在VQA 中使用圖卷積神經網絡(Graph Convolutional Network,GCN)[39],將問題的依賴性分析和抽象場景的場景圖表示相結合,探索結構關系在表示學習中的重要作用,但其只在抽象場景數據集上有效。文獻[32]直接引入一個空間圖學習模塊,該模塊以問題表征為條件,使用成對注意力和空間圖卷積來計算視覺表示,但其忽略了圖像對象之間關系的多樣性。文獻[34]提出一個關系感知圖注意網絡模型,該方法將圖像編碼成一個代表視覺對象之間的關系圖,在視覺基因組數據集上進行訓練。文獻[35]構建一種基于對象差異的圖學習器,通過計算對象間的差異來學習語義關系。文獻[36]使用預先提取的視覺關系作為先驗知識來建模對象及其交互,但其推理過程高度依賴于先驗關系。受圖形中建模實體及其關系性質的啟發,文獻[40]使用基于知識圖的GCN 來回答事實問題,該模型主要關注圖像和知識圖中提取的實體關系圖,嚴重依賴于外部知識圖。文獻[41]則通過GAT 建模圖像物體間的關系來推理答案,但其不能有效關注與問題相關的視覺對象。
與上述方法相比,本文VQA 體系結構利用圖像的豐富信息,無需任何先驗知識或預先訓練,直接建模對象及其關系,其所學到的視覺關系特征是對先前研究的補充。同時,在圖表示學習中給相同領域的節點分配不同的重要性,通過問題自適應性對象間關系來過濾掉與問題無關的關系,使用多層消息傳遞來執行關系推理,具有問題自適應性,能動態地捕獲與問題最相關的視覺對象關系。
本文工作主要有2 個貢獻:1)基于Transformer協同注意單元來提升模態間的聚合能力,使模型集中注意在問題與圖像特征交融部分,抑制無關信息;2)基于GAT 學習視覺對象之間的語義關系,語義關系具有問題自適應性,可以動態地關注每個問題的特定關系。
本文多模塊協同注意模型如圖1 所示。其中,SA 為自注意單元,GA 對應引導注意單元,att 為建模兩兩對象間關系的圖注意力,AttEn 表示注意力增強模塊,BCE Loss 為二元交叉熵損失函數。模型主要包括圖像編碼、問題編碼、圖關系編碼和協同注意學習和注意力增強。在圖像編碼中,使用自底向上注意力機制提取圖像中64 維的幾何特征和2 048 維視覺特征[5];在問題編碼中,使用GRU 進行問題詞特征提取,所提取的特征為1 024 維。首先將雙模態特征輸入關系編碼模塊中建模對象間語義關系,關系編碼后的視覺語義特征與初始視覺特征以殘差方式融合,送入協同注意模塊,接著通過自注意單元SA 與引導注意力單元GA 聯合學習兩者的豐富信息,最后經注意力后以簡單的哈達瑪乘積方式融合兩者特征,送入分類器預測答案。

圖1 多模塊協同注意力網絡Fig.1 Multi-module collaborative attention network
模型輸入一張圖像v∈I和一個與圖像相關的問題q∈Q,使用在視覺基因組數據集[42]上預訓練的Faster R-CNN 檢測圖像中目標特征(主骨架網絡為ResNet-101),Faster R-CNN 訓練共1 600 個選定的對象類和400 個屬性類。對檢測到的目標設置一個置信閾值,得到動態目標對象特征N∈[10,100],具體地,目標特征來自于RoI 池化后的特征圖[8]。給定圖像與文本問題,VQA 的目的是預測一個與真實答案a*最匹配的答案a^ ∈A,A表示候選答案的集合,在多數研究中,a^ 被定義為分類任務中常見的概率分數,如下:

其中:pθ表示訓練好模型。輸入模型的圖像對應于一系列向量集合和每個回歸框的特征向量b(i)=[x,y,w,h]。集合中V(i)∈表示圖像中每個目標檢測框的視覺特征,b(i)中(x,y)表示回歸框的中心坐標,(w,h)對應回歸框的高度和寬度。
對于輸入問題,首先將每個問題詞進行標記并使用600 維的詞嵌入編碼序列特征(包括300 維GloVe 詞嵌入[43]),問題中每一個詞進一步轉化為向量。在每一個時間步將單詞序列送入雙向GRU 中編碼得到問題特征q∈,GRU 隱藏層的尺寸設置為1 024,少于14 個單詞的問題在末尾用零向量填充。
如圖2 所示的注意力機制是圖關系模塊的核心,其輸入由維度為dv的“值”與維度為dk的“查詢”和“鍵”組成?!安樵儭贝砟撤N條件或者先驗信息,注意力權值表示在給定“查詢”信息的條件下,通過注意力機制從source 中提取信息,source 包含多種信息,每種信息通過“鍵-值”對的形式體現。在“查詢”和所有“鍵”之間執行點乘操作獲得兩者相似度,然后經softmax 函數得到對應“值”的注意力權重。

圖2 自注意力機制Fig.2 Self-attention mechanism
給定一個“查詢”Q、所有“鍵”組成的矩陣K和“值”組成的矩陣V,A表示注意力函數,帶注意力權重的輸出如下:

在關系編碼之前,首先構建一個全連通無向圖編碼器G=(v,e),e是包含N×(N-1)條邊的集合,每一條邊表示兩個目標之間的語義關系。然后通過類似于式(2)的圖注意力機制[15]來對鄰居節點做聚合操作,實現對不同鄰居權重的自適應分配,所有邊的注意力權重是在沒有先驗知識的情況下進行學習。
圖關系編碼器能動態捕獲圖像中目標對象間的動態關系,對于VQA 任務,不同問題類型可能有不同類型關系。因此,本文將問題嵌入特征q和視覺特征vi拼接起來作為圖關系編碼器的輸入,表示如下:

其中:||表示拼接操作。在每個頂點上執行自注意力生成隱藏特征來描述目標對象和其相鄰對象之間的語義關系,且每個關系圖都要經過注意力機制,得到N個結合問題詞和圖像目標特征的關系特征是鄰域中自適應問題視覺表征的權重加和,計算如下:

式(4)通過不同注意力系數ωij定義不同圖關系類型,同時定義對象i與其他對象間關系的重要性,表示映射矩陣,Ni是目標對象i的鄰居數。ωij計算如下:


其中:dot 表示向量點積;矩陣WK和WQ與式(2)中的K和Q相似,它們把原始特征映射到子空間中采樣兩者間的匹配程度,特征映射后的維度為dk。

為滿足平移和尺度變換不變性,使用φG計算4 維相對幾何特征[16],該方法計算不同波長的余弦和正弦函數,從而將兩個對象的幾何特征嵌入到同一個空間學習目標特征的位置依賴關系。幾何嵌入后特征維度為dg,計算如下:

其中:Concat[]拼接操作用來聚合正弦波與余弦波;PE表示不同頻率的信號,該信號的幾何波長變化范圍為[2π,10 000 × 2π],以產生獨特的位置信息,其計算如下:

其中:dmodel=dk;ppos是位置向 量;l是幾何向量的 維度。在計算幾何特征前,使用log 函數對輸入幾何回歸框的4 維位置特征作預處理如下:

將嵌入特征通過WG∈?dh轉化為標量權重,檢測具有特定幾何關系的對象之間的關系,計算過程中激活函數使用線性修正單元(Rectified Linear Unit,ReLU)。
采用多頭注意力機制[15]增強圖注意力學習,得到圖關系編碼器的輸出。分別執行獨立的自注意力,將子關系特征拼接起來得到輸出關系特征,計算如下:

其中:Concat[]拼接用于聚合Nr種不同的關系特征。為匹配通道大小,每一個輸出通道的維度設置為,然后使用殘差方式增加輸入對象的視覺特征V(i),得到圖關系編碼后的特征VR(i)如下:

在設計的關系模塊中,允許從問題中輸入語義信息到關系網絡,為每個問題相關的關系分配更高的權重。因此,由關系編碼器學習的特征不僅捕獲到圖像中的關系特征,而且能獲得文本特征中的語義線索,動態地關注到問題中特定的關系類型和實例。圖注意力機制編碼如算法1 所示,運算過程如圖3 所示,圖中虛線表示3 頭圖注意力。

圖3 圖注意力機制關系編碼Fig.3 Relationship encoding of graph attention mechanism
算法1圖注意力機制編碼

協同注意力模塊由自注意單元SA 和協同注意單元GA 組成,用來處理VQA 的多模態輸入特征。其中,SA 單元由多頭注意力、LayerNorm[44]和前饋傳播模塊構成,對于多頭注意力模塊,先執行式(2)的“點乘”注意力,其輸入中“查詢”、“鍵”和“值”使用相同數據,即Q=K=V∈,數據維度為ds,輸出為f=A(Q,K,V)。為提升注意力特征的表示能力,應用與式(12)類似的多頭注意力(h頭),如下:

給定一組輸入dx特征首先使用注意力學習成對樣本<xm,xn>之間的關系,所有實例的加權求和輸出注意力特征進一步通過前饋傳播模塊中兩個全連接層(FC(4ds)-ReLU-Dropout(0.1)-FC(ds))轉換輸出特征E。此外,多頭注意力和前饋傳播模塊分別使用殘差連接融合輸入特征,然后執行層歸一化以便于反向傳播的優化。
GA 單元內部構成與SA 單元一致,不同的是GA單元有維度分別為dy和dx的輸入特征Y=Y引導X學習跨模態間成對樣本(xm,yn),提升問題詞和視覺區域間的緊密性。
協同注意力模塊中X和Y是易擴展的,它們可以用來表示不同模態的特征(如文本和圖像)。如圖4 所示,基于SA 和GA 單元模塊化組合得到協同注意力模塊處理VQA 的多模態特征。在本文模型中,首先對文本特征q與帶視覺關系屬性的特征VR(i)進行SA 學習單模態表征;然后在GA 單元中使用q引導VR(i)對所有樣本進行學習,以加強問題詞與對應圖像區域間的相關性。

圖4 協同注意力模塊Fig.4 Collaborative attention module
經協同注意力學習后,輸出圖像特征V′R(i)和文本特征q′包含關于問題詞和視覺區域的注意力信息。但對于真實世界中千變萬化的圖像和豐富的問題形式,模型的辨識能力仍然不足。因此,本文設計一個包含多層感知機(Multi-Layer Perceptron,MLP)的注意力增強模塊AttEn,以便于跨模態信息交互和增強模型擬合能力,模塊內部構成為FC(ds)-ReLUDropout(0.1)-FC(1)。以GA 輸出特征為例,注意力展平后特征計算如下:

其中:α=[α1,α2,…,αn]∈?n是可學習的注意力權重,類似地,可以得到增強后的特征q″。

最后將融合特征U送入由兩層MLP(FC(du)-ReLU-Dropout(0.5)-FC(dc))組成的答案預測模塊中以預測問題答案。從預定義詞匯表中選擇候選答案的計算公式如下:

其中:Wu和bu是答案分類器中全連接層的參數矩陣;pa表示模型預測候選答案的軟分數。
在VQA v2.0 數據集中,每個訓練問題都與一個或多個答案相關聯,可以預先確定的是:輸出候選答案詞表中出現9 次以上的為正確答案(3 129 類)。因此,將視覺問答視為一項多分類標簽任務,使用二元交叉熵損失函數來優化模型,在融合特征的基礎上訓練一個多分類器。

視覺問答通常被定義為多類別分類問題,其類別標簽為預定義的候選答案集合。數據集的創建者設立了一個公開的評估服務器對測試集上候選答案進行盲測,使用一種投票機制來計算準確率,準確率的評估指標如下:其中:#humans provided ans 表示問題的準確答案數;ans 為問答模 型的預測答案。本文在VQA 2.0[45]和VQA-CP v2[46]數據集上訓練并使用相同評估指標。
VQA 2.0 數據集由MSCOCO[47]中的自然圖像組成,在訓練集、驗證集和測試集劃分上與MSCOCO一致,是VQA 任務中公開的大規模數據集。訓練集包含80K 幅圖像和444K 個問題答案對,驗證集包含40K 幅圖像和214K 個問題答案對,測試集包含80K 幅圖像和448K 個問題。另外,測試集被分成了4 個大致均勻的部分,分別是test-dev、test-standard、test-challenge 和test-reserve,用于防止模型的過擬合且使研究人員更靈活地測試開發的VQA 系統。其中test-dev 子集用于在線調試和驗證實驗,teststandard 子集默認為視覺問答比賽中評估模型性能的測試數據。對于每個圖像,平均生成3 個問題,問題分為4 類:“總體”,“是/否”,“計數”和“其他”,標注答案由人類提供,每個圖像問題對收集10 個答案,并選擇出現次數最多的答案作為正確答案。數據集中問題有開放式和多選題兩種,本文以開放式任務為重點,在執行過程中選擇可能性最大的答案作為預測答案。
VQA-CP v2 數據集是VQA 2.0 數據集的派生,引入CP 版本是為了減少VQA 2.0 數據集中問題的偏差。在數據集中圖像與VQA 2.0 相同并且為驗證集提供答案注解,但圖像對應的問題和問題答案分布不同。
實驗基于Linux Ubuntu 18.04 系統,網絡模型采用Pytorch 1.0.1 框架實現,使用英偉達GeForce GTX 1080 顯卡進行訓練。迭代優化方案使用Adamax 優化器,其中,β1=0.9,β2=0.999,權重衰減設置為0,批尺寸大小設置為128。學習率變化使用先增長后下降策略[48],初始學習率設置為0.000 5,在前4 個訓練輪次依次線性增大,增大倍率為0.000 5,訓練到15 輪次后,學習率每兩個輪次下降1/2,模型總共迭代訓練20 輪。
在圖注意網絡中,隱藏層中圖像和問題特征維度dv=dq=1024,圖注意力機制過程中dk=dg=dh=64,多頭注意力個數Nr=16,輸入的回歸框幾何特征尺寸設置為64。在協同注意單元中,文本特征輸入維度dx=1 024,關系視覺輸入維度dy=512,隱層維度ds=512,多頭注意力數h=8。在多模態融合中,輸入雙模態特征維度ds=512,隱層維度du=1 024,輸出預測答案維度dc=3 129。
為了分析模型中每個部分的貢獻和作用,本文對提出的完整模型進行大量消融實驗,評估每個模塊的作用并展示每個部分的有效性。如表1、表2 所示(加粗字體為最優結果),各個部分的消融模型如下:

表1 在VQA 2.0 上進行消融實驗的準確率Table 1 Accuracy of ablation experiments on VQA 2.0 %

表2 在VQA 2.0 上多模態特征融合方法的比較Table 2 Comparison of multimodal feature fusion methods on VQA 2.0 %
Q+CNN:沒有任何注意力的基準模型。
Q+R-CNN+co-Att:使用一個全連接層代替圖2中的圖網絡建模,僅用協同注意力對雙模態特征進行建模,是沒有圖關系編碼的模型。
Q+R-CNN+Graph+co-Att:加圖關系編碼注意力模型。
Q+R-CNN+Graph+co-Att+AttEn:帶注意力增強問題和自適應圖關系編碼的注意力模型。
Q(LSTM)+R-CNN+Graph+co-Att+AttEn:Q(LSTM)表示問題編碼使用長短期記憶神經網絡(LSTM)的注意力模型,本文其他消融模型中問題編碼默認使用雙向循環GRU 網絡。
Q+R-CNN+Graph(Q-adaptive)+co-Att+AttEn(MMCAN):多模塊協同注意力模型。
Sum+MMCAN:特征融合采用加和方式的協同注意力模型。
Hadamard+MMCAN:特征融合采用哈達瑪乘積方式的協同注意力模型,是本文采用的多模態特征融合方式。
表1 中展示了消融模型在VQA 2.0 驗證集上的性能,模型分數為“總體”類問題的準確率。除第一行基準模型使用ResNet-152 的卷積特征外,其余模型均采用Faster R-CNN 提取物體層級的特征。在相同的實驗環境下,與沒有任何注意力的基準模型相比,本文完整模型準確率的提高10.91 個百分點。第2 行~第6 行為本文模型不同模塊的消融,可以看出,其中加圖關系推理比簡單注意力模型的準確率提高1.13 個百分點,證明在視覺問答任務中使用圖關系編碼目標對象間關系的優勢;增加注意力增強后模型又獲準確率提高0.29 個百分點,表明多模態融合時跨模態信息交互的重要性;同時,第5 行驗證了本文模型的文本序列適用于GRU 編碼;在最后一行,使用問題自適應輔助圖像關系推理,準確率又提高0.40 個百分點,表明自適應問題的圖像關系特征編碼有助于模型學習到更多跨模態的知識,有助于提升模型的表征能力。
表2 中在val 和test-dev 驗證子集上對比了兩種多模態特征融合方法。其中,Sum+MMCAN 表示將兩個模態特征進行簡單的加和操作,Hadamard+MMCAN 則將雙模態輸出特征進行乘積操作。無論哪種問題類型,哈達瑪乘積方式的準確率均高于加和方式,尤其在回答“是/否”類型的問題時準確率分別提高0.72、1.05 個百分點,表明本文采用Hadamard融合方式的優勢。
圖5 和圖6 分別展示了在模型訓練過程中損失值和準確率的可視化情況。圖5 結尾為train 表示模型僅在訓練集上訓練,為train+val 表示模型同時在訓練集和驗證集上訓練。圖6 結尾為val 表示驗證集上的精確度,下文中train 和train+val 均表示相同含義。本節選用自下而上注意力模型[5]BUTD 和一階雙線性注意力模型[25]BAN_1 作為基線模型。

圖5 訓練過程中的損失變化曲線Fig.5 Loss change curve during training

圖6 訓練過程中的準確率變化曲線Fig.6 Accuracy change curve during training
在圖5 中,損失值隨著迭代次數的不斷增加保持下降趨勢,在第1、12 輪處由于學習率變化導致損失曲線波動明顯變化;在訓練首輪,數據量擴充明顯增強了模型的擬合能力;從第14 輪開始,損失函數值逐漸趨于穩定。在整體上,本文模型的收斂能力優于基線注意力模型。在圖6 中,同樣在損失明顯下降處帶來準確率的顯著提升。隨著訓練輪次的增加,準確率逐漸增加,從14 輪處驗證集精確度逐步趨于平穩,當epoch 值等于20 時,模型準確率最高。根據損失函數和準確率變化曲線,MMCAN 模型擬合能力和表示能力均優于其他模型。
本文在VQA 2.0 和VQA-CP v2 數據集上比較了MMCAN 模型和當前具有代表性的視覺問答模型,VQA 2.0 上的實驗結果如表3 所示,在VQA-CP v2上的實驗結果如表4 所示。其中,加粗字體為最優結果,—表示數據為空,* 表示重新執行的結果。為公平起見,僅報告單模型在各種設置下的性能。表3 中將對比模型按照不同方法分為4 個類別,類別1 不使用任何注意力機制,類別2 使用不同的注意力機制,類別3 使用圖關系推理,類別4 為MMCAN 模型。

表3 不同模型在VQA 2.0 測試子集test-dev 和test-standard 上的性能比較Table 3 Performance comparison of different models on test-dev and test-standard of VQA 2.0 %

表4 不同模型在VQA-CP v2 上的性能比較Table 4 Performance comparison of different models on VQA-CP v2 %
與早期沒有任何注意力基線模型prior、language-only 和Deeper+Norm 相比[3],本文模型獲得大幅提高,在test-dev 上“總體”精確度分別提升42.67%、24.25% 和 11.27%,在 test-standard上有42.87%、24.59%和11.45%的提高。與使用不同注意力機制的算法SAN[12]、MLAN[13]、BUTD[8]、BAN_1[25]和DA-NTN[9]相比,本文模型在test-dev 上“總體”精確度分別提升5.20、4.14、3.45、2.41 和0.91 個百分點;在test-standard 上,相 比MLAN、BUTD 和DA-NTN,MMCAN 分別提升4.49、3.18 和0.91 個百分點。結果表明,通過圖注意力網絡自適應建模視覺對象間語義關系,動態地關注到每個問題的特定關系,有效提升視覺問答的準確率。值得注意的是,深度注意神經張量網絡的性能接近MMCAN 模型,DA-NTN 是基于張量的切片式注意模塊來選擇最具區分性的對象間關系進行建模,這與本文的圖關系模塊類似,但其運算代價更大。
與使用圖網絡建模關系的算法v-AGCN[32]、Scence GCN[35]和ODA-GCN[34]相比,模型在test-dev上“總體”精確度分別提高2.53、1.66 和1.80 個百分點;與v-AGCN、Graph learning[33]、Scence GCN 和ODA-GCN相比,在test-standard 上MMCAN 分別提高2.68、2.67、1.71 和1.98 個百分點。結果表明,采用簡單的GCN 對圖像關系建模,本文模型采用圖注意力機制,更好地捕獲到視覺場景中對象間的語義依賴關系,通過自適應問題多樣性來豐富動態的關系表示,較好地理解與問題相關的場景。在相同條件下,MMCAN 沒有使用額外VG 數據集輔助訓練,但總體性能與單模型的ReGAT 性能相當,并在“是/否”與“其他”類問題上提升0.52 和0.15 個百分點。結果表明,本文模型充分發揮圖網絡與協同注意模塊的作用,有效融合了問題與圖像特征。
同時,本文在派生數據集VQA-CP v2 上進行實驗,表4 展示了測試集上不同問題類型的評估結果。無論是否使用關系推理,本文模型在“總體”和“其他”兩類問題上都優于以往的工作,如SAN、HAN[49]、GVQA[46]、MuRel[10]和ReGAT。與兩個基線算法SAN 和GVQA 相比,本文模型性能分別提高15.40%、11.91%和25.03%、26.34%,與具備關系推理的模型MuRel 和ReGAT 相比,分別提高0.82、1.63 和0.15、0.55 個百分點。可以看出,本文模型充分發揮了圖注意網絡和協同注意力的作用。協同注意力加強了雙模態信息的交互,使模型集中注意在文本序列和視覺特征交融部分,減少冗余信息的干擾;圖注意力機制能夠聚焦于感知目標在圖像中的區域位置,使模型根據問題動態捕獲目標對象間關系,表明關系推理結構在視覺問答中有正向作用。實驗結果證明了GVQA 網絡重點關注“是/否”類問題的優勢。
為進一步驗證本文模型的有效性,本文在VQA 2.0驗證集上與表3 中的注意力模型和圖關系推理模型進行對比。如圖7 所示,MMCAN 模型的總體準確率為65.13%;與注意力模型SAN、BUTD、BAN_1 和DA-NTN 相比,MMCAN 的總體精確度分別提高6.45、1.90、0.68 和0.55 個百分點;與圖結構模型v-AGCN相比,MMCAN 的總體精 確度提高0.93 個百分點。由于MLAN、Graph learning 和Scence GCN并未報告其在VQA 2.0 上的性能,因此沒有進行比較。可以看出,MMCAN 在驗證集上的性能同樣優于表3 中的模型。

圖7 不同模型在VQA 2.0 驗證集上的精確度Fig.7 Accuracy of different models on VQA 2.0 validation sets
為對算法進行補充說明,將最優模型提交到VQA 2.0 在線服務器上評估,由于服務器資源的限制,這里僅測試MMCAN 模型。如圖8 所示,在testdev 測試子集 上,MMCAN-tarin關于“總 體”、“是/否”、“計數”和“其他”4 類問題的精確度分別為66.69%、83.54%、46.89% 和56.17%,MMCAN-tarin+val 的精確度分別 為68.47%、84.93%、49.57% 和58.68%。在 圖9 中,test-standard 測試子集 上MMCAN-tarin關于“總 體”、“是/否”、“計 數”和“其他”4 類問題精確度 為66.94%、83.73%、46.30% 和56.41%,MMCAN-tarin+val 分別為68.85%、85.28%、49.76%和58.84%。結果表明,在兩個測試子集上,同時使用驗證集輔助模型訓練的精確度均優于單訓練集,證明通過擴充數據集能有效提升模型性能。

圖8 不同問題在VQA 2.0 test-dev 上的精確度Fig.8 Accuracy of different problems on VQA 2.0 test-dev

圖9 不同問題在VQA 2.0 test-standard 上的精確度Fig.9 Accuracy of different problems on VQA 2.0 test-standard
本文提出一種面向視覺問答的多模塊協同注意力網絡(MMCAN)。MMCAN 由一系列模塊化組件構成,通過自適應問題圖注意力機制對多種類型的視覺對象關系進行建模,以協同方式模擬單模態內和多模態間的動態交互作用,學習與問題最相關的視覺特征,進而提供完整的場景解釋,實現對復雜問題的有效回答。實驗結果表明,本文算法能夠有效利用區域級視覺對象間相關輔助答案的推理,在推理答案過程中使用問題語義特征使模型聚焦于相關的圖像區域,促進視覺問答準確率的提升。盡管本文算法在視覺問答各種子任務上獲得優良性能,但在“計數”和“其他”類復雜問題上的精確度相對較低。下一步將研究如何有效縮減多模態間的語義鴻溝,例如基于先驗知識對不存在顯式關系的邊進行剪枝、增強圖網絡的關系編碼能力等,同時還將預訓練一個視覺語言模型,專注于解決視覺問答中的某些子問題,如物體計數、基于常識的推理等。