蘭紅,張蒲芬
江西理工大學信息工程學院,贛州 341000
視覺問答(visual question answering,VQA)(Antol等,2015)是計算機視覺和自然語言處理在人工智能中一個新興的交叉領域。給定一幅圖像和關于這幅圖像的一個形式自由、開放式的自然語言問題,視覺問答系統要求能夠根據圖像和問題的內容推斷出正確答案。VQA構成了真正的AI-complete(artificial intelligence complete)任務,并且通常認為是視覺推理的一個很好的代理(Wu等,2017)。另外,視覺問答在諸如協助盲人和幼兒教育等實際中有著廣泛應用(Gao等,2019)??紤]到VQA的挑戰(zhàn)和意義,視覺問答引起了計算機視覺和自然語言處理學界越來越多的研究和關注。
近年來,研究者在文本、圖像特征的多模態(tài)學習和視覺推理都進行了探索。早期提出的視覺問答模型采用卷積神經網絡(convolutional neural network,CNN)提取圖像的全局特征,采用詞袋模型(bag-of-words,BOW)提取問題的文本特征,然后簡單地融合兩種模態(tài)特征以預測答案(Zhou等,2015)。然而用圖像全局特征作為模型的視覺輸入,有可能向預測階段提供不相關或嘈雜信息,且這種聯合嵌入方法學習的是圖像及問題到答案分布的簡單映射,缺少推理過程,因而導致模型回答的準確率較低。引入注意力機制,使得模型可以利用圖像的局部特征,對來自不同區(qū)域/對象的特征賦予不同的重要性來緩解嘈雜信息的問題,并使模型具有一定的推理能力。Yang等人(2016)提出堆疊注意力網絡,以迭代的方式分層關注并定位到圖像區(qū)域;Lu等人(2016)提出層次協同注意力模型,同時學習視覺和文本的協同注意力,更有利于圖像和問題的細粒度表示,從而更準確地預測答案;Yu 等人(2017)利用視覺注意力和語義注意力之間的互補性,提出一種新穎的多層次注意力網絡,增強對圖像理解的細粒度分析;Anderson等人(2018)首次提出檢測圖像中的顯著性對象,再利用自上而下的注意力機制學習對象級別的注意力權重;Kim等人(2018)提出雙線性注意力網絡,探討了高階的多模態(tài)融合策略,以更好地將文本信息與視覺信息結合起來;閆茹玉和劉學亮(2020)提出基于注意力機制的記憶網絡,以解決在推斷答案過程中有效信息丟失的問題。
以上介紹的VQA方法主要專注于新注意力架構和更好的多模態(tài)融合策略,其中推理過程通常采用隱式關系推理,而未能對圖像場景中對象之間的語義聯系顯式建模。另外,視覺對象之間的空間關系在視覺推理中起著重要作用,而上述模型的另一個不足是較少突出對象空間位置關系的概念,或只是簡單地將對象的位置特征信息融入到對象的視覺特征中,從而導致空間關系推理能力欠佳。實際情況中,回答視覺問題通常涉及觀察不同的區(qū)域或對象,并比較它們的內容或位置。例如要回答圖1(a)中的問題“What animal is shown?”,VQA模型只需要檢測出圖像中的elephant對象,即可做出正確的回答,甚至不需要理解整幅圖像的內容;又如圖1(b)中“What is under the car?”這類需要空間推理的問題,VQA模型先要定位到car和plate對象,然后比較它們的空間位置,并充分理解under這個空間概念后,才能做出正確回答。所以VQA模型需要在圖像理解中超越單純的目標檢測,并通過闡述圖像中不同對象之間的動態(tài)交互作用,學習到對圖像場景更加整體的理解。
圖1 視覺問答任務的示例Fig.1 Examples of visual question answering((a)elephant;(b)plate)
針對上述問題,本文提出了問題引導的空間關系圖推理視覺問答模型(question-guided spatial relation graph reasoning model,QG-SRGR)。該模型將圖像結構化建模為具有空間交互的空間關系圖,視覺對象定義為空間關系圖的節(jié)點,而圖的邊則通過視覺對象之間固有的空間位置關系動態(tài)地構建。在動態(tài)構建的空間關系圖上,模型執(zhí)行門控圖推理網絡(gated graph reasoning network,GGRN)進行空間關系圖推理,以產生具有空間關系感知的視覺特征表示。此外,門控圖推理的門控值基于問題中詞引導的注意力權重,這允許將問題中的語義信息注入到關系推理和視覺特征的上下文學習階段,通過這種方式,學習到的特征不僅捕獲了圖像中對象交互的視覺內容,而且還兼顧了問題中的語義線索,動態(tài)地關注特定的關系類型和每個問題對應的實例對象。
本文提出的QG-SRGR模型由4個網絡模塊組成,分別為,1)空間關系圖的構建模塊。動態(tài)捕獲對象之間的空間關系,將圖像結構化建模為空間關系圖。2)問題表征模塊。生成問題中詞的詞嵌入、詞的特征向量和問題的特征向量。3)問題引導的空間關系圖推理模塊。進行基于問題引導的空間關系推理,并學習到具有空間關系感知的視覺特征表示。4)多模態(tài)融合及答案預測模塊。將具有空間關系感知的視覺特征和問題特征進行多模態(tài)融合,以預測高質量的答案。提出模型的總體框架如圖2所示。
圖2 本文QG-SRGR模型的整體架構Fig.2 The overall architecture of the proposed QG-SRGR model
1)首先計算度量空間關系的3個值,分別為中心坐標(xi,yi)和(xj,yj)的相對距離di,j與圖像對角線長度的比值μi,j,對象間的相對角度θi,j(θi,j為圖像水平軸與向量(xi-xj,yi-yj)的夾角),以及對象oi和oj之間的區(qū)域交并比值IoUi,j。該交并比具體為
(1)
2)優(yōu)先考慮“內部”和“覆蓋”兩種空間關系。如果oi完全包含了oj,意味著oi在oj的“內部”,邊ei,j表示內部邊,其邊標簽值lab(i,j)=1;如果oi被oj覆蓋,邊ei,j表示覆蓋邊,則lab(i,j)=2。
3)如果不存在上述兩種特殊情況,而IoUi,j大于0.5,這意味著oi和oj部分“重疊”;在μi,j和IoUi,j都小于0.5的情況下,ei,j根據相對角度θi,j劃分到空間關系“右”、“右上”、“頂部”、“左上”、“左”、“左下”、“底部”和“右下”的其中一種,對應的邊標簽值為
(2)
特別地,當μi,j>0.5而IoUi,j<0.5,認為oi和oj空間交互較弱,不建立它們之間的空間關系。
圖3 所有空間關系示意圖Fig.3 All types of spatial relations
Q=fGloVe(F)
(3)
H=fGRU(Q)
(4)
q=fSelf-attention(H)
(5)
式中,詞特征向量序列H將用于問題引導的注意力,問題的特征向量q將用于多模態(tài)融合和答案預測。此外,經過GRU編碼的詞特征向量,兼顧了每個詞在問題中的整體語義上下文,為更好的問題引導的空間關系推理提供了語義線索。
1.3.1 問題引導的注意力
al,i=Wn(tanh(Wvvi+Whhl))
(6)
(7)
式中,Wv∈RDn×Dv、Wh∈RDn×Dh和Wn∈R1×Dn均為可學習的參數矩陣,vi表示節(jié)點i的特征信息,hl表示詞l的特征向量,計算得到的注意力權重值al,i再使用歸一化指數函數softmax進行歸一化操作(fsoftmax)。歸一化后的注意力權重為αl,i,表示詞l在推理過程中參照視覺對象實例oi的可能性,達到了某些名詞屬性的詞和對應的視覺對象實例在語義上對齊的效果,同時αl,i也構成節(jié)點i的節(jié)點門控尺度因子。
同理,為衡量空間關系圖G上每條空間關系邊ei,j與問題的相關性,并使空間關系邊與問題中的空間描述保持一致,模型同樣在空間關系邊上學習一個注意力分布,表示為
βl,lab(i,j)=fsoftmax(Wβ1tanh(Wβ0hl+bβ0)+bβ1)
(8)
式中,Wβ1∈R11×Dβ0、Wβ0∈RDβ0×Dh、bβ0∈RDβ0和bβ1∈R11×1均為模型需要訓練的可學習參數。結果βl,lab(i,j)是基于詞l獲得的邊門控尺度因子,表示問題中詞參照對象之間空間關系類型為ei,j的概率。
1.3.2 門控圖推理網絡
受圖卷積神經網絡(graph convolution neural network,GCN)強大的圖表示學習和推理能力(Kipf和Welling,2017;Chen等,2018)的啟發(fā),本文提出一種基于空域GCN(Hamilton等,2017)的空間關系圖推理方法,將具有空間關系圖結構的所有圖像區(qū)域編碼為具有空間關系感知的視覺特征表示,并賦予模型空間推理能力。將從原始的GCN到改進的具有邊方向和邊標簽信息感知的GCN逐步展開論述,并分析它們的缺陷及提出相應的改進策略,最終提出門控圖推理網絡。
1)原始GCN。原始GCN定義在無向圖上,其圖卷積的特征聚合計算操作為
(9)
雖然原始GCN通過聚合其鄰居的特征和根據局部的拓撲結構傳遞消息來學習節(jié)點新的特征表示,并隱式地捕獲節(jié)點之間的相關性,但對于增強和學習到具有空間關系感知的圖像區(qū)域特征,不帶有任何關于方向性或邊標簽的GCN會忽略重要的關系信息。
2)具有邊方向和邊標簽信息感知的GCN。為實現在帶標簽、有向的空間關系圖G上進行圖卷積操作,通過充分利用節(jié)點之間的空間關系對原始GCN進行改進,分別改造變換矩陣W和偏置向量b以利用不同的邊方向和邊標簽,使改進后的GCN能夠學習邊方向和邊標簽的信息,則每個節(jié)點i改進后的具有邊方向和邊標簽信息感知的GCN編碼為
(10)
式中,dir(i,j)根據邊的方向選擇不同的變換參數矩陣,lab(i,j)代表每條有向邊ei,j的邊標簽,改進后的Wdir(i,j)∈RDnew×Dv項能夠感知邊方向,偏置項blab(i,j)∈RDnew學習了每條空間關系邊的信息。此外,式(10)改進的GCN均勻地聚合了來自有邊連接節(jié)點的特征信息,但沒有反映不同鄰居節(jié)點和連接邊的重要性。
(11)
(12)
(13)
(14)
(15)
(16)
改進的門控圖推理網絡中加入了門控值,能夠根據問題的文本信息和語義線索動態(tài)聚焦于重要的節(jié)點和空間關系邊,并根據鄰居節(jié)點和連接邊的重要性聚合自鄰居的特征信息。所有節(jié)點被門控圖推理網絡編碼后,節(jié)點特征獲取了節(jié)點之間動態(tài)的空間關系交互,賦予特征的空間感知力豐富了圖像內容的表示,同時學習到的特征還兼顧了問題的語義信息和線索。以編碼節(jié)點1的特征為例,問題引導的空間關系圖推理過程如圖4所示。
圖4 問題引導的空間關系圖推理過程Fig.4 The reasoning process of the question-guided spatial relation graph
u=f(Vnew,q)
(17)
(18)
由于一個問題可能存在多個正確答案,所以用二元交叉熵損失(binary cross-entropy loss,BCE)作為模型優(yōu)化的目標,表示為
(19)
本文所有實驗基于 Linux Ubuntu 18.04系統,GPU為GeForce RTX 2080Ti,深度學習框架為Pytorch,CUDA版本為10.0。
本文提出的QG-SRGR模型在VQA v2.0(visual question answering)(Goyal等,2017)數據集上進行訓練、驗證和測試。VQA v2.0數據集是目前最常用的評估視覺問答模型性能的大規(guī)模數據集,可在官網visualqa.org下載訓練的圖像,問題和答案。VQA v2.0數據集包含1.1 M個由人類提出的問題,由訓練集、驗證集和測試集3個部分組成,每一條有效的數據由三元問答組(圖像,問題,答案)構成,其中訓練集有80 k幅圖像和444 k個與圖像對應的問答組,驗證集有40 k幅圖像和相應的214 k個問答組,測試集有80 k幅圖像和相應的448 k個問答組。根據答案的類別,問題劃分為“是/否”(Y/N)、“計數”(Count)和“其他”(Other)3種類型。其中每個問題的10個可選答案由10位不同的答案注釋者給出,考慮到由多人給出的可選答案中可能存在近義詞、同義詞等,為了反映真實世界中語言和視覺的開放性,采用軟分數的形式作為模型回答準確率的評估指標,具體為
(20)
式中,c為可選答案在注釋者給出答案中出現的次數。
根據該評估指標,若模型預測的答案在該問題的10個可選答案中出現的次數大于等于3,則ACC為1,當預測答案在可選答案中出現的次數為 0、1、2 時,ACC分別為 0、0.3和0.6。
實驗預篩選在訓練集和驗證集中出現次數超過8次的答案構造候選答案集,候選答案集的大小為|A|=3 129;每個問題都劃分成單詞序列,單詞個數大于14的問題只取前14個單詞,而丟棄后面的單詞,小于14個單詞的問題在末尾使用零填充;將處理后的單詞序列輸入GloVe詞嵌入模型,對每個單詞進行向量維度為300的詞嵌入,得到的詞嵌入序列再輸入到GRU中生成詞特征向量序列,詞特征向量和問題向量的維度均設置為1 024;對于圖像特征,在Visual Genome數據集(Krishna等,2017)上預訓練Faster R-CNN模型,對每幅圖像依據概率獲得K= 36個視覺對象的視覺特征和對應檢測框的位置坐標,并且每個對象的視覺特征通過ResNet-101(residual neural network)(He等,2016)卷積特征的池化得到,提取的視覺特征向量的維度為2 048。
采用Adamax算法(Kingma和Ba,2017)進行損失函數的優(yōu)化,mini-batch size設置為256。學習率采用預熱策略,將初始的學習率設置為0.000 5,每個epoch線性地增加0.000 5,直到在第4個epoch達到0.002,并一直穩(wěn)固這個學習率到第15個epoch。在15個epoch之后,學習率衰減0.5,并維持直到第17個epoch。每一輪epoch訓練結束后,打亂一次訓練集數據,避免訓練樣本的先后次序影響優(yōu)化的結果。為了防止梯度爆炸,使用閾值為0.25梯度裁剪策略。為了穩(wěn)固輸出和防止出現過擬合,每個線性映射都經過權重歸一化和dropout處理。
模型在VQA v2.0的訓練集上進行訓練,并在驗證集上評估模型的回答準確率,圖5展示了訓練損失的變化以及模型分別在訓練集和驗證集上的回答準確率。在前4個epoch,模型優(yōu)化采用了學習率預熱策略,從損失、訓練準確率和驗證準確率的曲線來看,前4個epoch的損失下降非??欤柧殰蚀_率和驗證準確率都上升比較快,說明學習率預熱策略生效。第4個epoch后維持了學習率,從各曲線看,模型得到穩(wěn)定的優(yōu)化。第11個epoch后,驗證準確率提升非常小,損失下降速度開始放緩。第14個epoch后,模型在驗證集上的準確率不再上升,直到第16個epoch學習率衰減,損失進一步下降,驗證準確率小幅度提升,而第17個epoch模型在驗證集上準確率開始下降。最終采用訓練16個epoch的模型,且在驗證集上準確率為 64.09%。對損失和準確率的曲線圖進行分析發(fā)現,采用的優(yōu)化策略生效,模型并沒有陷入局部最優(yōu)的情況,模型得到了有效的優(yōu)化。
圖5 模型訓練過程中損失和準確率變化圖Fig.5 Changes in loss and accuracy during model training
表1展示了本文模型與其他VQA模型在VQA v2.0 Test-dev和Test-std測試集上的性能對比,選取的模型包括基線模型和近年具有代表性的模型,分別為Prior(Goyal等,2017)、Language-only(Goyal等,2017)、MCB(multimodal compact bilinear)(Fukui等,2016)、Bottom-up(Anderson等,2018)、Mutan(Ben-Younes等,2017)、ReasonNet(Ilievski和Feng,2017)、Graph learner(Norcliffe-Brown等,2018)、SSAN(stacked self-attention network)(Sun和Fu,2019)和BUMN(bottom-up attention and memory network)(閆茹玉和劉學亮,2020),表1中對比的準確率均取自相關文獻。從表1可以看出,相比于Prior和Language-only這兩個基線模型,本文模型在Test-std測試集上總體的準確率有較大提升,分別為41.36%和23.08%。MCB是一種多模態(tài)緊湊雙線性池化方法,Bottom-up是2017年VQA Challenge的冠軍模型,對比于MCB和Bottom-Up模型,本文模型在Test-std測試集上總體的準確率上有不小提升,分別為5.07%和1.67%,在Test-dev測試集上比Bottom-up模型的總體準確率提高了1.66%。與剩下的其他沒有推理能力的模型對比,本文模型在各方面的準確率上都有不同程度的提升,總體好于沒有關系推理和學習的模型。
表1 本文模型與其他VQA模型在VQA v2.0測試集上準確率的對比Table 1 Comparison of the accuracy among our model and other models on VQA v2.0 test set /%
進一步與兩個有推理能力的模型進行比較,相比于ReasonNet模型,本文模型在Test-std測試集上,“Overall”(總體)、“Y/N”(是/否)、“Count”(計數)和“Other”(其他)問題的準確率分別提高了2.73%、4.41%、5.37%和0.65%。對比發(fā)現,QG-SRGR模型和ReasonNet模型在答案類型各異的“Other”問題上,回答準確率高于其他模型,說明模型可因推理能力帶來準確率的提升,而本文采用結構化建模和更細粒度的顯著性對象級特征的推理模型,在該項上取得了更好的結果。與本文對圖像建模方法相似的是Graph learner,不過Graph learner以問題為條件構建無向圖,并沒有從邊方向和邊標簽信息中學習到具有空間關系的信息感知。實驗表明,本文能學習方向和空間關系的圖推理模型,在各方面的回答準確率都好于Graph learner。值得注意的是,本文模型和Graph learner兩個圖建模模型在“Count”問題上的回答準確率高于對比的其他模型,該項的性能提升主要來自兩方面:一是圖模型構建了被計數對象與其他對象的交互,可將推理進一步聚焦在被計數對象上;二是圖卷積操作通過聚合鄰居節(jié)點的信息細化了節(jié)點特征,使得各節(jié)點特征表示的信息有所差異,有利于識別計數。
為探討本文方法的有效性,在門控圖推理網絡上對門控組件進行消融實驗,結果如表2所示。
表2 在VQA v2.0驗證集上對門控的消融結果Table 2 Result on VQA v2.0 validation set for ablation study of gates
原始GCN對應式(9)的圖卷積運算,即當μ≤0.5時,視覺對象之間存在邊連接,不區(qū)分邊方向和邊類型。實驗表明,用原始GCN做關系推理的效果欠佳,這種無邊方向、無邊標簽信息、無問題語義線索引導以及不能反映鄰居節(jié)點和邊重要性的特征聚合方式,為每個節(jié)點特征帶來非常大的噪聲信息。兩個門控為No相當于式(10)感知邊方向和邊標簽信息的GCN,實驗表明,具有邊方向和空間關系感知的GCN與原始GCN相比,準確率因邊方向和邊標簽的信息提升了1.12%,表明了邊方向和邊標簽信息的重要性。但是這種聚合方式并沒有利用問題的語義線索、鄰居節(jié)點和邊的重要性,而是盲目地獲取了與鄰居節(jié)點的交互信息,信息噪聲仍然非常大。當引入受問題語義線索引導的邊門控或節(jié)點門控后,門控圖推理網絡能夠根據鄰居節(jié)點或邊的重要性,增強或衰減來自鄰居節(jié)點的特征信息,減少來自不相關節(jié)點和關系的噪聲,且任意一種門控都有助于提升性能,這充分表明問題引導的注意力的有效性和在推理中加入問題語義線索的重要性。當同時加入兩種門控值后,模型在VQA v2.0驗證集上達到了最好的性能表現,相比于感知邊方向和邊標簽信息、只帶邊門控、只帶節(jié)點門控和原始GCN,分別提升了3.42%、0.36%、0.35%和4.54%。
為進一步探究模型的學習效果,闡明空間關系如何幫助提升模型性能和空間關系的推理能力,本文對QG-SRGR模型學習到的注意力權重與視覺對象之間的位置進行了可視化,如圖6所示,
圖6(a)(b)展示了單詞girl對各區(qū)域的注意力權重和權重值前4的區(qū)域,其中對bench和girl的聯合區(qū)域6有著最大的注意力權重,模型有效地學習到了詞與區(qū)域的語義對齊。圖6(c)(d)展示了節(jié)點門控值最大的4個區(qū)域和每個區(qū)域的門控值,其中區(qū)域5的節(jié)點門控值最大,說明模型主要將注意力集中在區(qū)域5對應的girl對象上,此外區(qū)域11和17也有較高的節(jié)點門控值,而這些區(qū)域也是與推斷出正確答案極其相關的。圖6(e)還展示了模型是如何利用問題中的空間描述和語義信息引導空間推理,以及如何學習具有空間關系感知的區(qū)域特征表示的。圖6(e)展示詞on對“右上”和“頂部”兩種邊類型的注意力分數較高(填充詞的注意力分數已省略),其中對“頂部”的注意力權重最高,同時計算得出這兩種邊類型對應的邊門控值也是前2名。也就是說,在進行門控圖卷積運算時,bench區(qū)域對應的節(jié)點在特征信息聚合時將感知和接收更多總體在其頂部的girl節(jié)點的交互信息,這些信息被門控圖推理網絡學習為具有空間感知的視覺特征表示,以此增強了視覺特征和豐富了圖像的表示。
圖6 對注意力權重及門控值的可視化Fig.6 Visualization of attention weights and gating values((a)top-4 regions of attention value;(b)the attention values of “girl” respect to regions;(c)top-4 regions of node gated values;(d)the node gated values of regions;(e)the attention values of words respect to edges)
為分析QG-SRGR模型預測答案的質量,展示了QG-SRGR模型、復現的Bottom-up模型(Anderson等,2018)和Zhou等人(2015)的基線模型對需要不同推理能力的問題的預測結果,如圖7所示。通過定性比較可以發(fā)現,QG-SRGR模型對于需要空間關系推理的問題,預測的答案質量更高。如圖7(b)所示,Bottom-up預測的答案為hat,Baseline預測的答案為nothing,而QG-SRGR模型預測出了hat的復數形式hats;圖7(c)中,Bottom-up和Baseline都預測到在bathtub外面的toilet的顏色white,而本文的QG-SRGR模型成功地根據問題的語義信息in預測到在bathtub里面的toilet的顏色pink;圖7(d)這類被鏡像化處理的圖像,QG-SRGR模型同樣預測出了正確答案,展現出較強的空間關系推理能力。剩余的問題同樣展示QG-SRGR模型預測的答案比沒有空間關系推理的Bottom-up和Baseline模型質量更高。此外,在不需要空間關系推理的問題上,QG-SRGR模型也有不錯的表現,如圖7(k)所示。
圖7 QG-SRGR、Bottom-up和Baseline模型預測結果的比較Fig.7 Comparison of prediction results among QG-SRGR,bottom-up and baseline models((a)people;(b)hats;(c)pink;(d)wall;(e)blue1;(f)blonde;(g)plate;(h)rainbow;(i)blue2;(j)raspberries;(k)baseball;(l)3)
針對視覺問答中需要空間關系推理的問題,通過改進的門控圖推理網絡,提出了問題引導的空間關系圖推理視覺問答模型。利用視覺對象之間固有的空間關系屬性將圖像結構化建模為空間關系圖,構建了對象間的空間交互;對變換矩陣和偏置向量改進的圖卷積神經網絡,有效地感知了方向和空間關系信息;構建的門控圖推理網絡將其集成并學習為表現力更強、具有空間關系感知的視覺特征,并賦予模型空間關系推理能力。問題引導的注意力達到了圖像區(qū)域與問題文本信息更準確的語義對齊,確保了對象間的空間關系與問題中的空間描述的一致性。
充分的消融實驗驗證了提出的QG-SRGR模型及其各個組件的有效性,特別是進行的可視化實驗表明其空間關系推理過程符合人類的推理習慣。與大多數使用注意力機制和多模態(tài)融合但空間關系推理能力欠佳的其他VQA模型相比,QG-SRGR模型在各類問題的回答準確率上都有顯著提升。本文單獨圍繞眾多視覺關系中的空間關系展開研究,事實是對象之間存在多種交互關系,如代表動作交互的行為關系等,因此后續(xù)的工作將探討對象之間更多的交互關系,并進一步將本文提出的關系推理方法運用到每一種可能的視覺關系中。