來(lái)源:EMNLP(2016)
關(guān)鍵詞:Multimodal Compact Bilinear(MCB),VQA
問(wèn)題:


對(duì)于像視覺(jué)問(wèn)答系統(tǒng)、視覺(jué)定位系統(tǒng)這樣Multimodal任務(wù),需要融合不同類型modal的向量得到一個(gè)joint representation。傳統(tǒng)的向量融合方式一般是:點(diǎn)乘,點(diǎn)加,全連接。作者認(rèn)為這些方法不如向量的外積更具有表達(dá)性。但是向量的外積會(huì)引起維度的急劇增加,因此作者提出了MCB的方法。
方法:
1 MCB的框架
如果x和q都是2048維,z是3000維,整個(gè)參數(shù)空間大小是:2048*2048*3000 ,所以需要對(duì)外積進(jìn)行降維和避免直接計(jì)算外積。
降維:通過(guò)the count sketch projection function ,將向量v(n維)映射到向量y(d維)。
避免直接計(jì)算外積:



2 MCB在VQA任務(wù)的應(yīng)用
1.VQA結(jié)構(gòu):

給定圖片和問(wèn)題,預(yù)測(cè)答案的過(guò)程可以看做一個(gè)在候選答案集合進(jìn)行多分類的任務(wù):
對(duì)于輸入的問(wèn)題,利用2-LSTM,每層1024個(gè)結(jié)點(diǎn),得到2048維度的文本向量;對(duì)于輸入的圖片,利用預(yù)訓(xùn)練好的152層的Res-net。然后將這兩個(gè)向量通過(guò)MCB后正則化和歸一化后得到16000聯(lián)合表示的向量,再將這16000維度的向量連接到3000個(gè)答案上進(jìn)行多分類。
2.Multiple Attention:

Attention機(jī)制使得模型專注于輸入特征的和當(dāng)前問(wèn)題最相關(guān)的部分,目前常用的是soft-attention的方法。而multiple attention的動(dòng)機(jī)則是相當(dāng)于回答問(wèn)題之前多次的觀察。
首先利用MCB產(chǎn)生一個(gè)聯(lián)合向量,然后使用兩個(gè)卷積層去預(yù)測(cè)每一個(gè)區(qū)域的attention權(quán)值,通過(guò)softmax歸一化后的soft attention map和原始視覺(jué)向量加和,得到注意力視覺(jué)向量。比較巧妙地的是產(chǎn)生了兩個(gè)attention map,模仿多次的觀察。
實(shí)驗(yàn)結(jié)果:

1 MCB優(yōu)于點(diǎn)乘,點(diǎn)加,全連接的方法
2參數(shù)規(guī)模相同的時(shí)候,MCB優(yōu)于Concat+FC+FC
3壓縮對(duì)雙線性池化的方式?jīng)]有太大影響
4 soft attention,最好的搭檔是MCB

從實(shí)驗(yàn)結(jié)果上看:
MCB:1%多?
Att :3%多
Genome:1%多
Glove:0.2%左右
相關(guān)工作:
1向量的連接方式:
a = [1,2], b = [3,4]
點(diǎn)乘(element-wise)[3,8]
點(diǎn)加(elsement-add)[4,6]
全連接(concencate)[1,2,3,4]
內(nèi)積(inner-product)11
外積(outer-product)向量
維基百科中對(duì)向量外積的定義:

