?

聯合知識和視覺信息推理的視覺問答研究

2024-03-12 08:58蘇振強
計算機工程與應用 2024年5期
關鍵詞:注意力語義模態

蘇振強,茍 剛

貴州大學計算機科學與技術學院公共大數據國家重點實驗室,貴陽 550025

隨著網絡的飛速發展,數據的存在形式是多種多樣的,其用途和來源也是十分廣泛。不同存在形式或信息來源都可以稱之為一種模態,往往單模態信息表達的內容有限,加之文本、語音、圖像等單模態信息技術的逐步成熟,多模態信息挖掘走進了人們的視野。本文關注的是一項結合計算機視覺和自然語言處理的學習任務:視覺問答(visual question answering,VQA)[1]。視覺問答需要機器充分感知、識別、理解圖像信息和問題語義,并推理出正確的答案,是一項極具挑戰性的任務。換言之,該任務就是教會機器如何去“觀察”和“閱讀”。視覺問答在跨模態人機交互場景下極具應用前景,包括但不限于幫助視障人士感知世界,提高公安系統監控視頻檢索效率,優化智能系統中人機交互體驗。

視覺問答主要是對圖像和問題分別進行特征提取,一方面利用Word2Vec[2]、Glove[3]、Bert[4]等技術進行文本編碼,另一方面采用VGG[5]、ResNet[6]、Faster R-CNN[7]等技術進行圖像編碼,進而實現特征的理解和融合等操作。2014年第一個視覺問答數據集的發布,拉開了VQA研究的序幕。Malinowski等人[8]提出了一種神經圖像視覺問答方法,利用長短期記憶網絡(long short-term memory,LSTM)[9]處理問題文本和生成答案。Ren 等人[10]不同于前者將視覺問答視為序列生成問題,而是看作分類問題,從預定義的詞匯表中選出正確的答案。但是他們都采用了雙向LSTM,從前后兩個方向分析問題,一定程度上解決了遠距離單詞依賴丟失的問題。

如果依靠圖像和文本的全局特征,往往容易傳遞無關或嘈雜信息。因此,有學者引入注意力機制來有效地避免此類情況的發生。譬如,Chen等人[11]將問題特征表示從語義空間轉化為視覺空間來生成卷積核,從而在空間圖像特征圖中搜尋與問題語義信息最相關的視覺區域特征,獲得語義對齊后的視覺注意圖,但忽略從視覺特征出發的注意力引導。視覺任務需要同時理解圖像和問題,Fukui 等人[12]提出了雙線性池化(multimodal compact bilinear pooling,MCBP)方法,將視覺和文本特征進行跨模態融合,在一定程度上有效融合了模態特征,但是外積的融合方式無法表征復雜的交互信息。因而,Ben-Younes 等人[13]提出了MUTAN 模型,運用張量分解的方式對雙線性模型的參數張量進行分解,以此進行復雜交互。Anderson等人[14]通過“自下而上”和“自上而下”相結合的視覺注意力機制,學習圖像區域和文本問題之間的隱含對齊關系。Kim 等人[15]提出一種雙線性注意力網絡模型BAN,利用雙線性注意力映射和雙線性池化的方式提取圖像和問題的聯合表示。Yu 等人[16]提出了一種提出了一種深度模塊化共同注意力網絡(modular co-attention network,MCAN),注重單模態的內部注意力和跨模態之間的交互注意力,加強了模態的內部依賴和跨模態的對齊關系。以上方法在視覺問答領域都取得了不錯的成績,但是對于基于知識的開放性視覺問答,忽略了外部知識,僅僅依靠圖像和問題信息難以推理出正確的答案。

Zhu 等人[17]提出了Mucko 模型,從視覺、語義、知識三個角度將圖像表示成一個多層的多模態異質圖,并利用異質圖卷積網絡來從不同層的圖中自適應地收集互補線索。王屹超等人[18]結合圖像描述和知識圖譜作為外部知識用來解決開放性知識問答。以上方法用不同方式結合問答所需要的知識信息,用單模態的特征與知識庫進行交互,然而在一些問答實例中需要聯合圖像和問題語義進行知識交互,才能推理出正確的答案。

