陳 婷,王玉德,任志偉
(曲阜師范大學,山東 曲阜 273165)
視覺問答是以圖片和關于圖片的自由式、開放式的自然語言作為輸入,智能地做出正確回答的過程。Antol 等人首次提出了自由式、開放式可視化問答系統的任務,提出了簡單的基線模型[1]。在注意力機制被提出后,Lu 等人提出了協同注意力機制,交替學習圖像注意和問題注意[2]。Yang 等人提出一種堆疊注意力機制,通過迭代學習,加強注意力[3]。Fukui 等人提出了多模態緊致雙線性池 化(Multimodal Compact Bilinear pooling,MCB)注意力機制,對融合后的圖像特征與文本特征進行池化分解[4]。在此基礎上,Kim 和Yu 等人提出了多模低秩雙線性(Multi-modal Low-rank Bilinear pooling,MLB)模型、多模態分解雙線性(Multimodal Factorized Bilinear pooling,MFB)模型、多峰因子化高階池化(Multi-modal Factorized High-order pooling,MFH)等融合模型[5,7]。Anderson 等人使用更快地區域卷積(Faster Region-Convolutional Neural Network,Faster R-CNN)方法并結合自底向上(bottom-up)的關注提取圖像視覺特征[8,9]。Ben-Younes 等人提出多模態塔克融合(Multimodal Tucker Fusion,MUTAN)模型,利用塔克(Tucker)分解的方式對雙線性模型的參數張量進行分解[10]。Nguyen 等人提出密集協同注意力模型(Dense symmetric co-attention,DSCA)方法,利用多層密集疊加的協同注意機制[11]。Thome 等人提出雙線性超對角線融合(Bilinear Superdiagonal Fusion,BLOCK)模型,其參數張量使用塊項分解來構造,優化復雜性和建模能力之間的權衡,并結合密集參數(Compact Parametrization,CP)和Tucker 分解的優勢[12]。
當前,在視覺問答任務中加入視覺注意力是常用的優化視覺問答算法的解決方案,但這種方法忽略了問題特征與圖像特征之間的推理關系。本文針對上述問題,提出基于增強問題有用信息的問題引導圖像注意力機制的視覺圖像問答算法。該算法在提取問題特征時加強有效信息,弱化冗余信息,更好地利用問題特征,從而加強圖像與問題之間的推理關系,提高視覺問答整體的準確率。
視覺問答[13]可以看作一個多分類問題,即給定一張圖片和圖片相關的問題,視覺問答系統通過提取問題特征、圖像特征,并通過注意力機制對圖像不同區域進行注意力權重計算,然后將問題特征與圖像特征進行融合,再將融合后的特征輸入神經網絡,分類生成推理答案。視覺問答系統的具體流程如圖1 所示。

圖1 視覺問答系統流程
問題特征提取一般使用循環神經網絡(Recurrent Neural Network,RNN),常用的網絡結構有長短期記憶網絡(Long-Short Term Memory,LSTM)[14,15]和門控循環單元(Gated Recurrent Unit,GRU)。
GRU 原理如圖2,具體可表示為:

圖2 GRU 原理

