摘要:現(xiàn)有的視覺問答方法采用相同編碼器編碼視覺-語言特征,忽略了視覺-語言模態(tài)之間的差異,從而在編碼視覺特征時引入與問題無關的視覺干擾特征,導致對關鍵視覺特征關注不足。提出一種基于視覺-語言特征編碼的跨模態(tài)融合視覺問答方法:采用一種動態(tài)注意力編碼視覺特征以實現(xiàn)根據(jù)問題動態(tài)調整視覺特征的注意力范圍;設計了一種具有雙門控機制的引導注意力以過濾多模態(tài)融合過程帶入的干擾信息,提升多模態(tài)特征融合的質量,并增強多模態(tài)特征的表征能力。該方法在視覺問答公共數(shù)據(jù)集VQA-2.0上的Test-dev和Test-std兩個測試集上的準確率分別達到71.73%和71.94%,相比于基準方法分別提升了1.10和1.04個百分點。本文方法能夠提升視覺問答任務的答案預測準確率。
關鍵詞:視覺問答 注意力機制 多模態(tài)融合
中圖分類號:TP391.41" 文獻標志碼:A" 文章編號:1671-8755(2024)03-0086-10
Cross-modal Fusion Visual Question Answering Method Based
on Visual-language Feature Encoding
LIU Runzhi, CHEN Niannian, ZENG Fang
(School of Computer Science and Technology, Southwest University of Science
and Technology, Mianyang 621010, Sichuan, China)
Abstract:" Existing Visual Question Answering (VQA) methods use the same encoder to encode" visual-language features, ignoring the differences between visual and language modalities. This introduces visual noise into the encoding of visual features that are irrelevant to the questions, resulting in insufficient attention to key visual features. To address this problem, a cross-modal fusion VQA method based on visual-language features encoding is proposed. A dynamic attention mechanism is used to encode visual features to dynamically adjust the attentional span of visual features based on the question; a guided attention mechanism with dual-gate control is designed to filter out interfering information introduced in the multimodal fusion process, thus improving the quality of multimodal features fusion and the representability of multimodal features. The accuracies on the Test-dev and Test-std datasets of the public VQA-2.0 dataset reach 71.73% and 71.94%, respectively, compared with the baseline methods, which are improved by 1.10% and 1.04%, respectively. The proposed method in this paper can improve the accuracy of answer prediction in visual question-answering tasks.
Keywords:" Visual question answering; Attention mechanism; Multimodal fusion
視覺問答(Visual question answering,VQA)是多模態(tài)學習[1-2]任務之一。VQA的基本過程為:給定一幅自然場景的圖像和一個對應的自然語言描述的問題,同時對圖像和問題進行細粒度的語義理解,并結合視覺推理來預測準確的答案。
由于VQA任務中圖像和問題屬于兩種不同的模態(tài),并且視覺信息是由特征提取網絡獲得的高維特征,故需要不同的編碼器對這兩種模態(tài)進行編碼。Lu等[3]提出了分別編碼視覺特征和文本特征的模型,并通過共同注意轉換器讓兩種模態(tài)相互交互,充分學習多模態(tài)知識。Tan等[4]使用對象關系編碼器、語言編碼器分別提取圖像和文本信息中的關鍵對象和關鍵詞,再結合跨模態(tài)編碼器學習跨模態(tài)關系。Yu等[5]使用編解碼結構分別對文本和圖像進行編碼,并實現(xiàn)跨模態(tài)學習,達到準確回答問題的目的。Fukui等[6]使用自注意力和跨模態(tài)注意力模塊分別構建語言和視覺關系編解碼器,并附加特定的任務頭,以處理不同的多模態(tài)任務。以上這些方法在視覺問答任務中取得了一定的進步,然而它們仍然是依靠Transformer[7]的自注意力機制(Self-attention,SA)在全局依賴建模上的優(yōu)秀能力用于編碼視覺特征和語言特征,本質上使用的仍是同一種編碼器,沒有區(qū)分視覺-語言兩種模態(tài)之間的差異。最新研究[3,8]表明,如果僅憑SA的全局關注能力不足以完成視覺-語言相互結合的多模態(tài)任務(如VQA)。因為VQA模型要正確回答一個問題,不僅需要理解整個視覺內容的語義,更重要的是它們還應在編碼視覺特征的同時能夠根據(jù)問題的不同動態(tài)調整視覺注意范圍,以找到能夠準確回答問題的視覺區(qū)域。
另外,VQA作為一種多模態(tài)任務,要正確預測答案就必須對多模態(tài)融合之后的特征進行學習理解,進而捕獲有效的多模態(tài)表征。Gamage等[9]提出拼接兩種模態(tài)的早晚期融合策略來增強兩種模態(tài)的融合效果,從而提升模型的答案預測能力。Gao等[10]和Wei等[11]則提出一種用于圖像和句子匹配的新型多模態(tài)交叉注意力網絡來相互補充和增強兩者之間的關聯(lián),促進多模態(tài)學習。Li等[12]通過使用對比損失與跨模態(tài)注意力在融合前對齊圖像和文本兩種模態(tài),限制特征融合時帶入的無效信息,促進視覺-語言間的特征融合。Dou等[13]通過在圖像和文本編碼的主干網絡中嵌入跨模態(tài)注意力,讓兩種模態(tài)在早期就開始進行相互學習,從而增強兩種模態(tài)的融合效果。上述方法雖在多模態(tài)融合上取得了一定的效果,但始終難以打破文本和圖像之間的語義鴻溝[14],并且融合策略過于粗略,沒有限制特征融合時帶入的干擾信息(即將文本信息融入視覺信息時,某些文本信息可能對視覺信息產生干擾,反之亦然),從而導致模型預測出錯誤的答案。
目前方法存在以下問題:(1)編碼視覺-語言時仍采用相同的編碼器,忽略了兩種模態(tài)的差異,導致模型編碼視覺特征時引入了一些與問題無關的視覺干擾特征;(2)現(xiàn)有視覺編碼器不能動態(tài)調整對視覺特征的關注范圍,導致模型對關鍵視覺特征關注不足;(3)視覺-語言融合時沒有限制各自模態(tài)帶入的干擾信息(如將視覺信息融入文本信息時,所有的視覺元素都參與融合)。
為解決上述問題,本文提出了一種基于視覺-語言特征編碼的跨模態(tài)融合視覺問答方法。首先,為區(qū)分視覺和語言兩種模態(tài),提出在VQA模型中采用不同編碼器的方式以捕獲不同模態(tài)中的關鍵特征,即:采用一種動態(tài)的自注意力[15-16](Dynamic self-attention,DSA)來編碼視覺特征,并在此基礎上加入殘差連接和多層感知機(MLP)模塊,以增強對視覺特征的表示能力。同時,為每個注意力層配置路徑控制器,該控制器能根據(jù)前一層注意力計算的結果自動選擇下一層注意力范圍,進而確定與問題相關的視覺區(qū)域。以此為基本單元構建視覺編碼器,既能建模視覺對象之間的關聯(lián),又能動態(tài)調整注意力范圍,然后與語言編碼器共同組成視覺-語言編碼器。為了提升多模態(tài)融合能力,并消除視覺-語言特征融合時帶入的干擾信息,構建了一種深層跨模態(tài)融合模塊用于提升視覺-語言的融合能力,即:采用具有雙門控機制的引導注意力來過濾視覺-語言融合后的多模態(tài)信息,從而去除多模態(tài)特征中的干擾信息。為了增強多模態(tài)特征的表示能力,分別為兩條路徑配置了SA,DSA和MLP模塊。為了讓模型能夠汲取到更精確的多模態(tài)知識,再次對聯(lián)合嵌入后的多模態(tài)特征編碼,以增強VQA模型的多模態(tài)特征表征能力和推理能力,進而提升模型預測答案的準確率。在公共數(shù)據(jù)集VQA-2.0[17]上進行了本文方法有效性的實驗驗證。
1 視覺-語言特征編碼的跨模態(tài)融合視覺問答方法
本文提出一種視覺-語言特征編碼的跨模態(tài)融合網絡(Visual-language features encoding cross-modal fusion networks,VL-CMFNet)。包含3個模塊,其結構如圖1所示。
語言編碼器:采用自注意力單元與MLP實現(xiàn)文本特征編碼,同時使用殘差連接進一步增強語言特征的表征能力。為了捕獲關鍵特征信息,本文疊加NL層網絡作為語言編碼器。
視覺編碼器:視覺編碼器中使用動態(tài)注意力作為特征編碼器,該注意力能根據(jù)上一層的注意力圖自動選擇本層圖像的注意范圍,達到動態(tài)選取視覺特征的效果。類似于語言編碼器,在構建網絡時共疊加NV層。
跨模態(tài)融合模塊:在該模塊的兩個分支上采用引導注意力對兩種模態(tài)進行細粒度融合,并為其設置具有學習能力的門控因子α 與β,起到過濾多模態(tài)特征中干擾信息的效果。同時,為了增強多模態(tài)特征的表征能力,分別在兩個分支上加入 SA,DSA 和 MLP。本文在構建網絡時共使用NM層。
此外,本文在構建 VL-CMFNet 時依據(jù)文獻[18]的思想,在跨模態(tài)融合模塊的深層,使用多模態(tài)特征學習模塊,旨在促進詞與視覺元素之間相互學習理解和多模態(tài)特征的表征能力。
1.1 視覺-語言特征編碼器
1.1.1 多頭注意力
作為自注意力的基本組成部分,多頭注意力對特征關系建模至關重要。其中單頭的建模過程是把輸入的文本特征 T∈瘙綆n×d(n表示單詞個數(shù),d表示維度)線性映射(Linear mapping, LM)得到Q,K,V,然后計算所有Q和K的點積,并除以d,再把結果由softmax函數(shù)計算出注意力分數(shù),最后和V相乘得到注意力特征fatt。為了方便計算和降低計算復雜度,故保持三者維度一致。計算過程如式(1)所示:
fatt=Att(Q,K,V)=softmax(QKTd)V(1)
為進一步增強注意力特征的表示能力,把多個獨立的fatt拼接在一起。因此,最終多頭注意力(Multi-head attention,MHAtt)如式(2)所示:
MHAtt(Q,K,V)=[fatt1,fatt2…fatth]Wo(2)
fatti=Att(QWQi,KWKi,VWVi)(3)
式中:WQi,WKi,WVi∈瘙綆d×dh,為每一個頭的映射矩陣;Wo∈瘙綆h*dh×d 且可學習;[·]表示拼接操作;h表示多頭注意力中的多頭個數(shù);dh表示每個頭輸出特征的維度;d表示特征向量的維度大小。為防止多頭注意力參數(shù)量過大,約定dh=d/h。
1.1.2 語言編碼器
本文所用的語言編碼器是在上述多頭注意力的基礎上構造一個自注意力單元,對輸入的文本特征進行建模,實現(xiàn)詞與詞之間關聯(lián)關系的構建,其基本結構如圖2(a)所示。在多頭注意力的基礎上,再加入一層前饋網絡(Feed forward,F(xiàn)F),F(xiàn)F 是由兩層全連接層 FC、激活函數(shù) GELU 和 Dropout 構成(FC-GELU-Dropout(0.1)-FC)。另外,在MHAtt層和FF層使用殘差連接[19]和層歸一化[20](Layernorm,LN)進一步優(yōu)化。對于每個自注意力單元都有ti∈T的注意
特征Fi=MHAtt(ti,T,T),這一過程可以看作是所有在T內的樣本的相似性對ti的重新構建。因此一個基礎的自注意力單元可以表示為:
t~=LN(T+MHAtt(T))
Z=SA(T)=LN(t~+FF(t~))(4)
式中:t~表示經過 MHAtt 和層歸一化計算的特征;Z表示最終自注意力的輸出特征。
一個基本語言編碼器的構成是在上式的基礎上再連接一個 MLP 模塊,再次增強文本特征的感知能力。所以整體語言編碼器層的公式表示為:
FSA=LN(T+Dropout(TSA))
Ft=LN(FSA+MLP(FSA))(5)
式中:FSA 表示自注意力計算后使用殘差連接和層歸一化獲得的特征;Dropout(·)能夠將特征中的部分值置為零,旨在消除過擬合;TSA表示 SA 計算后的結果;Ft為一層編碼器計算得出的特征。語言編碼器整體結構如圖1的語言編碼器部分。
1.1.3 視覺編碼器
近年來,基于 Transformer 卓越的全局依賴建模能力被廣泛應用到視覺-語言任務中,VQA 任務也引入 Transformer 的思想。但 Transformer 中 SA 不會隨注意力層數(shù)加深動態(tài)調整注意力范圍,而 VQA 任務需要的視覺注意力范圍是一個從宏觀到微觀的過程。因此,使用一種能動態(tài)調整注意力范圍的自注意力(DSA)對視覺信息進行動態(tài)編碼,篩選出對 VQA 預測答案相關的視覺對象。
在 VQA 任務中,本文在經過 ResNext152 提取的視覺特征上引入具有動態(tài)調整注意力范圍的動態(tài)自注意力 DSA。該方式不僅能使圖像中整體的視覺對象之間建立關聯(lián)關系,還能基于上一層的輸出來預測下一層注意力圖的范圍。DSA 結構如圖2(b)所示。DSA 為具有動態(tài)路徑選擇的注意力,該注意力使網絡能夠在不同注意力層的特征圖中根據(jù)前一層的輸出調整本層的注意力范圍,這樣不僅可以在圖像的全局形成注意力依賴關系,還可以根據(jù)注意力層的結果選取不同的注意力范圍,通過聚合圖像全局的特征和局部細節(jié)特征,提高圖像特征的編碼能力達到準確回答問題的目的。
對于輸入X∈瘙綆m×d,DSA 對其編碼可以簡化為mi=0λiFi(X),λi是選擇不同路徑的概率,F(xiàn)i是一組不同的注意力,其表達式如式(2)所示。λ可以通過軟路由文獻[15]的方式得到。然而,這樣的路由方案不可避免地會使網絡變得非常繁瑣,并極大地增加訓練開銷。因此需要優(yōu)化這個路由過程,把式(2)的注意力看作如下的過程:
Z=SA(X)=AXWv
A=softmax(XWq(XWk)Td)(6)
在式(6)中,把 SA 看作一個全連接圖的特征更新函數(shù),因此A∈瘙綆m×m就可以作為權重鄰接矩陣[21]。DSA 的目的是要得到不同注意力范圍的特
征,所以只需要對每個輸入的全連接圖進行限制。
本文基于此為計算完成后的鄰接矩陣A增加一組掩碼M∈瘙綆m×m,旨在減少全連接圖中某些頂點之間的連接,起到限制注意力范圍的作用。因此A可以改寫為:
A=softmax(XWq(XWk)TdM)(7)
掩碼M是一個只包含 0 和 1 的矩陣,在實際訓練時 0 被替換為一個無窮大的負值。因此,注意力的范圍就只在定義的區(qū)域內有效?;谑剑?),動態(tài)注意力層 DSA 可以被定義為如下形式:
DSAR(X)=ni=0softmax(XWq(XWk)TdMi)XWv(8)
式中:Wq,Wk,Wv是可學習的權重參數(shù),且在不同層之間共享,起到降低參數(shù)量的作用。據(jù)式(8)分析此過程依然是一個對注意力模塊的選擇,為了進一步簡化計算,將模塊選擇轉變?yōu)閷︵徑泳仃囇诖aM的選擇,新的定義如下:
DSAR(X)=softmax(XWq(XWk)Tdni=0λiMi)XWv(9)
其中對于路徑控制器λ有如下定義:
λ=softmax(MLP(fatt))
fatt=AttentionPooling(X)(10)
式中:MLP是一個多層感知機;AttentionPooling為基于注意力的池化方法[5]。因此一個基本的動態(tài)自注意力單元如式(11)所示:
x~=LN(X+DSAR(X))
ZDSA=DSA(X)=LN(x~+FF(x~))(11)
式中:x~表示動態(tài)編碼和層歸一化計算得到的特征;ZDSA 表示動態(tài)注意力編碼的特征。
一個基本視覺編碼器的構成是在式(11)的基礎上連接一個 MLP 模塊,再次增強特征的感知能力,所以整體的視覺編碼器編碼過程表示如下:
FDSA=LN(X+Dropout(XDSA))
Fv=LN(FDSA+MLP(FDSA))(12)
式中:FDSA" 表示經過殘差連接和層歸一化后的特征;XDSA 表示 DSA 計算后的特征;Fv為一層視覺編碼器編碼后的特征。視覺編碼器的整體結構如圖1中的視覺編碼器所示。
1.2 跨模態(tài)融合模塊
為了促進多模態(tài)特征的融合并同時過濾融合時的干擾特征,本文構建了如圖1跨模態(tài)融合模塊所示的多模態(tài)融合模塊。首先,在引導注意力(Guided-attention,GA)上增加雙門控機制,然后,與 DSA 和 SA 共同嵌入主干網絡中編碼多模態(tài)特征。為進一步在多模態(tài)特征中汲取知識,在模塊的最后兩層引入聚合模塊對融合后的特征進行整體編碼以加強模態(tài)間交互能力,進而提升答案預測能力。
1.2.1 引導注意力頭的定義
作為 GA 模塊的重要組成部分,引導注意力頭(Guided attention head,GAH)對視覺-語言相互融合至關重要。其過程是讓輸入的特征X=[x1,x2…xm]∈瘙綆m×d 和Y=[y1,y2…yn]∈瘙綆n×d 相互引導完成相互學習,由于計算靈活,故兩種特征的維度大小可以不同,其公式表示為:
fGAH(X,Y)=GAH(X,[y1,y2…yn])(13)
上式可以理解為是X從Y中學習得到與特征Y相關聯(lián)的信息。類似的,當輸入變?yōu)镕GAH(Y,X)時表示Y從X中學習。
1.2.2 跨模態(tài)融合過程
VQA 任務要求模型不僅要學習與文本相關的視覺內容,同時還應學習與視覺相關的文本內容,以及對模態(tài)融合之后的整體理解。本文使用兩個 GA 單元以提高模態(tài)融合能力,GA 的基本結構如圖2(c)所示。首先是文本引導圖像從中學習重要的視覺特征,為了便于計算,保持文本和圖像的特征維度一致。構造如下的 GA 單元:
ft=fGAH(T,X)
f~t=LN(T+ft)(14)
FGAt=LN(f~t+FF(f~t))
式(14)表示所有輸入的文本特征ti∈T和圖像特征xj∈X。T引導注意力從X中學習得到注意力特征ft看作是每一個ti在所有X樣本中學習得到的與ti相似的跨模態(tài)特征,即通過文本去圖像中查詢出相關的視覺內容并且融合在文本特征中。f~t表示層歸一化后的包含視覺信息的特征;FGAt表示文本引導圖像獲得的多模態(tài)特征。
然后是圖像引導文本從中學習關鍵的文本特征,于是構造另一個 GA 單元:
fv=fGAH(X,T)
f~v=LN(X+fv)(15)
FGAv=LN(f~v+FF(f~v))
式(15)則是X引導注意力從T中學習得到注意力特征fv看作是每一個xi在所有T樣本中學習得到的與xi相似的跨模態(tài)特征,即通過圖像去文本中查詢出相關的文本內容并且融合在圖像特征中。f~v表示層歸一化后的包含語言信息的特征;FGAv表示圖像引導文本獲得的多模態(tài)特征。
在此基礎上為兩個 GA 單元再加入門控因子α和β,過濾掉多模態(tài)特征中的干擾信息。得到的多模態(tài)特征再分別經過 SA 和 DSA 進一步為得到的多模態(tài)特征構建內部關聯(lián),之后再經過 MLP 感知細粒度的多模態(tài)特征。整個過程表示如下:
α=torch.nn.Parameter(initα)
f~tv=Ft+α*FGAt
ftv=f~tv+SA(f~tv)(16)
Ftv=ftv+MLP(ftv)
β=torch.nn.Parameter(initβ)
f~vt=Fv+β*FGAv
fvt=f~vt+DSA(f~vt)(17)
Fvt=fvt+MLP(fvt)
式中:α,β的初始值分別為initα和initβ;torch.nn.Parameter(·)為機器學習框架PyTorch內置函數(shù),輸入該函數(shù)參數(shù)能隨網絡訓練自動優(yōu)化。在式(16)中,F(xiàn)t表示經過語言編碼器編碼得到的特征;f~tv,ftv 表示計算過程中的隱藏特征;Ftv 表示多模態(tài)融合層輸出的包含視覺信息的特征;在式(17)中,F(xiàn)v表示經過視覺編碼器編碼得到的特征;f~vt,fvt表示隱藏特征;Fvt 表示多模態(tài)融合層輸出包含問題信息的特征。
1.2.3 聚合模塊
該部分作為門控引導注意力的加強,把經過 GA 單元編碼后的文本和圖像多模態(tài)特征拼接在一起,輸入聚合模塊對其進行聯(lián)合建模。聚合模塊中使用 MHAtt 對聯(lián)合特征進行增強編碼,再按輸入的維度大小拆分開,這有助于學習聯(lián)合特征中相互關聯(lián)的關鍵特征。聚合模塊網絡結構如圖3所示。
聚合模塊運算過程可表示為:
fcat=LN([Fvt‖F(xiàn)tv])
f1, f2=torch.split([Fvt‖F(xiàn)tv]+MHAtt(fcat))
F1=f1+FFN(LN(f1))
F2=f2+FFN(LN(f2))(18)
式中:[·‖·] 表示把兩種特征進行拼接;torch.split(·)表示把拼接后的特征拆分為原大??;fcat,f1,f2,F(xiàn)1,F(xiàn)2為各自特征;FFN(·)表示前饋神經網絡。聚合模塊運用在多層跨模態(tài)融合模塊的最后兩層。
2 實驗與結果分析
2.1 數(shù)據(jù)集
使用 VQA-2.0 數(shù)據(jù)集[17]評估所提方法的有效性。該數(shù)據(jù)集中每幅圖像至少有 3 個問題,每個問題有 10 個答案。其中包括 82 783張訓練圖像,40 504張驗證圖像,81 434張測試圖片。問題-答案對包括443 757個訓練問題,4 437 570個訓練答案,214 354個驗證問題,2 143 540個驗證答案,447 793 個測試問題。此外,Test-dev 和Test-std 用于在線評估模型的答案預測準確率。結果以每種類型(是/否,計數(shù),其他)的準確率和“整體”準確率組成。
2.2 實驗參數(shù)設置
實驗的 PC 環(huán)境為 Ubuntu 20.04.4 LTS,Intel Xeon(R) E5-2650 V4@2.20 GHz×48,GPU 為 NVIDIA TITAN Ⅴ,內存為 12 GB。在 PyTorch1.7 深度學習框架中進行訓練與測試。
在實驗過程中詞向量維度為 300,使用 GRU 編碼后的文本特征維度為 512。依據(jù)文獻[22]統(tǒng)計結果,問題的最大長度為 16 個單詞。語言編碼器層數(shù)NL=10。圖像部分首先使用在 Visual Genome 上預訓練的 ResNext152 提取視覺特征,特征維度為 512。視覺編碼器層數(shù)NV=10??缒B(tài)融合模塊的層數(shù) NM=10,門控因子α初始化為0,β初始化為 1。MHAtt中頭的數(shù)量h=8,dh=64。學習率為2.5te-5,t=1,2,3;之后為5e-5,每個輪次衰減 0.25。一共訓練 16 個輪次,批量樣本大小設置為64,優(yōu)化器為Adam。
2.3 評價指標
本文所有實驗結果的精度評價指標為準確率(Accuracy,A),計算公式如下:
A=min(#ANSWERS3,1)(19)
式中 #ANSWERS表示人工標注的答案,每一個問題的某一個答案數(shù)量在3個或以上時則認為該答案是正確答案。
2.4 各模塊實驗結果對比分析
2.4.1 DSA模塊有效性驗證
為了驗證視覺編碼器中使用 DSA 的有效性,本文在 VQA-2.0 數(shù)據(jù)集上分別比較了使用 DSA 與 SA 方法的模型精度,精度計算方式如式(19)所示。具體實驗結果如表1所示,所有結果均是驗證集結果。
從表1可知,“是/否”和“計數(shù)”類型的問題精度提升了 0.47個百分點,“其他”類問題提升了 0.16 個百分點,“整體”類型的精度提升了 0.32個百分點。由此可得出DSA對于“是/否”和“計數(shù)”類的問題更加具有幫助。這是因為要回答“計數(shù)”類的問題,需要注意到圖像中與問題相關的所有視覺對象,要求模型根據(jù)對問題的理解不斷優(yōu)化視覺區(qū)域,這體現(xiàn)了DSA的動態(tài)調節(jié)能力。由此可以看出動態(tài)自注意力在保持良好全局注意力的同時能夠動態(tài)調整圖像的注意范圍,為正確預測答案提供了有效的視覺信息。
2.4.2 門控因子α與β有效性驗證
關于引導注意力中門控因子α與β的有效性驗證,主要對比了使用門控因子和不使用門控因子時的實驗結果。具體實驗結果如表2所示。
從表2可知,使用門控參數(shù)之后的“計數(shù)”類預測精度提升了 0.54個百分點,“整體”類型的精度提升了 0.16個百分點?!坝嫈?shù)”類精度提升較多,這是因為計數(shù)類問題大多涉及多個視覺對象,沒有門控因子控制時通常會帶入干擾信息,同時表明“計數(shù)”類問題需要更高質量的多模態(tài)知識支持。實驗結果證明門控因子α,β起到了過濾雙模態(tài)特征中干擾信息的作用。
2.4.3 聚合模塊有效性驗證
聚合模塊主要在跨模態(tài)融合模塊的最后兩層使用,以增強雙模態(tài)特征的表示能力。本文在VQA-2.0驗證集上證明了該模塊的有效性,實驗結果如表3所示。
從表3可知,使用聚合模塊后模型的“整體”類的精度提升了 0.38個百分點;“計數(shù)”類的精度提升了 1.63個百分點,這表明使用該模塊汲取的多模態(tài)知識對“計數(shù)”類的問題更有益,同樣表明“計數(shù)”類的問題需更充分的多模態(tài)知識支持。對于表現(xiàn)優(yōu)秀的“是/否”類型的精度同樣有一定的提高。使用聚合模塊能夠起到增強雙模態(tài)特征表示能力的作用,并有效提升模型預測答案的準確率。
2.4.4 不同層數(shù)的網絡結構對精度的影響
不同層數(shù)的編碼器與跨模態(tài)融合模塊對模型精度影響的驗證結果如圖4所示。本文主要驗證NL,NV,NM∈{2,4,6,8,10,12}的效果。
從圖4(a)可知,隨網絡層數(shù)的增加,“整體”類型的精度先隨網絡層數(shù)的增加而增加,當網絡層數(shù)在第10層時趨于穩(wěn)定,再次增加網絡層數(shù)精度反而有所降低;從圖 4(b)可以看出,“是/否”類的精度對于層數(shù)變化較敏感,但同樣在網絡層數(shù)為10層時趨于穩(wěn)定,類似的情況同樣存在于“計數(shù)”和“其他”類中。依據(jù)文獻[5]分析,當層數(shù)大于10時“整體”精度和每個類型的精度都有所降低,是由于在訓練期間梯度信息不穩(wěn)定,進而導致模型優(yōu)化困難。因此本文采用10層網絡結構。
2.5 實驗結果與分析
為驗證VL-CMFNet模型能夠提升答案預測的準確率,與目前5個優(yōu)秀的算法BAN[23],DFAF[10],ReGAT[24],MCAN[5],MMnasNet[25]進行了對比。
BAN利用雙線性注意網絡,提取圖像區(qū)域與問題詞之間的雙線性交互,并通過低秩雙線性池化提取區(qū)域與單詞之間的聯(lián)合表示。
DFAF采用模態(tài)內和模態(tài)間交替在視覺和語言中交互,以提高模型預測能力。
ReGAT通過圖注意力機制對每幅圖像中的多類型對象間的關系進行建模,以學習問題與目標對象自適應的關系表示,從而提高模型預測精度。
MCAN利用深度協(xié)同注意力模塊捕獲兩種模態(tài)自身特征和圖像引導注意建模,進而提升模型答案預測準確率。
MMnasNet構建一個基于深度編碼器-解碼器的主干和適用于VQA的任務頭,進而改善模型預測答案的準確率。
本文算法與其他5個算法在VQA-2.0數(shù)據(jù)集上準確率對比情況的詳細數(shù)據(jù)如表4所示。
表4中加黑字體表示每個類型的最優(yōu)精度。從表4可知,“整體”類的精度在Test-dev測試集上達到了71.73%,比BAN高出了1.69個百分點;在Test-std測試集上達到了71.94%,比DFAF高出了1.6個百分點。“整體”類型的精度均超越了目前5個優(yōu)秀的算法。此外,“其他”類型的精度在Test-dev測試集上比ReGAT高出了2.24個百分點。與常用的基線任務MCAN相比,本文方法在兩個測試集上“整體”精度分別提升了1.10和1.04個百分點,“計數(shù)”類型的精度提升了1.00個百分點,“其他”類型的精度提升了1.85個百分點;“是/否”類型的普遍準確率較高,本文方法同樣能與其他5個方法保持在同一水平,相比基線任務仍有所提升。實驗證明本文方法能夠在VQA-2.0數(shù)據(jù)集上提升答案預測的準確率。
從各項實驗結果可以看出,使用 DSA 的視覺編碼器能夠起到提升答案預測準確率的作用;具有門控機制的引導注意力和聚合模塊能夠在模態(tài)融合時起到過濾干擾信息和增強聯(lián)合多模態(tài)特征表示能力的效果。綜上,本文所提方法能夠提升VQA模型答案預測的準確率。
3 結論
提出了基于視覺-語言特征編碼的跨模態(tài)融合視覺問答方法,該方法采用了視覺-語言編碼器與跨模態(tài)融合相結合的方式,利用編碼器卓越的建模能力,使模型對單一特征內的關鍵信息建立關聯(lián)關系,進而增加單一特征內關鍵信息的長依賴關系;在跨模態(tài)融合模塊內采用雙門控機制引導注意力,使模型具有“看”什么和“聽”什么的能力,同時消除干擾信息并降低語言噪聲;聚合模塊再次增強聯(lián)合特征的建模,進而提升多模態(tài)知識的學習能力。在VQA-2.0數(shù)據(jù)集上進行的實驗驗證表明本文所提方法能夠提升答案預測的準確率,為提升多模態(tài)特征表示能力提供了一種可行的方法。同時,從本項工作中認識到VQA作為多模態(tài)任務不僅對單一模態(tài)關系建模重要,對視覺-語言兩種模態(tài)的共同理解同樣能夠提升模型預測答案的能力。
參考文獻
[1] XU P, ZHU X T, CLIFTON D A. Multimodal learning with transformers: a survey[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2023, 45(10): 12113-12132.
[2] 武阿明, 姜品, 韓亞洪. 基于視覺和語言的跨媒體問答與推理研究綜述[J]. 計算機科學, 2021, 48(3): 71-78.
[3] LU J S, BATRA D, PARIKH D, et al. ViLBERT: pretraining task-agnostic visiolinguistic representations for vision-and-language tasks[EB/OL].(2019-08-06) http:∥arxiv.org/abs/1908.02265v1.
[4] TAN H, BANSAL M. LXMERT: learning cross-modality encoder representations from transformers[C]∥Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP). Stroudsburg, PA, USA: Association for Computational Linguistics, 2019: 5100-5111.
[5] YU Z, YU J, CUI Y H, et al. Deep modular co-attention networks for visual question answering[C]∥2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2019: 6274-6283.
[6] FUKUI A, PARK D H, YANG D, et al. Multimodal compact bilinear pooling for visual question answering and visual grounding[C]∥Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, PA, USA: Association for Computational Linguistics, 2016: 457-468.
[7] VASWANI A, SHAZEER N, PARMAR N, et al. Attention is all you need[C]∥Proceedings of the 31st International Conferenceon Neural lnformation Processing Systems. 2017:5998-6008.
[8] HUANG Z C, ZENG Z Y, LIU B, et al. Pixel-BERT: aligning image pixels with text by deep multi-modal transformers[EB/OL].(2020-06-22) https://arxiv.org/abs/2004.00849.
[9] GAMAGE B M S V, HONG L C. Improved RAMEN: towards domain generalization for visual question answering[EB/OL].(2021-09-06) http://arxiv.org/abs/2109.02370v1.
[10]GAO P, JIANG Z K, YOU H X, et al. Dynamic fusion with intra- and inter-modality attention flow for visual question answering[C]∥2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2019: 6639-6648.
[11]WEI X, ZHANG T Z, LI Y, et al. Multi-modality cross attention network for image and sentence matching[C]∥2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2020: 10938-10947.
[12]LI J N, SELVARAJU R R, GOTMARE A D, et al. Align before fuse: vision and language representation learning with momentum distillation[EB/OL]. (2021-12-07) http:∥arxiv.org/abs/2107.07651v2.
[13]DOU Z Y, KAMATH A, GAN Z, et al. Coarse-to-fine vision-language pre-training with fusion in the backbone[C]∥Advances in Neural Information Processing Systems 35 (NeurIPS 2022), 2022: 32942-32956.
[14]王樹徽, 閆旭, 黃慶明. 跨媒體分析與推理技術研究綜述[J]. 計算機科學, 2021, 48(3): 79-86.
[15]LI Y W, SONG L, CHEN Y K, et al. Learning dynamic routing for semantic segmentation[C]∥2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2020: 8550-8559.
[16]YANG L, HAN Y Z, CHEN X, et al. Resolution adaptive networks for efficient inference[C]∥2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2020: 2366-2375.
[17]GOYAL Y, KHOT T, SUMMERS-STAY D, et al. Making the V in VQA matter: elevating the role of image understanding in visual question answering[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2017: 6325-6334.
[18]YAO T, LI Y H, PAN Y W, et al. Dual vision transformer[EB/OL]. (2022-07-11) https:∥arxiv.org/abs/2207.04976.
[19]HE K M, ZHANG X Y, REN S Q, et al. Deep residual learning for image recognition[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2016: 770-778.
[20]BA J L, KIROS J R, HINTON G E. Layer normalizati-on[EB/OL].(2021-07-21) https:∥arxiv.org/abs/1607.06450.
[21]ZHOU Y Y, JI R R, SUN X S, et al. K-armed bandit based multi-modal network architecture search for visual question answering[C]∥Proceedings of the 28th ACM International Conference on Multimedia. ACM, 2020: 1245-1254.
[22]ANTOL S, AGRAWAL A, LU J S, et al. VQA: visual question answering[C]∥2015 IEEE International Conference on Computer Vision (ICCV). IEEE, 2015: 2425-2433.
[23]KIM J H, JUN J, ZHANG B T. Bilinear attention networks[EB/OL]∥(2018-12-19)[2023-05-21] https:∥doi.org/10.48550/arXiv.1805.07932
[24]LI L J, GAN Z, CHENG Y, et al. Relation-aware graph attention network for visual question answering[C]∥2019 IEEE/CVF International Conference on Computer Vision (ICCV). IEEE, 2019: 10312-10321.
[25]YU Z, CUI Y H, YU J, et al. Deep multimodal neural architecture search[C]∥Proceedings of the 28th ACM International Conference on Multimedia. ACM, 2020: 3743-3752.