外部知識的引入可以豐富模型的推理能力,視覺信息也不容忽視。如圖1(a)所示,圖像信息并沒有關于“這些人是游客還是當地人?”的相關信息,可以從視覺信息捕捉到“行李包”這一個信息對象,結合相關聯的外部知識:“旅行包是手提包,用于裝旅行者的衣服和其他個人物品”和“行李是存放旅客物品的箱子”,可以推理出圖中的人是游客這一答案。圖1(b)中,外部知識僅僅能提供這個物體是用于表示時間的相關概念性信息,而對于問題需要的具體時間仍需要從視覺信息中進行獲取。

圖1 聯合知識和視覺信息的視覺問答實例Fig.1 Knowledge-based visual question answering example

因此,本文提出了聯合知識和視覺信息推理的雙線性推理結構,將模型的推理過程分為視覺信息推理和外部知識信息推理,設計了圖像特征和文本特征雙引導的注意力機制,從而與外部知識進行充分交互。

本文的主要研究工作如下:

(1)提出雙線性推理結構,關注視覺信息的提取和知識嵌入的方式,充分利用視覺信息和知識信息來進行問答推理。

(2)設計了雙引導的注意力模塊,使得每一個問題詞和每一個圖像區域都可以實現與外部知識實體的密集交互,有助于理解其中的細粒度關系,更好地推理出問答所需的知識信息。

1 相關工作

1.1 LXMERT

目前關于視覺語言的推理都要求模型能夠正確的理解視覺概念和語言語義,以及兩者之間的關系,并將它們對齊。LXMERT[19]框架通過三個編碼器(對象關系編碼器、語言編碼器和跨模態編碼器)來學習視覺語言之間的關系。為了使LXMERT能夠將視覺概念和語言語義關聯起來,利用掩碼語言建模、掩碼目標預測、跨模態匹配、圖像問答等預訓練任務,在大量“圖像句子對”數據集上對模型進行了預訓練。這些任務有助于模型學習模態內部和模態之間的關系。因此,該文擬利用LXMERT 在模態內和跨模態間表現出良好的建模能力的優勢,對問題和圖像進行編碼,以進一步抽取視覺信息和輸入對象的特征表示。

1.2 MCAN

文獻[16]提出的深度模塊化協同注意網絡,將問題中的關鍵詞和圖像中的關鍵區域進行深度的聯合注意學習。這種深度的學習方式主要是利用了自注意力(self-attention,SA)[20]機制對問題和圖像分別進行自注意,加強問題和圖像各自的內部依賴關系;利用引導注意力(guide-attention,GA)的機制實現跨模態特征之間的協同。SA和GA內部結構如圖2所示。

圖2 SA和GA的內部結構Fig.2 Ⅰnternal structure of SA and GA

自注意力SA 是用于計算單模態之間的依賴關系。它摒棄了模態信息內部的順序關系,通過相似度計算去衡量和表征模態信息。SA 傳入的是三個相等向量Query、Key、Value,即Q=K=V。首先將Q和K進行點積,計算二者之間的相似度得到權重,并除以K的維度;然后通過softmax函數進行權重的歸一化;最后將權重與V進行加權和得到最終的注意力表征,其表達式具體如下:

其中,dk為K的維度。

為了進一步提高模型的推理能力,采用多頭注意力機制,其計算方式為:

其中,、、是第i個頭的參數矩陣,n是多頭的數量,Wm是多頭注意力參數矩陣。

2 本文方法

本文的模型框架如圖3所示,將模型的推理路徑分為視覺信息推理和外部知識信息推理。

圖3 聯合知識和視覺信息推理的雙線性模型框架Fig.3 Bilinear model framework for joint knowledge and visual information reasoning

2.1 視覺推理

視覺推理路徑主要是分析問題和圖像之間的隱含關系,從圖像信息中發掘問題所需要的視覺信息。由于視覺-語言模型LXMERT在模態內和跨模態間表現出良好的建模能力。本文采用LXMERT對問題文本和圖像進行編碼,以進一步抽取視覺等信息。

2.1.1 特征表示和視覺信息

輸入的圖像Ⅰ本文采用Faster R-CNN,以“自下而上”的方式來提取輸入圖像的目標區域特征,最終每一張圖像可以表示為一個視覺特征矩陣fv∈RK×d:

其中,K表示圖像區域框的數量,d表示區域框的特征維度。

輸入的問題文本Q運用WordPiece 進行分詞并獲得長度為D的單詞序列fq:

將視覺特征fv和文本序列fq傳入預訓練模型LXMERT中,獲得視覺編碼LV∈RK×dv、問題文本編碼LQ∈RD×dv和跨模態輸出“[CLS]”,其中dv表示編碼信息的維度。