式中:[]表示兩個向量相連;*表示矩陣的乘積;zt和rt分別為更新門和重置門;ht-1為上一時刻隱含層的輸出;為當前的候選集;ht為當前隱含層的輸出;xt為當前的輸入;σ為sigmoid 函數;tanh 為激活函數。
與LSTM 神經網絡相比較,GRU 將遺忘門和輸入門合成了一個單一的更新門,混合了細胞狀態和隱藏狀態。
圖像特征的提取一般使用卷積神經網絡(Convolutional Neural Networks,CNN),卷積神經網絡由輸入層、卷積層、采樣層(池化)、全連接層、輸出層構成。卷積層的功能是對輸入數據進行特征提取;池化層的主要目的是通過降采樣的方式,在不影響圖像質量的情況下,壓縮圖片,減少參數;全連接層可以連接所有的特征,將輸出值送給分類器。視覺問答任務中常用的卷積神經網絡有視覺幾何組(Visual Geometry Group,VGG)卷積網絡、ResNet 殘差神經網絡、Faster R-CNN 網絡。
注意力(Attention)機制是聚焦于局部信息的機制,如聚焦圖像中的某一個圖像區域。隨著任務的變化,注意力區域往往會發生變化。從數學形式上看,attention 機制只是簡單地對輸入量根據重要程度分配不同的加權參數,這一機制模擬了人腦的認知模式,即根據實際需求而將有限的注意力聚焦于事物的關鍵部分,從而大大提高了神經網絡的理解能力。
視覺問答任務的評價指標主要是準確度(Accuracy,A)。對于VQA 數據集,每個問題有10 個答案,當預測答案在人類標注的答案中出現3次及以上,則對單個問題賦予全部得分。如公式(5),準確度越高代表模型對問題回答得越準確,分類能力越好。

式中:#表示預測答案與人類標注答案相同的個數。
對于VQA 任務,問題特征的充分利用往往被忽略,針對一個問題,例如“What is the animal in the photo?”人類可以有意識地關注到“what”和“animal”這兩個關鍵詞,但是對于機器而言,無法準確判斷哪個詞才是主要信息;因此,加強關鍵信息的特征權重,可以有效地對問題特征加以利用。用加強后的問題引導圖像,使圖像特征更好地和問題特征進行匹配,從而提高視覺問答的準確率。基于問題增強的問題引導圖像注意力機制包括問題特征強化、圖像特征強化、問題引導。基于問題增強的問題引導圖像注意力機制的模型結構如圖3所示。
圖3 中,FCNet 為非線性連接層,∑指的是加權求和,cat 指的是concat 運算。

圖3 基于問題增強的問題引導圖像注意力機制結構
從人類認知來講,一個問題最重要的信息便是疑問詞和名詞,筆者期望機器能夠更關注有用信息,忽略冗余信息,因此考慮將原始問題q中的“a”“an”“the”等冗余詞去掉,得到新的問題輸入q1,將q1與q進行concat 運算,即將q1與q融合后的特征Q1 經過非線性連接層fq1i得到Q1i:

式中:WN為權重歸一化;LN為全連接層。
非線性連接層f將依次經過全連接運算,權重歸一化(Weight Normalization,WN),ReLU激活函數。通常的梯度下降法直接將損失函數對權重求導得到梯度,然后以一定學習率,沿著梯度下降的方向更新權重。而WN將每個神經元權重的方向和長度解耦,即把參數權重分為v和g兩部分,其中v代表方向,而g代表長度。然后將損失函數分別對這兩部分求導,并更新它們的值。同時WN也是用來加速收斂的,通過對權重進行歸一化可以抑制梯度,使梯度自穩定。
對于分類來說,筆者期望使類內相似度越小越好,類間相似度越大越好。因此,考慮到對問題進行分類時所有問題中都包含“什么”“怎么樣”“在哪里”(“what”“how”“where”)等疑問詞,這無疑縮小了不同問題的類間差距,為了解決這一問題,將問題中的疑問詞去掉,這樣就可以使問題特征最大化地聚焦在名詞上。具體地,在q1的基礎上去掉所有疑問詞,引入新的問題輸入q3,將q3與q進行concat 運算得到Q2,經過非線性連接層fq2i得到Q2i,表達式為:

問題特征加強后,有用信息的占比增多,可以對圖像起到更好的引導作用,同時增加了VQA 任務的可解釋性。
CNN 網絡輸出的圖像特征vyi包含了每幅圖像的所有目標特征。但是對于一幅圖像,其隱含信息十分豐富,例如顏色、形狀等特征屬性。為了更好地利用圖像的這些屬性特征,筆者對圖像特征進一步處理,如圖3 中的AttrV 部分,其具體結構見圖4,筆者將vyi經卷積運算依次提取圖像特征,得到具有屬性特征的vai,并將其送入Softmax 層進行預測。然后,將vai與vyi進行concat 連接。強化后的圖像特征可表示為:

