本文是多模態系列文章的開篇之作,清楚地歸納了各種多模態算法,可以當成一個小綜述來看。還提出了一種非常簡單的多模態Transformer方法ViLT。
本文將先闡述4種不同類型的Vision-and-Language Pretraining(VLP),然後歸納2種模態相互作用方式和3種visual embedding方式,最後講一下ViLT的設計思路。
✨最後一天!ICRA線上交流活動報名,點擊這裡查看詳情,抓緊機會,末班車等你來!https://arxiv.org/abs/2102.03334
之所以用這一篇作為多模態的開篇是因為這篇清楚的歸納了各種多模態算法,可以當成一個小綜述來看,然後還提出了一種非常簡單的多模態Transformer方法ViLT。先闡述一下4種不同類型的Vision-and-Language Pretraining(VLP),然後歸納2種模態相互作用方式和3種visual embedding方式,最後講一下ViLT的設計思路。一、Taxonomy of VLP上圖是4種不同類型的VLP模型示意圖。其中每個矩形的高表示相對計算量大小,VE、TE和MI分別是visual embedding、text embedding和modality interaction的簡寫。VSE、VSE++和SCAN屬於(a)類型。 對圖像和文本獨立使用encoder,圖像的更重,文本的更輕,使用簡單的點積或者淺層attention層來表示兩種模態特徵的相似性。
CLIP屬於(b)類型。 每個模態單獨使用重的transformer encoder,使用池化後的圖像特徵點積計算特徵相似性。ViLBERT、UNTER和Pixel-BERT屬於©類型。 這些方法使用深層transformer進行交互作用,但是由於VE仍然使用重的卷積網絡進行特徵抽取,導致計算量依然很大。作者提出的ViLT屬於(d)類型。ViLT是首個將VE設計的如TE一樣輕量的方法,該方法的主要計算量都集中在模態交互上。Modality Interaction Schema模態交互部分可以分成兩種方式:一種是single-stream(如BERT和UNITER),另一種是dual-stream(如ViLBERT和LXMERT)。其中single-stream是對圖像和文本concate然後進行交互操作,而dual-stream是不對圖像和文本concate然後進行交互操作。ViLT延用single-stream的交互方式,因為dual-stream會引入額外的計算量。
Visual Embedding Schema現有的VLP模型的text embedding基本上都使用類BERT結構,但是visual embedding存在著差異。在大多數情況下,visual embedding是現有VLP模型的瓶頸。visual embedding的方法總共有三大類,其中region feature方法通常採用Faster R-CNN二階段檢測器提取region的特徵,grid feature方法直接使用CNN提取grid的特徵,patch projection方法將輸入圖片切片投影提取特徵。ViLT是首個使用patch projection來做visual embedding的方法。
二、ViLTModel Overview作者提出的ViLT可以認為是目前最簡單的多模態Transformer方法。ViLT使用預訓練的ViT來初始化交互的transformer,這樣就可以直接利用交互層來處理視覺特徵,不需要額外增加一個視覺encoder。
文本特徵輸入部分,將文本看成一個詞序列,通過word embedding matrix轉化成word embedding,然後和position embedding進行相加,最後和modal-type embedding進行concate。
圖像特徵輸入部分,將圖像切塊看成一個圖像塊序列,通過linear projection轉化成visual embedding,然後和postion embedding進行相加,最後和modal-type embedding進行concate。
其中word embedding和visual embedding通過可學習的modal-type embedding標誌位來區分,其中0標誌位表示word embedding部分,1標誌位表示visual embedding部分。
wrod embedding和visual embedding分別都嵌入了一個額外的可學習[class] embedding,方便和下遊任務對接。
Pretraining ObjectivesViLT預訓練的優化目標有兩個:一個是image text matching(ITM),另一個是masked language modeling(MLM)。
ImageText Matching: 隨機以0.5的概率將文本對應的圖片替換成不同的圖片,然後對文本標誌位對應輸出使用一個線性的ITM head將輸出feature映射成一個二值logits,用來判斷圖像文本是否匹配。另外ViLT還設計了一個word patch alignment (WPA)來計算teextual subset和visual subset的對齊分數。
Masked Language Modeling:MLM的目標是通過文本的上下文信息去預測masked的文本tokens。隨機以0.15的概率mask掉tokens,然後文本輸出接兩層MLP與車mask掉的tokens。
Whole Word Masking: 另外ViLT還使用了whole word masking技巧。whole word masking是將連續的子詞tokens進行mask的技巧,應用於BERT和Chinese BERT是有效的。比如將「giraffe」詞tokenized成3個部分[「gi」, 「##raf」, 「##fe」],那麼使用whole word masking可以mask成[「gi」, 「[MASK]」, 「##fe」],模型使用[「gi」,「##fe」]來預測mask的「##raf」,而不使用圖像信息。
三、實驗結果如圖所示,ViLT相比於region feature的方法速度快了60倍,相比於grid feature的方法快了4倍,而且下遊任務表現出相似甚至更好的性能。從table2、table3和table4中可以看出,相對於region和grid的方法,ViLT在下遊任務表現出相似甚至更好的性能。通過可視化可以看出,ViLT學到了word和image patch之間的對應關係。四、總結BERT和ViT給多模態Transformer提供了基礎,通過巧妙的proxy task設計,ViLT成功將BERT和ViT應用於多模態Transformer。總體上來看基於patch projection的多模態方法速度優勢非常大,但是整體上性能還是略低於region feature的方法,期待未來會有更強的基於patch projection的多模態方法出現。
Reference:[1] ViLT: Vision-and-Language Transformer Without Convolution or Region Supervision
Illustration by Semenin Egor from Icons8報名最後一天!來趕大佬雲面基的末班車!
ICRA 2021 直播在線交流,掃碼報名~