考慮到LXMERT 預訓練任務中對VQA 設置,本文從[CLS]表征中抽取跨模態的視覺信息,并喂入多層感知機(multi-layer perceptron,MLP)中以進一步推理出問答所需的視覺信息V∈R1×dr,其中dr是表示學習的維度大小。

2.1.2 圖像的語義對齊

一般輸入問題的語義關注對象只有圖像中的一小塊區域,而不是整張圖像信息。如圖1中的實例B,該問題只需要關注圖像中的時鐘對象,而其他對象信息實則為冗余信息。由于LXMERT是針對模態內部所有對象的隱含關系進行建模,所以經過編碼的各個區域框的特征實際上也包含了其他區域框的視覺信息。因此,可以利用LXMERT的輸出特征計算與問題語義對齊的視覺對象,從而減少噪聲數據提升模型的推理能力。

引用文獻[21]中的處理手段,首先將問題表征和圖像中各區域框的視覺特征通過線性投射層映射到同一維度后進行矩陣相乘運算,構建出相似性矩陣A:

其中,W1和W2表示線性投射層中可學習的參數矩陣;其次利用逐行最大池化的方式從相似性矩陣中計算各對象區域框Oi與問題之間的相關性;然后利用Gumbel-Softmax結合硬注意力機制計算各個對象區域的語義相關性權重信息:

其中,i表示第i個區域框,gi表示Gumbel(0,1)的隨機采樣,τ表示Gumbel 的溫度;最后將權重信息轉化為one-hot分布從而得出問題語義對齊下圖像區域塊表征R∈R1×dv,其計算表達式如下:

2.2 知識推理

2.2.1 外部知識表示

本文編寫SPARQL語句從Wikidata[22]知識庫中抽取與現實場景相關聯的知識實體,再過濾描述為空或非英語單詞的知識實體后,共獲取到187 308 個實體及其描述信息。因為預訓練模型CLⅠP[23]突出的圖文配對的能力,所以本研究中圖像采用滑動窗口的對象抽取形式構建一批圖像集,并利用CLⅠP 從過濾后的知識實體中檢索與圖像信息相關聯的知識實體,用于該問答的外部知識信息。

外部知識的嵌入表示分為兩個并行的視角,每個視角采取不同方式的知識嵌入手段。視角1利用Glove詞嵌入技術將文本S轉換為詞向量,然后通過平均池化策略獲取該文本的句子向量;視角2 利用預訓練模型Sentence-BERT[24]得到其句向量特征表示Ss:

其中,Sg∈Rdg,Ss∈Rds,dg和ds分別表示Glove詞嵌入和Sentence-BERT句嵌入的維度。

2.2.2 協同引導

多模態協同引導的注意力機制是挖掘問題、圖像、外部知識三者特征表示之間交互信息的一種結構。受MCAN模型中GA單元的啟發,本文設計了圖像和文本特征雙引導的協同注意力機制(dual-guided attention,DGA),其單元結構如圖4所示,計算方式為:

圖4 DGA的內部結構Fig.4 Ⅰnternal structure of DGA

其中,X、Y1、Y2分別代表知識表征、圖像特征和文本特征。

基于DGA和SA共同構成多模態協同注意力SDGA模塊,模塊結構如圖5所示。

圖5 SDGA的內部結構Fig.5 Ⅰnternal structure of SDGA

SDGA 的輸入主要有問題文本特征LV、語義對齊的圖像2特征R、外部知識的知識表征Ss。其中經LXMERT 處理后的問題文本特征,其重點關注問題文本中的名詞、代詞、冠詞,這些詞性的單詞常在句子語義上起到重要作用,能夠很好地引導推理過程。首先外部知識表征通過SA進行自注意力機制得出知識之間的關聯關系;然后將其送入DGA中作為查詢向量,與問題特征和圖像特征分別進行協同注意力機制;最后將二者輸出通過相加運算后,利用殘差鏈接送入前饋神經網絡與層正則化得到最終的輸出表示Z∈Rn×dh,其中dh是注意力機制中的隱藏層大小。

2.3 特征減少和融合

模型通過視覺推理和知識推理得到兩個輸出:V和Z。為了獲取Z的實際參與信息減輕問題特征和圖像特征的過度引導,首先將Z送入一個雙層的MLP 得到輸出Z′;其次將Z′利用softmax計算其權重信息并進行加權和操作得到Z′;再次將Z′通過線性投射映射到與V同一個學習維度;然后二者利用相加運算的融合方式生成一個融合向量并傳入MLP中得到最終的推理結果,最后將該推理結果送入與答案集合長度相同的分類器中,分類得出最終預測的結果。

