論文讀書筆記(Multimodal Compact Bilinear Pooling for Visual Question Answering and Visual Grounding)

來源EMNLP(2016)

關鍵詞Multimodal Compact Bilinear(MCB),VQA

問題


視覺問答系統


視覺定位系統

對于像視覺問答系統、視覺定位系統這樣Multimodal任務,需要融合不同類型modal的向量得到一個joint representation。傳統的向量融合方式一般是:點乘,點加,全連接。作者認為這些方法不如向量的外積更具有表達性。但是向量的外積會引起維度的急劇增加,因此作者提出了MCB的方法。

方法

1 MCB的框架

雙線性模型:z = W[x @q](@表示外積)

如果x和q都是2048維,z是3000維,整個參數空間大小是:2048*2048*3000 ,所以需要對外積進行降維和避免直接計算外積。

降維:通過the count sketch projection function ,將向量v(n維)映射到向量y(d維)。

避免直接計算外積:


MCB結構圖
MCB算法

2 MCB在VQA任務的應用

1.VQA結構:


MCB在VQA任務的應用

給定圖片和問題,預測答案的過程可以看做一個在候選答案集合進行多分類的任務:

對于輸入的問題,利用2-LSTM,每層1024個結點,得到2048維度的文本向量;對于輸入的圖片,利用預訓練好的152層的Res-net。然后將這兩個向量通過MCB后正則化和歸一化后得到16000聯合表示的向量,再將這16000維度的向量連接到3000個答案上進行多分類。

2.Multiple Attention:


MCB+multiple attention

Attention機制使得模型專注于輸入特征的和當前問題最相關的部分,目前常用的是soft-attention的方法。而multiple attention的動機則是相當于回答問題之前多次的觀察。

首先利用MCB產生一個聯合向量,然后使用兩個卷積層去預測每一個區域的attention權值,通過softmax歸一化后的soft attention map和原始視覺向量加和,得到注意力視覺向量。比較巧妙地的是產生了兩個attention map,模仿多次的觀察。

實驗結果:


MCB性能對比實驗

1 MCB優于點乘,點加,全連接的方法

2參數規模相同的時候,MCB優于Concat+FC+FC

3壓縮對雙線性池化的方式沒有太大影響

4 soft attention,最好的搭檔是MCB

VQA數據集實驗結構對比

從實驗結果上看:

MCB:1%多?

Att :3%多

Genome:1%多

Glove:0.2%左右

相關工作

1向量的連接方式:

a = [1,2], b = [3,4]

點乘(element-wise)[3,8]

點加(elsement-add)[4,6]

全連接(concencate)[1,2,3,4]

內積(inner-product)11

外積(outer-product)向量

維基百科中對向量外積的定義:

外積的定義

2 MCB的前世今生:

①1T.-Y. Lin(et.all) CNN models for fine-grained visual recognition.在細粒度視覺識別任務中,作者把CNN網絡的全連接層改為雙線性層后,取得了很大提升。

②2Yang Gao(et.all) Compact bilinear pooling

提出兩種壓縮雙線性模型,和完整的雙線性模型相比,損失基本不變但是參數規模縮減了兩個數量級,而且支持端到端的訓練結構。

③3Ninh Pham(et.all)在Fast and scalable polynomial kernels via explicit feature maps

提出了兩個向量外積的count sketch可以被轉化為每個countsketch的卷積。

3 VQA:

任務:給定一張圖片和自然語言形式的問題,生成自然語言形式的答案。

背景:這個任務同時涉及到了CV和nlp兩個領域。類似的多領域問題最近非常火的就是看圖說話(Image Caption)任務,但是看圖說話只需要產生對圖片的一般性描述,而視覺問答需要理解問題的真正含義,根據問題的不同僅聚焦與圖片中的某一部分,而且某些問題還需要一定的常識推理才能做出回答。因此,VQA相比看圖說話在圖像語義的理解方面有更高的要求。

方法:近年來,各種以CNN網絡為基礎的深度學習網絡層出不窮,將圖像的底層特征如紋理,邊角,色彩逐層抽取組合成更高級的語義特征。和傳統的詞包模型相比,rnn模型能夠捕捉詞語序列,通過參數共享的方式減少參數規模,并且LSTM,GRU等等改進版本能夠更好捕捉長距離信息的表達。目前,利用CNN抽取圖像語義信息,rnn抽取問題中包含的文本語義信息,將兩者的信息融合構造組合模型是VQA問題的主流方法。從答案的生成方式看可以分為:分類模式和生成模式。

分類:

分類模型

生成:


生成模型

小結:VQA這樣的任務,主流的方法都是需要聯合表達圖像信息和文本信息。目前主流的結合兩個向量的方式有點乘,點加,連接。但是作者覺得這樣產生的聯合向量表達能力不夠,不足以捕捉多模型之間復雜的交互信息。于是作者提出了這樣一個猜想:多模型向量的外積可以表達多模型向量的交互信息。因為傳統的向量結合方式都是針對單個元素的,向量外積的方式是對兩個向量之間所有元素的乘法操作。但是雙線性模型計算向量外積的過程中,產生的向量維數太大,計算量太大,所以雙線性模型計算外積的方式并沒有被廣泛采用。

簡評

之前老師說過,創新點可以分為應用創新和模型創新。我覺得這兩種創新方式其實是相輔相成的。這里作者因為想要改進VQA模型中視覺向量和問題向量的融合方式,提出了外積這個想法,成功地將之前的cbp(compact biliniaer pooling)模型改進后應用到模型融合的過程中。這種解決問題的思路值得我們參考和學習。

本文還有一個創新點就是應用了soft attention。并且使用的了兩層attention maps,對MCB后的聯合向量去求attention weight后對關注的視覺向量。

再者,作者參加VQA比賽的時候,單個模型最好的的實驗結果是MCB+att+genome+glove,只比后面兩名高了1個百分點左右。但是集成7個模型的時候取得的的結果則比后面的模型提升了4到5個百分點。說明在做這種比賽的時候,還是能夠多用一些trick提升就多用一些。

??

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容