閱讀論文:《MuKEA: Multimodal Knowledge Extraction and Accumulation for Knowledge-based Visual Question Answering》

star發表於2022-03-30

標題:基於知識的視覺問答的多模態知識提取與積累

來源:CVPR 2022https://arxiv.org/abs/2203.09138
程式碼:https://github.com/AndersonStra/MuKEA

一、問題提出

一般的基於知識的視覺問答(KB-VQA) 要求具有關聯外部知識的能力,以實現開放式跨模態場景理解。

現有的研究主要集中在從結構化知識圖中獲取相關知識,如ConceptNet和DBpedia,或從非結構化/半結構化知識中獲取相關知識,如Wikipedia和Visual Genome。雖然這些知識庫通過大規模的人工標註提供了高質量的知識,但一個侷限性是,它們從純文字的知識庫中獲取相關知識,這些知識庫僅包含由一階謂詞或語言描述表示的事實,因此這種知識庫很難表示高階謂詞和多模態知識,而這些知識是回答複雜問題所必需的,所以現有的模型無法很好的進行視覺理解。

image-20220330205137677

如何為VQA場景構建與視覺相關且可解釋的多模態知識的研究較少。

目標:不使用外部文字為主的知識庫,通過VQA資料集學習包含著圖片以及問題、回答等多模態資訊的綜合知識表示。

二、主要模型

image-20220330205339345

本文提出了一種針對KB-VQA任務的多模態知識提取與積累框架(MuKEA)。核心是獨立於已有的知識庫,通過對VQA樣本的觀察,積累關係複雜的多模態知識,並基於自積累的知識進行可解釋推理。

做法:

(1)提出了一種用顯式三元組表示多模態知識單元的模式。

頭部實體:問題所指的視覺物件embedding

尾部實體:事實答案的embedding

關係:影像和問題之間的隱性

(2)提出了三個損失函式,從粗到細學習三元組的表示。

(3)在此基礎上,提出了一種基於預訓練和微調的學習策略,從域外(VQA 2.0)和域內的VQA樣本中逐步積累多模態知識,用於可解釋推理。

2.1 多模態知識三元組抽取

(h, r, t):h包含由問題聚焦的影像中的視覺內容,t是給定問題-影像對的答案的表示,r描述了包含多模態資訊的h和t之間的隱式關係

影像與問題編碼:由於預訓練的視覺語言模型對模態內隱式關聯和跨模態隱式關聯的建模能力較強,故利用預訓練的LXMERT模型對問題和影像進行編碼,在此基礎上進一步提取多模態知識三元組。

步驟:

Step1:針對影像,應用Faster R-CNN抽取影像\(i\)中的一組物件\(O=\left\{o_i\right\}_{i=1}^K\left(K=36\right)\),並通過視覺特徵向量\(f_i\)(維度為2048維)和空間特徵向量\(b_i\)(維度為4維)來表示每個物件。

Step2:針對問題,使用WordPiece對問題Q進行建模,獲得D 個token序列。
Step3:視覺特徵\(f_i\)\(b_i\)輸入預訓練的LXMERT,得到物件O的視覺embedding,記為\(V\in R^{K\times d_v}\left(d_v=768\right)\);同樣的,得到token序列的embedding,記為= 768) \(Q\in R^{D\times d_v}\)

頭部實體提取:影像中的上下文中與問題最相關的部分。

Step1:求出影像中每個物件與問題中每個token的相似度,得到物件-問題相似度矩陣A:

image-20220330210402836

Step2:使用注意力獲取到最相關的視覺內容。利用A上的行向最大值來計算每個物件與問題的相關性:

image-20220330210427610

然後利用注意力來根據\(a_i^{v-q}\)選取最相關的物件作為頭部實體。此處使用Gumbel-Softmax來獲得近似的one-hot類別分佈。物件\(o_i\)的注意力權重計算如下:
image-20220330210509415

其中,\({g_i}_{i=1}^K\)為獨立同分布的標準Gumbel分佈的隨機變數,τ為溫度引數。
最後得到頭部實體表示h:

image-20220330210540840

其中,V為物件O的視覺embedding,,FFN表示包含兩個全連線層的前饋網路。

【參考:https://www.cnblogs.com/initial-h/p/9468974.html

Softmax傾向於獲取到最有可能的類別,損失了概率的資訊;