3 實驗

3.1 數據集

本研究是基于開放性的知識問答,在回答問題的時候需要借助外部知識信息??紤]到一些數據集的局限性,比如FVQA數據集[25]和KB-VQA數據集[26]均使用指定的知識庫信息,導致了其泛化能力弱的問題。于是本文選用OK-VQA[27]作為實驗的數據集。

OK-VQA是一個指包含外部知識解答的數據集,使用來自MS-COCO 數據集[28]的圖像,共包含14 031 張圖像和14 055 個英文問題。該數據集中問題的平均長度為6.8個單詞,答案平均長度為2.0個單詞。本文依照官方劃分標準,將其樣本劃分為9 009 個樣本的訓練集和5 046個樣本的驗證集。

3.2 實驗細節

本文實驗的硬件環境是基于Ubuntu 18.04 操作系統,顯存為22 GB,顯卡為兩張NVⅠDⅠA GeForce GTX 2080TⅠ,版本為CUDA11.1,軟件環境基于Python 3.8,深度學習框架為Pytorch 1.8.1。

特征處理:輸入的問題文本采用WordPiece 進行分詞,設定最大長度D=20,得到文本字符映射到詞典id的文本序列;輸入的圖像采用Faster R-CNN 以自下而上的方式提取圖像區域框特征,設定區域框數量K=36,每個區域框的特征維度d=2 048;輸入的外部知識實體的數量取值為20 并且使用Sentence-BERT 進行句子嵌入,句子表示維度ds=384,隨后將句子表示向量維度映射到512。

多模態協同引導:SDGA 的層數設置為6。多頭注意力機制中,設置head=8,隱藏層的大小dh=512,每個頭的大小為64。

視覺推理:視覺推理信息V的表示學習維度為300。

輸出層:本文選用的答案詞典源自于訓練集中出現的答案集合,為了提高訓練效率和精度,實驗中過濾答案集合中頻率少于2 次的答案對象。實驗的損失函數采用二分類交叉熵(binary cross entropy,BCE),優化器采用AdamW,實驗中的超參數如表1所示。

表1 實驗中的超參數Table 1 Hyperparameters in experiments

評價指標:利用VQA 中提出的評價指標衡量實驗模型的有效性:

3.3 實驗結果

本文模型以文獻[16]和文獻[19]作為基線方法,并在OK-VQA 數據集上與其他主流模型進行對比,實驗結果如表2所示。從實驗結果中可知,本文與基線方法相比準確率分別提升1.97個百分點和4.82個百分點,與其他方法相比準確率也有不同大小的提升。實驗結果表明,本文提出的聯合知識和視覺信息推理的雙線性模型是有效的。

表2 主實驗模型與其他模型實驗結果的比較Table 2 Comparison of experimental results between main experimental model and other models 單位:%

4 實驗分析

4.1 多模態協同引導的消融實驗對比

為了分析圖像特征和問題特征對知識推理過程的影響,本文設計了將SGA[16]作為協同注意力單元的3種對比實驗,分別從圖像特征引導、問題特征引導、圖像與問題特征雙引導(將二者特征進行相加運算)策略分析單特征和多特征引導的差異性。三種策略的實驗結果如表3 和圖6 所示。實驗結果表明,在單特征引導中基于SGA的圖像特征引導策略比基于SGA的文本特征引導策略更具有推理能力,模型的效果更佳。整體來說,雙特征引導明顯優于單特征引導。產生差異的主要原因是:單特征引導在知識推理過程中提供信息引導的能力有限,無法具體理解整體問答語義即單從圖像特征考慮無法理解知識表征應該關注哪一方面的信息,如對象屬性、來源等等,若結合問題特征則能夠很好地解彌補該不足。同樣的,單從問題特征考慮,缺乏圖像的目標對象,增加了模型的推理難度。

表3 不同策略的實驗對比結果Table 3 Experimental comparison results of different strategies單位:%

圖6 不同策略對準確率的影響Fig.6 Effect of different strategies on accuracy