圖4 AttrV 結構

這里的vi=concat[vyi,vai]。
將圖像特征向量vi與問題嵌入Q1i進行相似度計算,問題特征和其引導的圖像特征之間匹配度越高,視覺問答系統的準確率也就越高。對經過相似度計算的特征進行卷積運算,提取更豐富的特征,并使用softmax 函數對注意力權重進行歸一化,得到與位置相關的標量注意權重a1i,其計算方式為:

式中:ωa為學習的參數向量;Conv為卷積運算。
為了盡可能地擴大兩個不同問題輸入的區別,將圖像特征在不損失原始特征的情況下經全連接運算得到v2i。
將Q2i和v2i進行與Q1i相同的相似度矩陣計算:

由于q2和q3攜帶的信息不同,因此得到的注意權重a對圖像的注意位置側重是不同的,為了最大限度注意到所需要的位置信息,將兩次的注意權重求和:
軻左手把秦王袖,右手揕其胸,數之曰:“足下負燕日久,貪暴海內,不知厭足。于期無罪而夷其族。軻將海內報仇。今燕王母病,與軻促期。從吾計則生,不從則死。”秦王曰:“今日之事,從子計耳!乞聽琴聲而死。”召姬人鼓琴,琴聲曰:“羅縠單衣,可掣而絕。八尺屏風,可超而越。鹿盧之劍,可負而拔。”軻不解音。秦王從琴聲負劍拔之,于是奮袖超屏風而走。軻拔匕首擿之,決秦王,刃入銅柱,火出。秦王還斷軻兩手。軻因倚柱而笑,箕踞而罵曰:“吾坐輕易,為豎子所欺。燕國之不報,我事之不立哉!”

然后對每張圖片的圖像特征按照注意力權重ai進行歸一化值加權求和,得到注意后的圖像特征vl:

基于問題增強的問題引導圖像視覺問答算法主要有問題特征提取、圖像特征提取、問題引導圖像注意力機制、特征融合和分類預測幾個步驟:
(1)問題特征提取。設置候選答案的長度N,使用手套(Glove)詞嵌入(Word Embedding)和GRU 的輸出得到一個問題嵌入,設置問題的最大長度為n,小于n個單詞的問題用零向量補充。將問題詞向量通過GRU 神經網絡,得到問題特征向量。
(2)圖像特征提取。使用自底向上注意(bottom-up)提取的圖像特征。
(3)問題引導圖像注意力機制。將問題特征q和圖像特征vyi分別送入問題引導圖像注意力模塊,獲得帶有權重注意力的圖像特征vl。
(4)特征融合。將注意后的圖像特征vl經過非線性層得到Vl,再將問題特征Q1i與Vl進行點乘運算:

(5)分類預測。將聯合嵌入?通過非線性層f?,然后通過線性映射wo來預測N個估計答案的分數s:

式中:σ是一個sigmoid 激活函數;wo是學習權重。

式中:索引i和j分別為M個訓練問題和N個候選答案;s為label 中真實答案的準確率;為模型做出回答的準確性。
基于問題增強的問題引導圖像視覺問答算法模型如圖5。
圖5中,FCNet為非線性連接層,FC為全連接層。