2 MCB的前世今生:
①1T.-Y. Lin(et.all) CNN models for fine-grained visual recognition.在細(xì)粒度視覺(jué)識(shí)別任務(wù)中,作者把CNN網(wǎng)絡(luò)的全連接層改為雙線性層后,取得了很大提升。
②2Yang Gao(et.all) Compact bilinear pooling
提出兩種壓縮雙線性模型,和完整的雙線性模型相比,損失基本不變但是參數(shù)規(guī)??s減了兩個(gè)數(shù)量級(jí),而且支持端到端的訓(xùn)練結(jié)構(gòu)。
③3Ninh Pham(et.all)在Fast and scalable polynomial kernels via explicit feature maps
提出了兩個(gè)向量外積的count sketch可以被轉(zhuǎn)化為每個(gè)countsketch的卷積。
3 VQA:
任務(wù):給定一張圖片和自然語(yǔ)言形式的問(wèn)題,生成自然語(yǔ)言形式的答案。
背景:這個(gè)任務(wù)同時(shí)涉及到了CV和nlp兩個(gè)領(lǐng)域。類似的多領(lǐng)域問(wèn)題最近非?;鸬木褪强磮D說(shuō)話(Image Caption)任務(wù),但是看圖說(shuō)話只需要產(chǎn)生對(duì)圖片的一般性描述,而視覺(jué)問(wèn)答需要理解問(wèn)題的真正含義,根據(jù)問(wèn)題的不同僅聚焦與圖片中的某一部分,而且某些問(wèn)題還需要一定的常識(shí)推理才能做出回答。因此,VQA相比看圖說(shuō)話在圖像語(yǔ)義的理解方面有更高的要求。
方法:近年來(lái),各種以CNN網(wǎng)絡(luò)為基礎(chǔ)的深度學(xué)習(xí)網(wǎng)絡(luò)層出不窮,將圖像的底層特征如紋理,邊角,色彩逐層抽取組合成更高級(jí)的語(yǔ)義特征。和傳統(tǒng)的詞包模型相比,rnn模型能夠捕捉詞語(yǔ)序列,通過(guò)參數(shù)共享的方式減少參數(shù)規(guī)模,并且LSTM,GRU等等改進(jìn)版本能夠更好捕捉長(zhǎng)距離信息的表達(dá)。目前,利用CNN抽取圖像語(yǔ)義信息,rnn抽取問(wèn)題中包含的文本語(yǔ)義信息,將兩者的信息融合構(gòu)造組合模型是VQA問(wèn)題的主流方法。從答案的生成方式看可以分為:分類模式和生成模式。
分類:

生成:

小結(jié):VQA這樣的任務(wù),主流的方法都是需要聯(lián)合表達(dá)圖像信息和文本信息。目前主流的結(jié)合兩個(gè)向量的方式有點(diǎn)乘,點(diǎn)加,連接。但是作者覺(jué)得這樣產(chǎn)生的聯(lián)合向量表達(dá)能力不夠,不足以捕捉多模型之間復(fù)雜的交互信息。于是作者提出了這樣一個(gè)猜想:多模型向量的外積可以表達(dá)多模型向量的交互信息。因?yàn)閭鹘y(tǒng)的向量結(jié)合方式都是針對(duì)單個(gè)元素的,向量外積的方式是對(duì)兩個(gè)向量之間所有元素的乘法操作。但是雙線性模型計(jì)算向量外積的過(guò)程中,產(chǎn)生的向量維數(shù)太大,計(jì)算量太大,所以雙線性模型計(jì)算外積的方式并沒(méi)有被廣泛采用。
簡(jiǎn)評(píng):
之前老師說(shuō)過(guò),創(chuàng)新點(diǎn)可以分為應(yīng)用創(chuàng)新和模型創(chuàng)新。我覺(jué)得這兩種創(chuàng)新方式其實(shí)是相輔相成的。這里作者因?yàn)橄胍倪M(jìn)VQA模型中視覺(jué)向量和問(wèn)題向量的融合方式,提出了外積這個(gè)想法,成功地將之前的cbp(compact biliniaer pooling)模型改進(jìn)后應(yīng)用到模型融合的過(guò)程中。這種解決問(wèn)題的思路值得我們參考和學(xué)習(xí)。
本文還有一個(gè)創(chuàng)新點(diǎn)就是應(yīng)用了soft attention。并且使用的了兩層attention maps,對(duì)MCB后的聯(lián)合向量去求attention weight后對(duì)關(guān)注的視覺(jué)向量。
再者,作者參加VQA比賽的時(shí)候,單個(gè)模型最好的的實(shí)驗(yàn)結(jié)果是MCB+att+genome+glove,只比后面兩名高了1個(gè)百分點(diǎn)左右。但是集成7個(gè)模型的時(shí)候取得的的結(jié)果則比后面的模型提升了4到5個(gè)百分點(diǎn)。說(shuō)明在做這種比賽的時(shí)候,還是能夠多用一些trick提升就多用一些。
??