基于BERT的多模学习——VL-BERT篇
前言
BERT的出現讓NLP發展實現了一個大飛躍,甚至有大佬說NLP已經沒有可以做的啦,后面就是拼機器拼money了。但是,我認為任何領域的進步之后都會有更苛刻的要求,科研沒有盡頭,需求也永遠無法滿足。而多模態,要求機器擁有多維度的感知能力,就是一個更強的挑戰。 關于這個話題也逐漸成為另外一個新熱點。從19年到現在的論文數量就可見一斑。
所以,為了迎上發展的勢頭,在繼videoBERT之后又調研了一番image和BERT結合的工作。下文將介紹MSRA出品的VL-BERT,通過這個模型來一覽現階段 image+BERT 的研究現狀吧。
后臺回復【VL-BERT】下載論文原文~~
模型介紹
VL-BERT模型以transformer為骨干,將BERT的輸入擴展為文本+圖像。那么問題來了,怎樣將兩者花式融合呢?讓我們揣測一下作者的煉丹思路:
圖片和文本沒法直接對齊,暴力輸入整張圖
于是就有了圖中用紅色虛線框起來的部分,直接將圖像、文本、segment和position embeding加和輸入。這樣做MLM任務是沒問題了,但怎樣確定模型能準確提取圖像信息呢?
提取圖像中的重要部分,增加無文本的圖像輸入
由于整張圖片的粒度遠大于文本token,一次性輸入整張圖片顯然不利于圖像和文本信息的交互。所以使用了目標檢測工具對圖片進行分塊,提取圖像中感興趣的核心部分RoI(region-of-interest),加上[IMG]標識,輸入到模型中(圖中淺綠色實線框起來的部分)。 為了不失掉全局信息,在[END]對應的位置又加上了整張圖像。另外,我們假設圖片的不同區域是沒有順序可言的,即position embedding是一樣的。
類比文本輸入,模型實際上接受的是文本token(subword)對應的word embedding,所以我們會對所有圖像輸入(不管是整張圖片還是局部RoIs)使用pre-trained R-CNN提取2048維的visual feature embedding輸入到模型中。
自監督學習任務(pretrain)
結合上文介紹的模型結構,再強調一下兩個預訓練任務:
Masked Language Model with visual Clues
根據文本+圖像信息預測文本token,升級版的MLM。 唯一不同的是被mask的word除了根據沒被mask的文本來預測還可以根據視覺的信息來輔助。比如上圖中的例子,被mask后的word sequence是kitten drinking from [MASK],如果沒有圖片給我們的視覺信息是無法預測出被mask的詞是bottle。
Masked RoI Classification with LinguisticClues
根據文本+圖像信息預測RoIs的類別,針對圖像的“MLM”。 以下圖為例,首先對圖片使用目標檢測工具提取RoIs并獲得所屬類別,然后隨機mask局部區域(樹葉部分)。需要注意的是,由于模型會接收整張圖片的輸入,為了避免信息泄露,整張圖片對應的部分也要mask。最后,模型根據文本信息和被mask的圖片信息預測mask區域所屬類別。
下游任務(finetune)
模型通過接收<text, image>輸入,通過自監督任務學習到general跨模態表示后,可以很自然的應用很多跨模態的任務中。延續原始BERT的設定,[CLS]最后輸出的feature可以預測文本和圖片的關系(sentence-image-relation),被mask的text token或者RoI的輸出用來做word-level或者RoI-level的預測。
下面來看看不同的下游任務是怎么實現的叭~
視覺常識推理(VCR)
給定一張圖片中的多個RoIs和問題(Q),需要選出答案(A)并解釋為什么(R)。VCR任務超越目標檢測(object detection),是需要結合認知層面的復雜推理任務。下圖展示了數據中的兩個例子[1],確實很難很復雜????。
整體任務{Q->AR}可以拆解成兩個子任務 {Q->A}(根據問題Q預測答案A) 和 {QA->R}(根據QA推理原因R)。而這兩個子任務都是選擇題,模型只需要從候選答案中挑選認為最正確的選項就好。如下圖文本輸入由兩部分組成Question(已知信息)和Answer(候選答案),圖像輸入為人工標注的RoIs。針對{Q->A}任務,已知的文本信息為問題Q的文本描述。對{QA->R}任務,已知的文本信息為問題Q加上一個任務預測的答案A。兩個任務都根據最后一層[CLS]的輸出預測該候選答案(A/R)是否正確。
有一個不合理的地方是,正常人的思維模式是先有一個靠譜的理論依據R得出正確答案A。但是上面模型的邏輯是先有正確答案,再去找合理的原因。因果顛倒。
最終結果,不管是對比task-specific模型R2C還是其他多模態模型,VL-BERT都有非常明顯的優勢的。
視覺問答 (VQA)
文章follow了一個專門針對VQA任務設計的模型BUTD實驗設定,把VQA任務轉化為一個有3k+候選答案的多分類問題,根據被masked Answer token最后一層的輸出預測。
相比special design的網絡結構(BUTD),VL-BERT在準確率上提升了5%,和其他多模態pretrain model效果相當。
Referenceing Expression Comprehension(visual grounding)
這個任務呢,是根據一句自然語言的描述,定位圖片中的具體區域,即判斷這句描述講的是圖片的哪個位置。 因為我們已經對圖片劃分出了RoIs,所以只需要將每個RoIs最后的輸出,接一個Regin classification(二分類),判斷Query是否是描述這個區域即可。
分析
VL-BERT模型以transformer為骨干,將BERT擴展可以同時接受文本和圖片型輸入,學習跨模態的表示,在三個下游任務上遠超task specific的SOTA模型,并取得和其他pretrain模型comparable或者略勝一籌的結果。
其主要的優勢在于 文本和圖片的深度交互。對比同期工作LXMERT[2],對text和image輸入分別使用single-modal Transformer,然后再接一個cross-modal Transformer,VL-BERT使用一個single cross-modal Transformer,讓文本和圖片信息能更早更多的交互。
但是這個工作我認為還是有一個需要打問號,或者進一步深入研究的地方。
文章使用的兩個自監督任務都是由MLM衍生而來,沒有判斷文本和圖片是否一致(Sentence-Image Relation Prediction)的這個典型任務。
文章在對比實驗分析中,提到加入Sentence-Image Relation Prediction任務進行預訓練會導致下游任務效果下降,原因分析是由于數據質量問題,sentence-image對應信號噪聲較大。 但是直覺上文本和圖片的對應關系是一個很強的學習跨模態表示的信號,并且在ViBERT[3]和LXMERT上該任務是有正向收益的。
如果優化數據質量,減少sentence-imgage對應信號的噪聲,是否可以優化VL-BERT的效果?
如果仍然是負收益,是否是另外兩個自監督任務已經涵蓋了sentence-image對應信息,增加這個任務唯一的作用就是帶來了數據的噪聲?
這三個自監督任務是否存在沖突或者矛盾的地方?其關系是什么?值得進一步的研究和探索。
關注【夕小瑤的賣萌屋】后臺回復【VL-BERT】下載帶筆記的論文原文~~
總結
以上是生活随笔為你收集整理的基于BERT的多模学习——VL-BERT篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 共同一作,会被认可吗?
- 下一篇: 报名通道开启 | 顶会 ICLR 20