圖5 模型結構
實驗用11 GB 內存的NVIDIA GeForce GTX 1080Ti顯卡,版本為CUDA11.1,Windows 操作系統的搭建基于Anconda3(64-bit)的Python3.6 環境Pytorch1.0。實驗在VQA v2.0 訓練集、驗證集上訓練,在testdev 集上測試。
VQA v2.0 數據集包括82 783 張訓練圖像、40 504 張驗證圖像、81 434 張測試圖像。所有問題集的答案均由人工采集得到,問題-答案組被組織成3種回答類型,即是/否(Yes/No),數字(Number),其他(Other)。每個問題都是由10 個志愿者進行回答,有10 個候選答案,取10 個答案中出現次數最多的答案作為正確答案。
實驗設置候選答案長度N=3 129,問題的最大長度為n=23,圖像維度為2 048 維,使用Adamax優化策略,按階段設置學習率。設置前4 個epoch學習步長lr=[0.000 5,0.001,0.001 5,0.002],4~10 個epoch 設置lr=[0.002],10 個epoch 后設置lr每2 個epoch 以0.25 的比率衰減,batch size 為256,迭代次數為20。實驗結果取同條件下10 次實驗結果的平均值,評價指標采用VQA 的準確度指標。實驗結果如表1 所示。

表1 問題加強與圖像加強在test-dev 上的實驗結果 %
圖6(a)為未對問題特征增強處理的系統結構圖。圖6(b)所示結構中,FC 模型加入了去掉冗余特征后的問題輸入q1,未對圖像特征進行加強處理,直接經過全連接網絡輸出與問題特征進行相似度矩陣計算。圖6(c)所示為QGIA-q1 模型,是在AttrV 基礎上,去掉冗余特征后的問題輸入q1引導圖像特征的系統結構圖。

圖6 圖像強化和問題強化有效性驗證模型
從表1 中可看出,對比AttrV 模型和QGIA-q1模型結果,引入問題增強q1后,模型整體準確率提高了0.25%。對比FC 模型和QGIA-q1 模型的實驗結果,引入圖像增強后,模型整體準確率提高了0.07%。
實驗設置同實驗1。模型基于相同的數據預處理模式,使用Faster R-CNN 提取特征,在QGIA-q1 模型基礎上去掉冗余問題輸入q3。
模型實驗過程中的損失函數(loss)與訓練準確率的變化情況如圖7。從圖7(a)中可以看出,模型在第16 個epoch 時訓練準確率最高,之后趨于平穩。從圖7(b)可以看出,損失隨著epoch的增加穩步下降,說明模型不存在局部最優的現象。


圖7 訓練準確率與損失函數
實驗中,為檢驗論文提出算法的有效性,將論文提出算法與MFB 模型[6]、bottom-up 模型[8]、MUTAN 模型[10]、MLB 模型[5]、DSCA 模型[11]、BLOCK 模型[12]結果進行對比實驗。實驗結果如表2。

表2 基于問題增強的問題引導注意力機制模型與其他模型在test-dev 上實驗結果的比較 %
從表2 中可以看出,論文提出的模型比MFB等模型高出0.31%~5.69%,對于二元問題(Yes/No)本文模型提升了0.22%~2.01%、Number 類問題提升了0.42%~11.05%,Other 類問題提升了0.36%~7.66%。
部分問答示例如圖8 所示。圖8(a)和圖8(b),無論對于Yes/No 類,還是Number 類,加入問題引導后的模型都能做出準確的回答。但是在圖片內容復雜,物體在圖像中尺寸較小等情況下,特征提取時無法獲得有效的信息,問答準確率比較低。如圖8(c)問題“背景中有多少棵樹?”,圖片中背景復雜,算法不能準確做出回答。

圖8 視覺問答實驗結果展示
針對視覺問答任務中輸入圖像特征與輸入問題特征缺乏推理關系的問題,本文提出了增強問題特征的問題引導圖像注意力機制。該機制通過去除冗余問題信息,加強有用的問題信息占比,并將完整的問題信息與強化的問題信息進行融合,通過計算問題特征與圖像特征的相似度矩陣,實現問題特征對圖像特征的引導作用。模型在VQA V2.0 數據集的Test-dev 上取得了67.89%的準確率。與模型BLOCK 相比,整體準確率提升了0.31%。此外,本文提出的基于問題增強的問題引導圖像注意力機制也加強了對視覺問答任務的可解釋性,為進一步提高機器視覺問答的準確率提供了理論支持。