Gumbel-Softmax: 對於n維概率向量π,對π對應的離散隨機變數\(\pi_i\)新增Gumbel噪聲,再取樣:

image-20220330210638333

其中,\({g_i}_{i=1}^K\)是獨立同分布的標準Gumbel分佈的隨機變數,標準Gumbel分佈的CDF為:

\[F\left(x\right)=e^{-e^{-x}} \]

這是Gumbel-Max trick。可以看到由於這中間有一個argmax操作,這是不可導的,所以用softmax函式代替,也就是Gumbel-Softmax Trick。

image-20220330210723912

用Gumbel分佈做Re-parameterization使得整個圖計算可導,同時樣本點最接近真實分佈的樣本。】

關係抽取:多模態知識圖中的關係定義為觀察到的例項化物件與回答之間的複雜隱含關係。從[CLS]令牌中提取多模態表示,並送入FFN層以獲得關係嵌入,記為r。

尾部實體提取:尾部實體定義為(影像-問題-答案)中的答案。在訓練階段,將ground truth answer設定為尾部實體,學習其表示t。在推理階段,將KB-VQA任務定義為一個多模態知識圖補全問題,預測最優尾部實體作為答案。

2.2 三元組表示學習

Triplet TransE Loss:給定一個影像-問題對,設A+和A−表示其集合為正確和不正確的答案。設h和r表示提取的對應頭部實體表示和關係表示。希望\(h+r\)與每個t∈A+之間的距離比\(h + r\)與每個 t∈A-之間的距離小一定幅度γ:

image-20220330210914436

Triplet Consistency LossTriplet TransE Loss存在問題:當訓練過程中正負對之間的距離小於γ時,模型將停止從三元組學習。為了進一步推動t的embedding學習滿足嚴格拓撲關係,我們採用均方誤差(MSE loss)學習正樣本:

image-20220330210953984

Semantic Consistency Loss:為了縮小尾部節點embedding和頭部節點以及關係之間的語義異構差距,使用softmax進行分類,並優化負對數似然損失:

image-20220330211011796

最終的損失函式:

image-20220330211029636

2.3 訓練

採用兩階段訓練策略,逐步積累多模態知識:

(1)在VQA 2.0資料集上進行預訓練,積累基本的知識; VQA 2.0中Other類的問題作為事實知識,用於預訓練任務。

(2)對下游KB-VQA任務的訓練資料進行調優,積累更復雜的特定領域的多模態知識。

2.4預測:

把答案預測看作一個多模態知識圖補全問題。給出一個影像和一個問題,將它們輸入到網路中,得到了頭部實體\(h_{inf}\)和關係\(r_{inf}\)的embedding。計算\(h_{inf}+r_{inf}\)與查詢表T中每個尾部實體\(t_i\)之間的距離,選取距離最小的尾實體為預測答案:

image-20220330211123839

三、實驗

3.1 資料集

OK-VQA、KRVQA

KRVQA:基於常識的無偏視覺問答資料集,包括知識無關的推理和知識有關的推理,還有基於外部知識的多步推理。

3.2 實驗對比

OK-VQA:

image-20220330211154169

最優

KRVQA:

image-20220330211212294

MuKEA在“知識無關”問題上比其他模型準確率有大幅提升,表明即使是傳統的視覺問題也需要多模態常識來學習低階視覺內容和高階語義。

在兩步推理的第3類問題上,MuKEA不如一些模型,因為這些問題的答案多為關係,而MuKEA的預測的尾部實體多為事實實體。(這也是一種未來的改進方向)

3.3 消融實驗

image-20220330211233290

3.4 長尾效應分析

image-20220330211253129

證明多模態知識對長尾知識具有較強的泛化能力。

3.5 模型可解釋性

image-20220330211313657

四、存在的問題

image-20220330211334460

圖1:尼龍 (√) 帆布(×)

圖2:科威特航空公司(√) 聯合包裹服務(×)

(1)資料集訓練場景有限,模型缺乏足夠的多模態知識。

(2)未能提取出一些三元組。由於頭部實體及其關係是在無監督模式(LXMERT)下提取的,視覺相似的內容會導致注意力的偏差。

五、Tips

本文提出了一種新的基於知識的視覺問答框架,該框架注重多模態知識的提取和積累,而不是使用外部知識庫。採用預訓練和微調策略,逐步積累多模態知識。

後續可以考慮如何將MuKEA學習到的多模態知識與知識庫有效結合。

相關文章