摘要:現(xiàn)有的視覺問答方法采用相同編碼器編碼視覺-語(yǔ)言特征,忽略了視覺-語(yǔ)言模態(tài)之間的差異,從而在編碼視覺特征時(shí)引入與問題無關(guān)的視覺干擾特征,導(dǎo)致對(duì)關(guān)鍵視覺特征關(guān)注不足。提出一種基于視覺-語(yǔ)言特征編碼的跨模態(tài)融合視覺問答方法:采用一種動(dòng)態(tài)注意力編碼視覺特征以實(shí)現(xiàn)根據(jù)問題動(dòng)態(tài)調(diào)整視覺特征的注意力范圍;設(shè)計(jì)了一種具有雙門控機(jī)制的引導(dǎo)注意力以過濾多模態(tài)融合過程帶入的干擾信息,提升多模態(tài)特征融合的質(zhì)量,并增強(qiáng)多模態(tài)特征的表征能力。該方法在視覺問答公共數(shù)據(jù)集VQA-2.0上的Test-dev和Test-std兩個(gè)測(cè)試集上的準(zhǔn)確率分別達(dá)到71.73%和71.94%,相比于基準(zhǔn)方法分別提升了1.10和1.04個(gè)百分點(diǎn)。本文方法能夠提升視覺問答任務(wù)的答案預(yù)測(cè)準(zhǔn)確率。
關(guān)鍵詞:視覺問答 注意力機(jī)制 多模態(tài)融合
中圖分類號(hào):TP391.41" 文獻(xiàn)標(biāo)志碼:A" 文章編號(hào):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)學(xué)習(xí)[1-2]任務(wù)之一。VQA的基本過程為:給定一幅自然場(chǎng)景的圖像和一個(gè)對(duì)應(yīng)的自然語(yǔ)言描述的問題,同時(shí)對(duì)圖像和問題進(jìn)行細(xì)粒度的語(yǔ)義理解,并結(jié)合視覺推理來預(yù)測(cè)準(zhǔn)確的答案。
由于VQA任務(wù)中圖像和問題屬于兩種不同的模態(tài),并且視覺信息是由特征提取網(wǎng)絡(luò)獲得的高維特征,故需要不同的編碼器對(duì)這兩種模態(tài)進(jìn)行編碼。Lu等[3]提出了分別編碼視覺特征和文本特征的模型,并通過共同注意轉(zhuǎn)換器讓兩種模態(tài)相互交互,充分學(xué)習(xí)多模態(tài)知識(shí)。Tan等[4]使用對(duì)象關(guān)系編碼器、語(yǔ)言編碼器分別提取圖像和文本信息中的關(guān)鍵對(duì)象和關(guān)鍵詞,再結(jié)合跨模態(tài)編碼器學(xué)習(xí)跨模態(tài)關(guān)系。Yu等[5]使用編解碼結(jié)構(gòu)分別對(duì)文本和圖像進(jìn)行編碼,并實(shí)現(xiàn)跨模態(tài)學(xué)習(xí),達(dá)到準(zhǔn)確回答問題的目的。Fukui等[6]使用自注意力和跨模態(tài)注意力模塊分別構(gòu)建語(yǔ)言和視覺關(guān)系編解碼器,并附加特定的任務(wù)頭,以處理不同的多模態(tài)任務(wù)。以上這些方法在視覺問答任務(wù)中取得了一定的進(jìn)步,然而它們?nèi)匀皇且揽縏ransformer[7]的自注意力機(jī)制(Self-attention,SA)在全局依賴建模上的優(yōu)秀能力用于編碼視覺特征和語(yǔ)言特征,本質(zhì)上使用的仍是同一種編碼器,沒有區(qū)分視覺-語(yǔ)言兩種模態(tài)之間的差異。最新研究[3,8]表明,如果僅憑SA的全局關(guān)注能力不足以完成視覺-語(yǔ)言相互結(jié)合的多模態(tài)任務(wù)(如VQA)。因?yàn)閂QA模型要正確回答一個(gè)問題,不僅需要理解整個(gè)視覺內(nèi)容的語(yǔ)義,更重要的是它們還應(yīng)在編碼視覺特征的同時(shí)能夠根據(jù)問題的不同動(dòng)態(tài)調(diào)整視覺注意范圍,以找到能夠準(zhǔn)確回答問題的視覺區(qū)域。
另外,VQA作為一種多模態(tài)任務(wù),要正確預(yù)測(cè)答案就必須對(duì)多模態(tài)融合之后的特征進(jìn)行學(xué)習(xí)理解,進(jìn)而捕獲有效的多模態(tài)表征。Gamage等[9]提出拼接兩種模態(tài)的早晚期融合策略來增強(qiáng)兩種模態(tài)的融合效果,從而提升模型的答案預(yù)測(cè)能力。Gao等[10]和Wei等[11]則提出一種用于圖像和句子匹配的新型多模態(tài)交叉注意力網(wǎng)絡(luò)來相互補(bǔ)充和增強(qiáng)兩者之間的關(guān)聯(lián),促進(jìn)多模態(tài)學(xué)習(xí)。Li等[12]通過使用對(duì)比損失與跨模態(tài)注意力在融合前對(duì)齊圖像和文本兩種模態(tài),限制特征融合時(shí)帶入的無效信息,促進(jìn)視覺-語(yǔ)言間的特征融合。Dou等[13]通過在圖像和文本編碼的主干網(wǎng)絡(luò)中嵌入跨模態(tài)注意力,讓兩種模態(tài)在早期就開始進(jìn)行相互學(xué)習(xí),從而增強(qiáng)兩種模態(tài)的融合效果。上述方法雖在多模態(tài)融合上取得了一定的效果,但始終難以打破文本和圖像之間的語(yǔ)義鴻溝[14],并且融合策略過于粗略,沒有限制特征融合時(shí)帶入的干擾信息(即將文本信息融入視覺信息時(shí),某些文本信息可能對(duì)視覺信息產(chǎn)生干擾,反之亦然),從而導(dǎo)致模型預(yù)測(cè)出錯(cuò)誤的答案。
目前方法存在以下問題:(1)編碼視覺-語(yǔ)言時(shí)仍采用相同的編碼器,忽略了兩種模態(tài)的差異,導(dǎo)致模型編碼視覺特征時(shí)引入了一些與問題無關(guān)的視覺干擾特征;(2)現(xiàn)有視覺編碼器不能動(dòng)態(tài)調(diào)整對(duì)視覺特征的關(guān)注范圍,導(dǎo)致模型對(duì)關(guān)鍵視覺特征關(guān)注不足;(3)視覺-語(yǔ)言融合時(shí)沒有限制各自模態(tài)帶入的干擾信息(如將視覺信息融入文本信息時(shí),所有的視覺元素都參與融合)。
為解決上述問題,本文提出了一種基于視覺-語(yǔ)言特征編碼的跨模態(tài)融合視覺問答方法。首先,為區(qū)分視覺和語(yǔ)言兩種模態(tài),提出在VQA模型中采用不同編碼器的方式以捕獲不同模態(tài)中的關(guān)鍵特征,即:采用一種動(dòng)態(tài)的自注意力[15-16](Dynamic self-attention,DSA)來編碼視覺特征,并在此基礎(chǔ)上加入殘差連接和多層感知機(jī)(MLP)模塊,以增強(qiáng)對(duì)視覺特征的表示能力。同時(shí),為每個(gè)注意力層配置路徑控制器,該控制器能根據(jù)前一層注意力計(jì)算的結(jié)果自動(dòng)選擇下一層注意力范圍,進(jìn)而確定與問題相關(guān)的視覺區(qū)域。以此為基本單元構(gòu)建視覺編碼器,既能建模視覺對(duì)象之間的關(guān)聯(lián),又能動(dòng)態(tài)調(diào)整注意力范圍,然后與語(yǔ)言編碼器共同組成視覺-語(yǔ)言編碼器。為了提升多模態(tài)融合能力,并消除視覺-語(yǔ)言特征融合時(shí)帶入的干擾信息,構(gòu)建了一種深層跨模態(tài)融合模塊用于提升視覺-語(yǔ)言的融合能力,即:采用具有雙門控機(jī)制的引導(dǎo)注意力來過濾視覺-語(yǔ)言融合后的多模態(tài)信息,從而去除多模態(tài)特征中的干擾信息。為了增強(qiáng)多模態(tài)特征的表示能力,分別為兩條路徑配置了SA,DSA和MLP模塊。為了讓模型能夠汲取到更精確的多模態(tài)知識(shí),再次對(duì)聯(lián)合嵌入后的多模態(tài)特征編碼,以增強(qiáng)VQA模型的多模態(tài)特征表征能力和推理能力,進(jìn)而提升模型預(yù)測(cè)答案的準(zhǔn)確率。在公共數(shù)據(jù)集VQA-2.0[17]上進(jìn)行了本文方法有效性的實(shí)驗(yàn)驗(yàn)證。
1 視覺-語(yǔ)言特征編碼的跨模態(tài)融合視覺問答方法
本文提出一種視覺-語(yǔ)言特征編碼的跨模態(tài)融合網(wǎng)絡(luò)(Visual-language features encoding cross-modal fusion networks,VL-CMFNet)。包含3個(gè)模塊,其結(jié)構(gòu)如圖1所示。
語(yǔ)言編碼器:采用自注意力單元與MLP實(shí)現(xiàn)文本特征編碼,同時(shí)使用殘差連接進(jìn)一步增強(qiáng)語(yǔ)言特征的表征能力。為了捕獲關(guān)鍵特征信息,本文疊加NL層網(wǎng)絡(luò)作為語(yǔ)言編碼器。
視覺編碼器:視覺編碼器中使用動(dòng)態(tài)注意力作為特征編碼器,該注意力能根據(jù)上一層的注意力圖自動(dòng)選擇本層圖像的注意范圍,達(dá)到動(dòng)態(tài)選取視覺特征的效果。類似于語(yǔ)言編碼器,在構(gòu)建網(wǎng)絡(luò)時(shí)共疊加NV層。
跨模態(tài)融合模塊:在該模塊的兩個(gè)分支上采用引導(dǎo)注意力對(duì)兩種模態(tài)進(jìn)行細(xì)粒度融合,并為其設(shè)置具有學(xué)習(xí)能力的門控因子α 與β,起到過濾多模態(tài)特征中干擾信息的效果。同時(shí),為了增強(qiáng)多模態(tài)特征的表征能力,分別在兩個(gè)分支上加入 SA,DSA 和 MLP。本文在構(gòu)建網(wǎng)絡(luò)時(shí)共使用NM層。
此外,本文在構(gòu)建 VL-CMFNet 時(shí)依據(jù)文獻(xiàn)[18]的思想,在跨模態(tài)融合模塊的深層,使用多模態(tài)特征學(xué)習(xí)模塊,旨在促進(jìn)詞與視覺元素之間相互學(xué)習(xí)理解和多模態(tài)特征的表征能力。
1.1 視覺-語(yǔ)言特征編碼器
1.1.1 多頭注意力
作為自注意力的基本組成部分,多頭注意力對(duì)特征關(guān)系建模至關(guān)重要。其中單頭的建模過程是把輸入的文本特征 T∈瘙綆n×d(n表示單詞個(gè)數(shù),d表示維度)線性映射(Linear mapping, LM)得到Q,K,V,然后計(jì)算所有Q和K的點(diǎn)積,并除以d,再把結(jié)果由softmax函數(shù)計(jì)算出注意力分?jǐn)?shù),最后和V相乘得到注意力特征fatt。為了方便計(jì)算和降低計(jì)算復(fù)雜度,故保持三者維度一致。計(jì)算過程如式(1)所示:
fatt=Att(Q,K,V)=softmax(QKTd)V(1)
為進(jìn)一步增強(qiáng)注意力特征的表示能力,把多個(gè)獨(dú)立的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,為每一個(gè)頭的映射矩陣;Wo∈瘙綆h*dh×d 且可學(xué)習(xí);[·]表示拼接操作;h表示多頭注意力中的多頭個(gè)數(shù);dh表示每個(gè)頭輸出特征的維度;d表示特征向量的維度大小。為防止多頭注意力參數(shù)量過大,約定dh=d/h。
1.1.2 語(yǔ)言編碼器
本文所用的語(yǔ)言編碼器是在上述多頭注意力的基礎(chǔ)上構(gòu)造一個(gè)自注意力單元,對(duì)輸入的文本特征進(jìn)行建模,實(shí)現(xiàn)詞與詞之間關(guān)聯(lián)關(guān)系的構(gòu)建,其基本結(jié)構(gòu)如圖2(a)所示。在多頭注意力的基礎(chǔ)上,再加入一層前饋網(wǎng)絡(luò)(Feed forward,F(xiàn)F),F(xiàn)F 是由兩層全連接層 FC、激活函數(shù) GELU 和 Dropout 構(gòu)成(FC-GELU-Dropout(0.1)-FC)。另外,在MHAtt層和FF層使用殘差連接[19]和層歸一化[20](Layernorm,LN)進(jìn)一步優(yōu)化。對(duì)于每個(gè)自注意力單元都有ti∈T的注意
特征Fi=MHAtt(ti,T,T),這一過程可以看作是所有在T內(nèi)的樣本的相似性對(duì)ti的重新構(gòu)建。因此一個(gè)基礎(chǔ)的自注意力單元可以表示為:
t~=LN(T+MHAtt(T))
Z=SA(T)=LN(t~+FF(t~))(4)
式中:t~表示經(jīng)過 MHAtt 和層歸一化計(jì)算的特征;Z表示最終自注意力的輸出特征。
一個(gè)基本語(yǔ)言編碼器的構(gòu)成是在上式的基礎(chǔ)上再連接一個(gè) MLP 模塊,再次增強(qiáng)文本特征的感知能力。所以整體語(yǔ)言編碼器層的公式表示為:
FSA=LN(T+Dropout(TSA))
Ft=LN(FSA+MLP(FSA))(5)
式中:FSA 表示自注意力計(jì)算后使用殘差連接和層歸一化獲得的特征;Dropout(·)能夠?qū)⑻卣髦械牟糠种抵脼榱?,旨在消除過擬合;TSA表示 SA 計(jì)算后的結(jié)果;Ft為一層編碼器計(jì)算得出的特征。語(yǔ)言編碼器整體結(jié)構(gòu)如圖1的語(yǔ)言編碼器部分。
1.1.3 視覺編碼器
近年來,基于 Transformer 卓越的全局依賴建模能力被廣泛應(yīng)用到視覺-語(yǔ)言任務(wù)中,VQA 任務(wù)也引入 Transformer 的思想。但 Transformer 中 SA 不會(huì)隨注意力層數(shù)加深動(dòng)態(tài)調(diào)整注意力范圍,而 VQA 任務(wù)需要的視覺注意力范圍是一個(gè)從宏觀到微觀的過程。因此,使用一種能動(dòng)態(tài)調(diào)整注意力范圍的自注意力(DSA)對(duì)視覺信息進(jìn)行動(dòng)態(tài)編碼,篩選出對(duì) VQA 預(yù)測(cè)答案相關(guān)的視覺對(duì)象。
在 VQA 任務(wù)中,本文在經(jīng)過 ResNext152 提取的視覺特征上引入具有動(dòng)態(tài)調(diào)整注意力范圍的動(dòng)態(tài)自注意力 DSA。該方式不僅能使圖像中整體的視覺對(duì)象之間建立關(guān)聯(lián)關(guān)系,還能基于上一層的輸出來預(yù)測(cè)下一層注意力圖的范圍。DSA 結(jié)構(gòu)如圖2(b)所示。DSA 為具有動(dòng)態(tài)路徑選擇的注意力,該注意力使網(wǎng)絡(luò)能夠在不同注意力層的特征圖中根據(jù)前一層的輸出調(diào)整本層的注意力范圍,這樣不僅可以在圖像的全局形成注意力依賴關(guān)系,還可以根據(jù)注意力層的結(jié)果選取不同的注意力范圍,通過聚合圖像全局的特征和局部細(xì)節(jié)特征,提高圖像特征的編碼能力達(dá)到準(zhǔn)確回答問題的目的。
對(duì)于輸入X∈瘙綆m×d,DSA 對(duì)其編碼可以簡(jiǎn)化為mi=0λiFi(X),λi是選擇不同路徑的概率,F(xiàn)i是一組不同的注意力,其表達(dá)式如式(2)所示。λ可以通過軟路由文獻(xiàn)[15]的方式得到。然而,這樣的路由方案不可避免地會(huì)使網(wǎng)絡(luò)變得非常繁瑣,并極大地增加訓(xùn)練開銷。因此需要優(yōu)化這個(gè)路由過程,把式(2)的注意力看作如下的過程:
Z=SA(X)=AXWv
A=softmax(XWq(XWk)Td)(6)
在式(6)中,把 SA 看作一個(gè)全連接圖的特征更新函數(shù),因此A∈瘙綆m×m就可以作為權(quán)重鄰接矩陣[21]。DSA 的目的是要得到不同注意力范圍的特
征,所以只需要對(duì)每個(gè)輸入的全連接圖進(jìn)行限制。
本文基于此為計(jì)算完成后的鄰接矩陣A增加一組掩碼M∈瘙綆m×m,旨在減少全連接圖中某些頂點(diǎn)之間的連接,起到限制注意力范圍的作用。因此A可以改寫為:
A=softmax(XWq(XWk)TdM)(7)
掩碼M是一個(gè)只包含 0 和 1 的矩陣,在實(shí)際訓(xùn)練時(shí) 0 被替換為一個(gè)無窮大的負(fù)值。因此,注意力的范圍就只在定義的區(qū)域內(nèi)有效?;谑剑?),動(dòng)態(tài)注意力層 DSA 可以被定義為如下形式:
DSAR(X)=ni=0softmax(XWq(XWk)TdMi)XWv(8)
式中:Wq,Wk,Wv是可學(xué)習(xí)的權(quán)重參數(shù),且在不同層之間共享,起到降低參數(shù)量的作用。據(jù)式(8)分析此過程依然是一個(gè)對(duì)注意力模塊的選擇,為了進(jìn)一步簡(jiǎn)化計(jì)算,將模塊選擇轉(zhuǎn)變?yōu)閷?duì)鄰接矩陣掩碼M的選擇,新的定義如下:
DSAR(X)=softmax(XWq(XWk)Tdni=0λiMi)XWv(9)
其中對(duì)于路徑控制器λ有如下定義:
λ=softmax(MLP(fatt))
fatt=AttentionPooling(X)(10)
式中:MLP是一個(gè)多層感知機(jī);AttentionPooling為基于注意力的池化方法[5]。因此一個(gè)基本的動(dòng)態(tài)自注意力單元如式(11)所示:
x~=LN(X+DSAR(X))
ZDSA=DSA(X)=LN(x~+FF(x~))(11)
式中:x~表示動(dòng)態(tài)編碼和層歸一化計(jì)算得到的特征;ZDSA 表示動(dòng)態(tài)注意力編碼的特征。
一個(gè)基本視覺編碼器的構(gòu)成是在式(11)的基礎(chǔ)上連接一個(gè) MLP 模塊,再次增強(qiáng)特征的感知能力,所以整體的視覺編碼器編碼過程表示如下:
FDSA=LN(X+Dropout(XDSA))
Fv=LN(FDSA+MLP(FDSA))(12)
式中:FDSA" 表示經(jīng)過殘差連接和層歸一化后的特征;XDSA 表示 DSA 計(jì)算后的特征;Fv為一層視覺編碼器編碼后的特征。視覺編碼器的整體結(jié)構(gòu)如圖1中的視覺編碼器所示。
1.2 跨模態(tài)融合模塊
為了促進(jìn)多模態(tài)特征的融合并同時(shí)過濾融合時(shí)的干擾特征,本文構(gòu)建了如圖1跨模態(tài)融合模塊所示的多模態(tài)融合模塊。首先,在引導(dǎo)注意力(Guided-attention,GA)上增加雙門控機(jī)制,然后,與 DSA 和 SA 共同嵌入主干網(wǎng)絡(luò)中編碼多模態(tài)特征。為進(jìn)一步在多模態(tài)特征中汲取知識(shí),在模塊的最后兩層引入聚合模塊對(duì)融合后的特征進(jìn)行整體編碼以加強(qiáng)模態(tài)間交互能力,進(jìn)而提升答案預(yù)測(cè)能力。
1.2.1 引導(dǎo)注意力頭的定義
作為 GA 模塊的重要組成部分,引導(dǎo)注意力頭(Guided attention head,GAH)對(duì)視覺-語(yǔ)言相互融合至關(guān)重要。其過程是讓輸入的特征X=[x1,x2…xm]∈瘙綆m×d 和Y=[y1,y2…yn]∈瘙綆n×d 相互引導(dǎo)完成相互學(xué)習(xí),由于計(jì)算靈活,故兩種特征的維度大小可以不同,其公式表示為:
fGAH(X,Y)=GAH(X,[y1,y2…yn])(13)
上式可以理解為是X從Y中學(xué)習(xí)得到與特征Y相關(guān)聯(lián)的信息。類似的,當(dāng)輸入變?yōu)镕GAH(Y,X)時(shí)表示Y從X中學(xué)習(xí)。
1.2.2 跨模態(tài)融合過程
VQA 任務(wù)要求模型不僅要學(xué)習(xí)與文本相關(guān)的視覺內(nèi)容,同時(shí)還應(yīng)學(xué)習(xí)與視覺相關(guān)的文本內(nèi)容,以及對(duì)模態(tài)融合之后的整體理解。本文使用兩個(gè) GA 單元以提高模態(tài)融合能力,GA 的基本結(jié)構(gòu)如圖2(c)所示。首先是文本引導(dǎo)圖像從中學(xué)習(xí)重要的視覺特征,為了便于計(jì)算,保持文本和圖像的特征維度一致。構(gòu)造如下的 GA 單元:
ft=fGAH(T,X)
f~t=LN(T+ft)(14)
FGAt=LN(f~t+FF(f~t))
式(14)表示所有輸入的文本特征ti∈T和圖像特征xj∈X。T引導(dǎo)注意力從X中學(xué)習(xí)得到注意力特征ft看作是每一個(gè)ti在所有X樣本中學(xué)習(xí)得到的與ti相似的跨模態(tài)特征,即通過文本去圖像中查詢出相關(guān)的視覺內(nèi)容并且融合在文本特征中。f~t表示層歸一化后的包含視覺信息的特征;FGAt表示文本引導(dǎo)圖像獲得的多模態(tài)特征。
然后是圖像引導(dǎo)文本從中學(xué)習(xí)關(guān)鍵的文本特征,于是構(gòu)造另一個(gè) GA 單元:
fv=fGAH(X,T)
f~v=LN(X+fv)(15)
FGAv=LN(f~v+FF(f~v))
式(15)則是X引導(dǎo)注意力從T中學(xué)習(xí)得到注意力特征fv看作是每一個(gè)xi在所有T樣本中學(xué)習(xí)得到的與xi相似的跨模態(tài)特征,即通過圖像去文本中查詢出相關(guān)的文本內(nèi)容并且融合在圖像特征中。f~v表示層歸一化后的包含語(yǔ)言信息的特征;FGAv表示圖像引導(dǎo)文本獲得的多模態(tài)特征。
在此基礎(chǔ)上為兩個(gè) GA 單元再加入門控因子α和β,過濾掉多模態(tài)特征中的干擾信息。得到的多模態(tài)特征再分別經(jīng)過 SA 和 DSA 進(jìn)一步為得到的多模態(tài)特征構(gòu)建內(nèi)部關(guān)聯(lián),之后再經(jīng)過 MLP 感知細(xì)粒度的多模態(tài)特征。整個(gè)過程表示如下:
α=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(·)為機(jī)器學(xué)習(xí)框架PyTorch內(nèi)置函數(shù),輸入該函數(shù)參數(shù)能隨網(wǎng)絡(luò)訓(xùn)練自動(dòng)優(yōu)化。在式(16)中,F(xiàn)t表示經(jīng)過語(yǔ)言編碼器編碼得到的特征;f~tv,ftv 表示計(jì)算過程中的隱藏特征;Ftv 表示多模態(tài)融合層輸出的包含視覺信息的特征;在式(17)中,F(xiàn)v表示經(jīng)過視覺編碼器編碼得到的特征;f~vt,fvt表示隱藏特征;Fvt 表示多模態(tài)融合層輸出包含問題信息的特征。
1.2.3 聚合模塊
該部分作為門控引導(dǎo)注意力的加強(qiáng),把經(jīng)過 GA 單元編碼后的文本和圖像多模態(tài)特征拼接在一起,輸入聚合模塊對(duì)其進(jìn)行聯(lián)合建模。聚合模塊中使用 MHAtt 對(duì)聯(lián)合特征進(jìn)行增強(qiáng)編碼,再按輸入的維度大小拆分開,這有助于學(xué)習(xí)聯(lián)合特征中相互關(guān)聯(lián)的關(guān)鍵特征。聚合模塊網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
聚合模塊運(yùn)算過程可表示為:
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)
式中:[·‖·] 表示把兩種特征進(jìn)行拼接;torch.split(·)表示把拼接后的特征拆分為原大??;fcat,f1,f2,F(xiàn)1,F(xiàn)2為各自特征;FFN(·)表示前饋神經(jīng)網(wǎng)絡(luò)。聚合模塊運(yùn)用在多層跨模態(tài)融合模塊的最后兩層。
2 實(shí)驗(yàn)與結(jié)果分析
2.1 數(shù)據(jù)集
使用 VQA-2.0 數(shù)據(jù)集[17]評(píng)估所提方法的有效性。該數(shù)據(jù)集中每幅圖像至少有 3 個(gè)問題,每個(gè)問題有 10 個(gè)答案。其中包括 82 783張訓(xùn)練圖像,40 504張驗(yàn)證圖像,81 434張測(cè)試圖片。問題-答案對(duì)包括443 757個(gè)訓(xùn)練問題,4 437 570個(gè)訓(xùn)練答案,214 354個(gè)驗(yàn)證問題,2 143 540個(gè)驗(yàn)證答案,447 793 個(gè)測(cè)試問題。此外,Test-dev 和Test-std 用于在線評(píng)估模型的答案預(yù)測(cè)準(zhǔn)確率。結(jié)果以每種類型(是/否,計(jì)數(shù),其他)的準(zhǔn)確率和“整體”準(zhǔn)確率組成。
2.2 實(shí)驗(yàn)參數(shù)設(shè)置
實(shí)驗(yàn)的 PC 環(huán)境為 Ubuntu 20.04.4 LTS,Intel Xeon(R) E5-2650 V4@2.20 GHz×48,GPU 為 NVIDIA TITAN Ⅴ,內(nèi)存為 12 GB。在 PyTorch1.7 深度學(xué)習(xí)框架中進(jìn)行訓(xùn)練與測(cè)試。
在實(shí)驗(yàn)過程中詞向量維度為 300,使用 GRU 編碼后的文本特征維度為 512。依據(jù)文獻(xiàn)[22]統(tǒng)計(jì)結(jié)果,問題的最大長(zhǎng)度為 16 個(gè)單詞。語(yǔ)言編碼器層數(shù)NL=10。圖像部分首先使用在 Visual Genome 上預(yù)訓(xùn)練的 ResNext152 提取視覺特征,特征維度為 512。視覺編碼器層數(shù)NV=10??缒B(tài)融合模塊的層數(shù) NM=10,門控因子α初始化為0,β初始化為 1。MHAtt中頭的數(shù)量h=8,dh=64。學(xué)習(xí)率為2.5te-5,t=1,2,3;之后為5e-5,每個(gè)輪次衰減 0.25。一共訓(xùn)練 16 個(gè)輪次,批量樣本大小設(shè)置為64,優(yōu)化器為Adam。
2.3 評(píng)價(jià)指標(biāo)
本文所有實(shí)驗(yàn)結(jié)果的精度評(píng)價(jià)指標(biāo)為準(zhǔn)確率(Accuracy,A),計(jì)算公式如下:
A=min(#ANSWERS3,1)(19)
式中 #ANSWERS表示人工標(biāo)注的答案,每一個(gè)問題的某一個(gè)答案數(shù)量在3個(gè)或以上時(shí)則認(rèn)為該答案是正確答案。
2.4 各模塊實(shí)驗(yàn)結(jié)果對(duì)比分析
2.4.1 DSA模塊有效性驗(yàn)證
為了驗(yàn)證視覺編碼器中使用 DSA 的有效性,本文在 VQA-2.0 數(shù)據(jù)集上分別比較了使用 DSA 與 SA 方法的模型精度,精度計(jì)算方式如式(19)所示。具體實(shí)驗(yàn)結(jié)果如表1所示,所有結(jié)果均是驗(yàn)證集結(jié)果。
從表1可知,“是/否”和“計(jì)數(shù)”類型的問題精度提升了 0.47個(gè)百分點(diǎn),“其他”類問題提升了 0.16 個(gè)百分點(diǎn),“整體”類型的精度提升了 0.32個(gè)百分點(diǎn)。由此可得出DSA對(duì)于“是/否”和“計(jì)數(shù)”類的問題更加具有幫助。這是因?yàn)橐卮稹坝?jì)數(shù)”類的問題,需要注意到圖像中與問題相關(guān)的所有視覺對(duì)象,要求模型根據(jù)對(duì)問題的理解不斷優(yōu)化視覺區(qū)域,這體現(xiàn)了DSA的動(dòng)態(tài)調(diào)節(jié)能力。由此可以看出動(dòng)態(tài)自注意力在保持良好全局注意力的同時(shí)能夠動(dòng)態(tài)調(diào)整圖像的注意范圍,為正確預(yù)測(cè)答案提供了有效的視覺信息。
2.4.2 門控因子α與β有效性驗(yàn)證
關(guān)于引導(dǎo)注意力中門控因子α與β的有效性驗(yàn)證,主要對(duì)比了使用門控因子和不使用門控因子時(shí)的實(shí)驗(yàn)結(jié)果。具體實(shí)驗(yàn)結(jié)果如表2所示。
從表2可知,使用門控參數(shù)之后的“計(jì)數(shù)”類預(yù)測(cè)精度提升了 0.54個(gè)百分點(diǎn),“整體”類型的精度提升了 0.16個(gè)百分點(diǎn)?!坝?jì)數(shù)”類精度提升較多,這是因?yàn)橛?jì)數(shù)類問題大多涉及多個(gè)視覺對(duì)象,沒有門控因子控制時(shí)通常會(huì)帶入干擾信息,同時(shí)表明“計(jì)數(shù)”類問題需要更高質(zhì)量的多模態(tài)知識(shí)支持。實(shí)驗(yàn)結(jié)果證明門控因子α,β起到了過濾雙模態(tài)特征中干擾信息的作用。
2.4.3 聚合模塊有效性驗(yàn)證
聚合模塊主要在跨模態(tài)融合模塊的最后兩層使用,以增強(qiáng)雙模態(tài)特征的表示能力。本文在VQA-2.0驗(yàn)證集上證明了該模塊的有效性,實(shí)驗(yàn)結(jié)果如表3所示。
從表3可知,使用聚合模塊后模型的“整體”類的精度提升了 0.38個(gè)百分點(diǎn);“計(jì)數(shù)”類的精度提升了 1.63個(gè)百分點(diǎn),這表明使用該模塊汲取的多模態(tài)知識(shí)對(duì)“計(jì)數(shù)”類的問題更有益,同樣表明“計(jì)數(shù)”類的問題需更充分的多模態(tài)知識(shí)支持。對(duì)于表現(xiàn)優(yōu)秀的“是/否”類型的精度同樣有一定的提高。使用聚合模塊能夠起到增強(qiáng)雙模態(tài)特征表示能力的作用,并有效提升模型預(yù)測(cè)答案的準(zhǔn)確率。
2.4.4 不同層數(shù)的網(wǎng)絡(luò)結(jié)構(gòu)對(duì)精度的影響
不同層數(shù)的編碼器與跨模態(tài)融合模塊對(duì)模型精度影響的驗(yàn)證結(jié)果如圖4所示。本文主要驗(yàn)證NL,NV,NM∈{2,4,6,8,10,12}的效果。
從圖4(a)可知,隨網(wǎng)絡(luò)層數(shù)的增加,“整體”類型的精度先隨網(wǎng)絡(luò)層數(shù)的增加而增加,當(dāng)網(wǎng)絡(luò)層數(shù)在第10層時(shí)趨于穩(wěn)定,再次增加網(wǎng)絡(luò)層數(shù)精度反而有所降低;從圖 4(b)可以看出,“是/否”類的精度對(duì)于層數(shù)變化較敏感,但同樣在網(wǎng)絡(luò)層數(shù)為10層時(shí)趨于穩(wěn)定,類似的情況同樣存在于“計(jì)數(shù)”和“其他”類中。依據(jù)文獻(xiàn)[5]分析,當(dāng)層數(shù)大于10時(shí)“整體”精度和每個(gè)類型的精度都有所降低,是由于在訓(xùn)練期間梯度信息不穩(wěn)定,進(jìn)而導(dǎo)致模型優(yōu)化困難。因此本文采用10層網(wǎng)絡(luò)結(jié)構(gòu)。
2.5 實(shí)驗(yàn)結(jié)果與分析
為驗(yàn)證VL-CMFNet模型能夠提升答案預(yù)測(cè)的準(zhǔn)確率,與目前5個(gè)優(yōu)秀的算法BAN[23],DFAF[10],ReGAT[24],MCAN[5],MMnasNet[25]進(jìn)行了對(duì)比。
BAN利用雙線性注意網(wǎng)絡(luò),提取圖像區(qū)域與問題詞之間的雙線性交互,并通過低秩雙線性池化提取區(qū)域與單詞之間的聯(lián)合表示。
DFAF采用模態(tài)內(nèi)和模態(tài)間交替在視覺和語(yǔ)言中交互,以提高模型預(yù)測(cè)能力。
ReGAT通過圖注意力機(jī)制對(duì)每幅圖像中的多類型對(duì)象間的關(guān)系進(jìn)行建模,以學(xué)習(xí)問題與目標(biāo)對(duì)象自適應(yīng)的關(guān)系表示,從而提高模型預(yù)測(cè)精度。
MCAN利用深度協(xié)同注意力模塊捕獲兩種模態(tài)自身特征和圖像引導(dǎo)注意建模,進(jìn)而提升模型答案預(yù)測(cè)準(zhǔn)確率。
MMnasNet構(gòu)建一個(gè)基于深度編碼器-解碼器的主干和適用于VQA的任務(wù)頭,進(jìn)而改善模型預(yù)測(cè)答案的準(zhǔn)確率。
本文算法與其他5個(gè)算法在VQA-2.0數(shù)據(jù)集上準(zhǔn)確率對(duì)比情況的詳細(xì)數(shù)據(jù)如表4所示。
表4中加黑字體表示每個(gè)類型的最優(yōu)精度。從表4可知,“整體”類的精度在Test-dev測(cè)試集上達(dá)到了71.73%,比BAN高出了1.69個(gè)百分點(diǎn);在Test-std測(cè)試集上達(dá)到了71.94%,比DFAF高出了1.6個(gè)百分點(diǎn)。“整體”類型的精度均超越了目前5個(gè)優(yōu)秀的算法。此外,“其他”類型的精度在Test-dev測(cè)試集上比ReGAT高出了2.24個(gè)百分點(diǎn)。與常用的基線任務(wù)MCAN相比,本文方法在兩個(gè)測(cè)試集上“整體”精度分別提升了1.10和1.04個(gè)百分點(diǎn),“計(jì)數(shù)”類型的精度提升了1.00個(gè)百分點(diǎn),“其他”類型的精度提升了1.85個(gè)百分點(diǎn);“是/否”類型的普遍準(zhǔn)確率較高,本文方法同樣能與其他5個(gè)方法保持在同一水平,相比基線任務(wù)仍有所提升。實(shí)驗(yàn)證明本文方法能夠在VQA-2.0數(shù)據(jù)集上提升答案預(yù)測(cè)的準(zhǔn)確率。
從各項(xiàng)實(shí)驗(yàn)結(jié)果可以看出,使用 DSA 的視覺編碼器能夠起到提升答案預(yù)測(cè)準(zhǔn)確率的作用;具有門控機(jī)制的引導(dǎo)注意力和聚合模塊能夠在模態(tài)融合時(shí)起到過濾干擾信息和增強(qiáng)聯(lián)合多模態(tài)特征表示能力的效果。綜上,本文所提方法能夠提升VQA模型答案預(yù)測(cè)的準(zhǔn)確率。
3 結(jié)論
提出了基于視覺-語(yǔ)言特征編碼的跨模態(tài)融合視覺問答方法,該方法采用了視覺-語(yǔ)言編碼器與跨模態(tài)融合相結(jié)合的方式,利用編碼器卓越的建模能力,使模型對(duì)單一特征內(nèi)的關(guān)鍵信息建立關(guān)聯(lián)關(guān)系,進(jìn)而增加單一特征內(nèi)關(guān)鍵信息的長(zhǎng)依賴關(guān)系;在跨模態(tài)融合模塊內(nèi)采用雙門控機(jī)制引導(dǎo)注意力,使模型具有“看”什么和“聽”什么的能力,同時(shí)消除干擾信息并降低語(yǔ)言噪聲;聚合模塊再次增強(qiáng)聯(lián)合特征的建模,進(jìn)而提升多模態(tài)知識(shí)的學(xué)習(xí)能力。在VQA-2.0數(shù)據(jù)集上進(jìn)行的實(shí)驗(yàn)驗(yàn)證表明本文所提方法能夠提升答案預(yù)測(cè)的準(zhǔn)確率,為提升多模態(tài)特征表示能力提供了一種可行的方法。同時(shí),從本項(xiàng)工作中認(rèn)識(shí)到VQA作為多模態(tài)任務(wù)不僅對(duì)單一模態(tài)關(guān)系建模重要,對(duì)視覺-語(yǔ)言兩種模態(tài)的共同理解同樣能夠提升模型預(yù)測(cè)答案的能力。
參考文獻(xiàn)
[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] 武阿明, 姜品, 韓亞洪. 基于視覺和語(yǔ)言的跨媒體問答與推理研究綜述[J]. 計(jì)算機(jī)科學(xué), 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]王樹徽, 閆旭, 黃慶明. 跨媒體分析與推理技術(shù)研究綜述[J]. 計(jì)算機(jī)科學(xué), 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.