龔 安 丁 磊 姚鑫杰
(中國(guó)石油大學(xué)(華東) 青島 266580)
視覺(jué)問(wèn)答任務(wù)是人工智能領(lǐng)域的新興課題[1]。給定圖像和相關(guān)的文本問(wèn)題,視覺(jué)問(wèn)答的任務(wù)是結(jié)合輸入的圖像和文本,生成一條人類可讀的自然語(yǔ)言作為輸出答案。該任務(wù)融合了計(jì)算機(jī)視覺(jué)、自然語(yǔ)言處理等計(jì)算機(jī)領(lǐng)域的知識(shí),可視為對(duì)通用人工智能技術(shù)的探索。視覺(jué)與語(yǔ)言是人類最重要的交流方式,讓計(jì)算機(jī)能同時(shí)理解視覺(jué)和語(yǔ)言并正確做出反饋,能極大地改善人類與計(jì)算機(jī)間的交互方式。由于視覺(jué)問(wèn)答任務(wù)的多技術(shù)交叉性質(zhì)以及潛在的實(shí)用價(jià)值,因此對(duì)于視覺(jué)問(wèn)答任務(wù)的研究很有價(jià)值。
視覺(jué)問(wèn)答任務(wù)的難點(diǎn)在于需要計(jì)算機(jī)同時(shí)理解圖像和文本。近年來(lái),視覺(jué)問(wèn)答技術(shù)得到了迅猛的發(fā)展。主流方法為將圖像和文本聯(lián)合嵌入到相同的特征空間的聯(lián)合嵌入模型。Malinowski[2]等提出了Neural Image QA 模型,該模型以CNN 和LSTM為基礎(chǔ),使模型可處理可變大小的問(wèn)題輸入和答案輸出。Yu[3]等提出了一種多層次注意力網(wǎng)絡(luò)模型,通過(guò)圖像語(yǔ)義層級(jí)的注意力來(lái)減少與問(wèn)題語(yǔ)義間的差異。Peter[4]等提出了Bottom-up 模型,以基于殘差神經(jīng)網(wǎng)絡(luò)的Faster R-cnn 提取圖像目標(biāo)等級(jí)的特征,使模型脫離使用圖像的全域特征而關(guān)注于特定的目標(biāo)區(qū)域。但這些方法并不能很好地關(guān)聯(lián)圖像中的目標(biāo)和文本的聯(lián)系。
近年來(lái),由于圖形的強(qiáng)大表現(xiàn)力,用機(jī)器學(xué)習(xí)分析圖形的研究越來(lái)越受到關(guān)注,圖神經(jīng)網(wǎng)絡(luò)[5](GNN)是基于深度學(xué)習(xí)的方法,在圖域上運(yùn)行卷積神經(jīng)網(wǎng)絡(luò)。由于其令人信服的性能和高可解釋性,GNN 最近已成為一種廣泛應(yīng)用的圖形分析方法,其側(cè)重于分類、鏈路預(yù)測(cè)和聚類。在視覺(jué)問(wèn)答中,圖像中的目標(biāo)可視為圖的節(jié)點(diǎn),節(jié)點(diǎn)間基于問(wèn)題的聯(lián)系可視為邊。綜上,本文在聯(lián)合嵌入模型的基礎(chǔ)上結(jié)合圖卷積神經(jīng)網(wǎng)絡(luò)(GCN),加強(qiáng)圖像目標(biāo)和問(wèn)題間的聯(lián)系,通過(guò)圖網(wǎng)絡(luò)強(qiáng)大的分類能力,以提高視覺(jué)問(wèn)答的準(zhǔn)確率。
卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展促進(jìn)了圖卷積網(wǎng)絡(luò)的研究。應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)的歐幾里德域數(shù)據(jù)例如圖像和文本可以看成圖的實(shí)例。近年來(lái),卷積運(yùn)算被推廣到圖域。圖卷積通常被分類為譜圖域卷積[6]和空間域卷積[7]。譜圖域GCN 利用圖的信號(hào)處理過(guò)程,通過(guò)計(jì)算圖的拉普拉斯算子的特征值矩陣,在傅里葉變換中定義卷積運(yùn)算。空間域GCN 直接在圖上定義卷積,學(xué)習(xí)鄰近空間的信息。Kipf[8]提出了將CNN 擴(kuò)展為GCN 以連接任意的無(wú)向圖。GCN學(xué)習(xí)圖中每個(gè)節(jié)點(diǎn)的局部特征,該特征編碼了圖中節(jié)點(diǎn)與其鄰接節(jié)點(diǎn)關(guān)系。在圖卷積層,通過(guò)聚合節(jié)點(diǎn)本身和其鄰域節(jié)點(diǎn)的特征以產(chǎn)生新的輸出特征。通過(guò)堆疊多個(gè)層,GCN能從更遠(yuǎn)的節(jié)點(diǎn)接受信息。
Antol[8]等率先提出了視覺(jué)問(wèn)答任務(wù),用于視覺(jué)問(wèn)答研究的大型數(shù)據(jù)集VQA[9]、GQA[10]的推出也大大促進(jìn)了該領(lǐng)域的研究。視覺(jué)問(wèn)答是根據(jù)輸入圖像回答給定問(wèn)題的任務(wù),問(wèn)題通常處理為詞向量,再用LSTM或GRU編碼,而圖像常由ResNet提取的固定大小網(wǎng)格的特征表示,圖像和問(wèn)題的融合常用concatenated 和hadaman product。Damien[11]中提出了基于圖形的方法,將問(wèn)題和圖像抽象為圖形表示,提升了抽象圖像理解的能力。有時(shí),僅靠圖像不足以推斷出正確答案,Narasimhan[12]通過(guò)檢索外部知識(shí)庫(kù)建立了圖像和事實(shí)的關(guān)系子圖,用視覺(jué)概念和屬性作為圖的節(jié)點(diǎn)。
對(duì)于給定的問(wèn)題和圖像對(duì),為了預(yù)測(cè)準(zhǔn)確的答案,本文提出了一種基于圖卷積網(wǎng)絡(luò)的方法。算法流程圖可見(jiàn)于圖2,先提取圖像的目標(biāo)特征和計(jì)算問(wèn)題的詞向量,再將圖像和問(wèn)題特征處理為圖結(jié)構(gòu),模擬圖的鄰接矩陣,其受限與圖像基于問(wèn)題的關(guān)系。鄰接矩陣可用于圖卷積層的運(yùn)算,卷積后的特征不僅關(guān)注圖像目標(biāo),也表示了圖像目標(biāo)和問(wèn)題的相關(guān)性。
圖1 算法流程
圖2 topMax和Gcn層數(shù)的對(duì)比實(shí)驗(yàn)
模型的輸入質(zhì)量直接影響模型的訓(xùn)練質(zhì)量,本模型需要分別處理圖像和問(wèn)題。
圖像特征提取采用bottom-up的圖像特征提取方法,該方法在視覺(jué)問(wèn)答領(lǐng)域取得了廣泛的應(yīng)用,其用了基于殘差神經(jīng)網(wǎng)絡(luò)的Faster R-CNN 的目標(biāo)檢測(cè)方法,專注于識(shí)別圖像中的特定元素,輸出為圖像中Top-K 個(gè)目標(biāo)區(qū)域的resnet 特征。圖像轉(zhuǎn)化為目標(biāo)特征V=(v1,…,vn),vi∈RD,n 為檢測(cè)到的目標(biāo)數(shù),D 為特征向量的維度。大多數(shù)問(wèn)題只涉及圖像中的部分區(qū)域,在本實(shí)驗(yàn)中,參考demain[13]等的實(shí)驗(yàn),K設(shè)置為36。
輸入問(wèn)題首先用分詞工具去除標(biāo)點(diǎn)符號(hào)和空格。因?yàn)閿?shù)據(jù)集中僅有0.25%的問(wèn)題超過(guò)14 個(gè)單詞,為了提高計(jì)算效率,所有問(wèn)題都被裁切為最大14 個(gè)單詞,多余的單詞將被丟棄。每一個(gè)問(wèn)題都編 碼 為Glove[14]詞 向 量(Global Vectors for Word Representation),Glove 使用基于維基百科語(yǔ)料庫(kù)預(yù)訓(xùn)練的公開(kāi)版本。問(wèn)題長(zhǎng)度小于14 的用零向量擴(kuò)充。詞嵌入后的序列用GRU[15](Recurrent Gated Unit)編碼,在處理過(guò)14 個(gè)單詞嵌入后生成問(wèn)題嵌入Q。
模型需要融合圖像和文本的特征,本文使用concatenated 連接圖像和問(wèn)題的向量表示,對(duì)于圖像中的目標(biāo)區(qū)域i=1…K,圖像特征vi用concatenated連接問(wèn)題嵌入Q,記為[vi,Q],再計(jì)算聯(lián)合嵌入ji=F[vi,Q],F(xiàn) 為非線性函數(shù)。由kipf 歸納的圖卷積網(wǎng)絡(luò)的公式可知,使用圖卷積網(wǎng)絡(luò),需要輸入特征的圖形表示。在圖像處理為K 個(gè)目標(biāo)特征后,每個(gè)目標(biāo)區(qū)域可構(gòu)成圖的節(jié)點(diǎn)。本文定義一無(wú)向圖G={V,E,A},V 為節(jié)點(diǎn),即為圖像的K 個(gè)目標(biāo)檢測(cè)區(qū)域的特征向量的集合,每一個(gè)特征向量vi∈V,A為鄰接矩陣,邊的關(guān)系可用鄰接矩陣表示,其代表圖像和問(wèn)題的聯(lián)系。將每張圖像和問(wèn)題聯(lián)合嵌入的K 個(gè)ji組成矩陣M,該矩陣融合了圖像和問(wèn)題特征。由于鄰接矩陣為方陣,令a=MMT。鄰接矩陣定義節(jié)點(diǎn)間的相關(guān)性,所以再用歐式距離處理,得到鄰接矩陣A,Aij越大,節(jié)點(diǎn)i和節(jié)點(diǎn)j間的相關(guān)性越強(qiáng)。
以上定義未對(duì)圖的稀疏度施加約束,因此可能產(chǎn)生完全連接的鄰接矩陣。如輸入?yún)?shù)中很多參數(shù)對(duì)輸出無(wú)影響一樣,視覺(jué)問(wèn)答任務(wù)中的大多數(shù)問(wèn)題亦只需關(guān)注圖像中的小部分區(qū)域。融合后的圖結(jié)構(gòu)是接下來(lái)圖卷積網(wǎng)絡(luò)的核心,其作用是得到圖像目標(biāo)和問(wèn)題聯(lián)系的最相關(guān)區(qū)域。為得到圖的稀疏系統(tǒng),本文采用Ai=topMax(Ai)的過(guò)濾策略,Ai為鄰接矩陣A 的第i 行,topMax 為向量Ai的最大top-Max 個(gè)參數(shù),其余參數(shù)置0。這將得到節(jié)點(diǎn)最強(qiáng)連接的領(lǐng)域系統(tǒng)。
給定特定問(wèn)題的圖結(jié)構(gòu),本節(jié)使用圖卷積網(wǎng)絡(luò)(Graph Convolution Net)來(lái)學(xué)習(xí)新的對(duì)象的表示形式。圖像和問(wèn)題聯(lián)合嵌入ji視為圖的節(jié)點(diǎn),將多個(gè)ji組成的矩陣M 作為GCN 的輸入。GCN 的層間傳播公式為
GCN 的輸入為H(0),=A+I(I 為單位矩陣),D為A~ 的節(jié)點(diǎn)度矩陣,W(l)為GCN 第L 層的可訓(xùn)練權(quán)重矩陣,σ(·)為非線性激活函數(shù)。最終輸出的H 和問(wèn)題Q 通過(guò)Hadamard 乘積融合生成h,h 將被輸入后續(xù)模塊進(jìn)行答案預(yù)測(cè)。
圖像問(wèn)答任務(wù)可視為多標(biāo)簽分類任務(wù),其中每個(gè)類對(duì)應(yīng)于訓(xùn)練集中最常見(jiàn)的答案之一。首先將訓(xùn)練集中所對(duì)應(yīng)的正確答案中所有出現(xiàn)大于等于8 次的答案構(gòu)建為答案候選集,這將形成總數(shù)T=3129 的詞表。在VQA2.0 數(shù)據(jù)集中每一個(gè)訓(xùn)練問(wèn)題都對(duì)應(yīng)10 個(gè)答案。當(dāng)問(wèn)題語(yǔ)義不明確或有多個(gè)語(yǔ)義相近的答案時(shí),因注釋者間的分歧,答案并不相同。使用軟精度可以減少注釋者答案間的分歧,軟精度比二進(jìn)制目標(biāo)提供了更豐富的訓(xùn)練信號(hào),可以捕獲ground truth 注釋中偶爾出現(xiàn)的不確定性。Antol[9]給出的VQA 數(shù)據(jù)集的每個(gè)答案準(zhǔn)確率計(jì)算為
為預(yù)測(cè)答案,將聯(lián)合嵌入h 先用非線性函數(shù)處理,然后通過(guò)線性映射計(jì)算每個(gè)候選答案的分?jǐn)?shù)S~ ,sigmoid可將分?jǐn)?shù)映射為(0,1),以此作為候選答案的概率。
Sigmoid 函數(shù)的輸出允許針對(duì)每個(gè)問(wèn)題優(yōu)化多個(gè)正確答案,損失函數(shù)和二元交叉熵?fù)p失類似,此步驟可視為預(yù)測(cè)每個(gè)正確候選答案的回歸層:
式(5)中的i 屬于訓(xùn)練問(wèn)題M,j 屬于候選答案N,Sij為式(3)計(jì)算的值。
模型的評(píng)估在VQA2.0數(shù)據(jù)集上進(jìn)行。該數(shù)據(jù)集包含約20 萬(wàn)張圖片和110 萬(wàn)個(gè)由人類標(biāo)注的問(wèn)題和每個(gè)問(wèn)題對(duì)應(yīng)的答案。數(shù)據(jù)集中的訓(xùn)練集、驗(yàn)證集、測(cè)試集的比例分別為0.4、0.2、0.4。VQA2.0數(shù)據(jù)集的評(píng)價(jià)指標(biāo)即為式(3)。
本實(shí)驗(yàn)的問(wèn)題處理使用了預(yù)訓(xùn)練的300 維度的glove詞嵌入向量,再用GRU編碼詞向量,輸出維度為1024。圖像的特征提取使用BottomUp,維度為2048,目標(biāo)提取數(shù)量為36。接下來(lái)用兩層的圖卷積層學(xué)習(xí),所有的全連接層和卷積層使用ReLU激活函數(shù)。初始學(xué)習(xí)率為0.001,圖像特征和全連接 層 的dropout 為0.5,優(yōu)化器使用Adamax,Batch-size設(shè)為128,epoch為60。
對(duì)于影響實(shí)驗(yàn)的主要參數(shù),本實(shí)驗(yàn)主要探究GCN 的層數(shù)N 和構(gòu)建鄰接矩陣中的topMax 的數(shù)量,在實(shí)驗(yàn)中,N 的數(shù)量分別設(shè)為{1,2,3,4,5},top-Max 的取值為{8,12,16,20,24,28,32}。在數(shù)據(jù)集中是/否、全部、其它和數(shù)字類型問(wèn)題的準(zhǔn)確率如下圖所示。左圖topMax 數(shù)量保持16,右圖GCN 層數(shù)為2。
GCN 層數(shù)為2 和topMax 為16 是最優(yōu)選擇。在圖網(wǎng)絡(luò)中,堆疊多層的深度網(wǎng)絡(luò)依然是個(gè)挑戰(zhàn),圖網(wǎng)絡(luò)深度一邊在2、3 層時(shí)表現(xiàn)出最佳性能。為了驗(yàn)證詞嵌入對(duì)實(shí)驗(yàn)的影響,本節(jié)用Glove 做了多組對(duì)比實(shí)驗(yàn)。
表1 不同文本處理方式間的比較
表2 在VQA2.0標(biāo)準(zhǔn)測(cè)試集上的結(jié)果和經(jīng)典方法對(duì)比
實(shí)驗(yàn)證明低維度的glove向量(100或200)性能明顯低于glove300,單層GRU 性能優(yōu)于雙層的GRU。所以問(wèn)題的詞嵌入使用glove300 和單層GRU。
基于圖卷積網(wǎng)絡(luò)的圖像問(wèn)題方法可以提升預(yù)測(cè)準(zhǔn)確率,與同樣使用Bottom-up attention 提取圖像特征的bottom-up 方法相比平均提升約0.7%,在計(jì)數(shù)的問(wèn)題上獲得了約3.5%的提升。相比LSTM Q+I 和ReasonNet,GCN 僅以兩層網(wǎng)絡(luò)便優(yōu)于其復(fù)雜的深層網(wǎng)絡(luò)模型。
本文提出了一種基于圖卷積神經(jīng)網(wǎng)絡(luò)的視覺(jué)問(wèn)答方法,將視覺(jué)問(wèn)答任務(wù)視為多標(biāo)簽分類問(wèn)題,用GCN 強(qiáng)大的分類能力提升答案預(yù)測(cè)的準(zhǔn)確性。該方法考慮了圖像和問(wèn)題的相關(guān)性,通過(guò)圖形結(jié)構(gòu)處理將圖像和問(wèn)題特征轉(zhuǎn)化為易于處理的可學(xué)習(xí)的圖結(jié)構(gòu)表示,再使用圖卷積網(wǎng)絡(luò)學(xué)習(xí)節(jié)點(diǎn)的鄰接節(jié)點(diǎn)信息。基于當(dāng)前的工作,后續(xù)可從以下方面繼續(xù)研究:尋找更有效的圖像和文本特征提取和融合方式,更復(fù)雜的圖形結(jié)構(gòu)和圖網(wǎng)絡(luò)。