為了驗證本文提出的SDGA模塊的有效性,本文將基于SGA的雙特征引導和基于SDGA的雙特征引導方式進行對比實驗。從圖6 中準確率的走勢中可以發現基于SDGA 雙引導更加穩定,有明顯的優勢,實驗的具體數據比較如表3。從表3 中可以知道,基于SDGA 雙特征引導的實驗達到了34.01%的準確率,高于基于SGA雙特征引導0.48%,這說明SDGA單元結構是有意義的,在多模態協同方面更具合理性,能夠細粒度地與外部知識進行交互融合和推理。

4.2 知識嵌入的消融實驗對比

為了分析知識嵌入方式對模型知識表征的影響,本文分別利用Glove 詞嵌入和Sentence-BERT 知識嵌入的方式獲取句向量,隨后將二者的句向量映射到相同維度進行實驗對比。采用Glove 詞嵌入之后模型相比Sentence-Bert知識嵌入準確率下降了1.47%。造成該問題的主要原因是:Sentence-BERT 在大量的語句上進行訓練,能很好地表征一個句子語義信息,而采用Glove詞嵌入后,從單個詞語的語義出發,未經歷大規模的語句訓練,編碼信息較為單一,難以有很好的表征能力。

5 誤差分析

本文對誤差的案例進行分析,從圖7(a)可以觀察到,此時外部知識提供“世界時鐘是顯示世界各個城市的時間”等知識信息,然后結合圖像和問題信息得出答案,而模型預測偏差的主要原因是答案詞典的局限性,即本任務中將視覺問答作為分類問題,而問答詞典的構建是基于訓練集詞典,所以訓練集中的答案集合中不能覆蓋所有驗證集中答案字符。在某種程度上來說,模型預測的“tell time”是該情況下較為符合問題語義一種回答。

圖7 誤差案例分析Fig.7 Error cases analysis

從圖7(b)和(c)中可以發現模型缺乏細致化的場景分析,其主要原因歸咎于已構建的知識庫內容的局限性和模型缺乏細粒度場景識別能力,才導致模型以外部知識信息為主導,缺乏對問題語義的細致理解。雖然知識庫具備圖像中絕大數對象的信息,但是多數對象在現實生活中存在不同的場景語義,現有的知識庫無法提供更為豐富的信息,模型也無法對場景進行區分和理解,相反地,模型過度依賴檢索到的知識信息。具體如圖7(c),因為外部知識提供了“長凳用于學校的教室”的知識信息,所以導致了模型的誤判。

視覺問答領域內通用的評判標準在該任務下缺乏語義性,過于公式化。如圖7(d)中所示問答,以人類角度“Teddy bear”和“bear”在該場景下語義信息是一致的,二者均可作為本題的答案。

綜上所述,模型具有以下幾點局限性:

(1)模型缺乏自主生成答案的能力;模型過度依賴檢索的相關知識,無法根據場景關聯知識。

(2)知識庫對某些對象場景覆蓋面有限。

(3)評價標準缺乏該場景下的細致性理解。

6 結束語

本文提供了視覺問答與知識庫結合的一種方式,提出一種雙線性推理結構,將視覺推理和外部知識推理進行有機融合,有效提升了模型的整體推理能力,模型在OK-VQA 數據集上取得較好的效果。視覺推理主要是將問題和圖像進行跨模態的交互分析,從視覺信息中推理出的知識信息(如圖片對象文字、屬性等信息);知識推理是在問題語義特征和圖像對象特征的雙引導下,實現與外部知識表征的交互融合,從而推理出符合問答語義的關鍵知識信息。

實驗結果表明,該模型與前人的工作相比準確率有著不同程度的提升。在后續的消融實驗當中也驗證了模型結構在此任務上具有一定的有效性。在下一步的研究中,應進一步拓展知識庫內容信息,豐富知識庫表征能力,可考慮與知識圖譜技術融合增強模型的多級推理能力和場景的細致化理解。另外,摒棄“分類式”的問題回答,采用詞典組合等自主生成的答案方式更具有靈活性,也更加符合該領域的實際應用場景。

猜你喜歡
注意力語義模態
讓注意力“飛”回來
語言與語義
“揚眼”APP:讓注意力“變現”
A Beautiful Way Of Looking At Things
“上”與“下”語義的不對稱性及其認知闡釋
國內多模態教學研究回顧與展望
基于HHT和Prony算法的電力系統低頻振蕩模態識別
認知范疇模糊與語義模糊
由單個模態構造對稱簡支梁的抗彎剛度
語義分析與漢俄副名組合
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合