視覺和語言預(yù)訓(xùn)練(VLP)提高了各種聯(lián)合視覺和語言下游任務(wù)的表現(xiàn)。然而,當前的VLP方法嚴重依賴于圖像特征提取的過程,其中大部分涉及區(qū)域監(jiān)督(例如,目標檢測)和卷積結(jié)構(gòu)(例如,ResNet)。他們存在以下兩方面的問題:
1)效率/速度 ,提取輸入特征比多模態(tài)交互擁有更多的計算量;2)表現(xiàn)力 ,視覺embedder的能力和預(yù)定義的視覺詞匯決定了整個模型性能的上限。
在這篇文章中,作者提出了一個更小的視覺與語言Transformer(ViLT),視覺輸入的處理被極大地簡化為了無卷積的方式。因此,ViLT可以比以前的VLP模型快幾十倍,但依舊可以獲得相似甚至更好的性能。ViLT: Vision-and-Language Transformer Without Convolution or Region Supervision
論文地址:https://arxiv.org/abs/2102.03334
代碼地址:https://github.com/dandelin/vilt
先預(yù)訓(xùn)練再微調(diào)(pre-train-and-?ne-tune) 的方案已經(jīng)擴展到視覺和語言的聯(lián)合領(lǐng)域,從而產(chǎn)生了視覺語言預(yù)訓(xùn)練(Vision-and-Language Pre-training (VLP)) 模型。這些模型通過圖像文本匹配(ITM) 和掩蔽語言建模(MLM) 目標進行了預(yù)訓(xùn)練,然后在下游的視覺語言任務(wù)上進行微調(diào),實現(xiàn)更好的性能。
要將圖像送入到VLP模型中,首先需要對圖像進行embed,形成一個token序列。大多數(shù)VLP采用在Visual Genome數(shù)據(jù)集上預(yù)訓(xùn)練的目標檢測器來提取視覺特征。Pixel-Bert是這一趨勢的一個例外,它使用了在ImageNet分類上進行預(yù)訓(xùn)練的ResNet模型,用grid特征來代替region特征。到目前為止,許多VLP研究都集中在通過增加視覺embedder的能力來提高性能。由于區(qū)域特征通常在訓(xùn)練時被提前緩存,從而減輕了特征提取的負擔(dān),因此在實驗中往往忽略了視覺embedder的缺點。然而,這些限制在實際的應(yīng)用中仍然是顯而易見的,因為所有的圖片都必須經(jīng)歷一個緩慢的視覺特征提取過程。為此,作者將重點轉(zhuǎn)移到構(gòu)建輕量級和快速的視覺embedder上。ViT等研究表明,使用patch的簡單線性投影足以有效地進行視覺信息的表示。本文提出了視覺與語言Transformer(ViLT),它以一種統(tǒng)一的方式處理兩個模態(tài)。它與以前的VLP模型的主要不同之處在于它對像素級輸入只進行了淺層的、無卷積的embed,因此處理速度非常快。去掉用于視覺輸入的深度embedder,可顯著減少模型大小和運行時間。如上圖所示,本文的模型比具有區(qū)域特征的VLP模型快幾十倍,比具有g(shù)rid特征的VLP模型快至少四倍,并且在視覺和語言下游任務(wù)上表現(xiàn)出類似甚至更好的性能。
視覺和語言模型的分類
作者基于兩點提出了視覺和語言模型的分類:
1)兩個模態(tài)在預(yù)處理 參數(shù)或計算方面的水平是否相等;2)兩個模態(tài)是否在深層網(wǎng)絡(luò)中交互 作用。
基于這兩個點,目前的網(wǎng)絡(luò)可以分為四類:如上圖所示,視覺語義嵌入(VSE)模型,如VSE++、SCAN,對圖像和文本使用單獨的嵌入器,但是前者的設(shè)計有更多的參數(shù)量。然后,它們用簡單的點積或比較淺的注意力層來表示兩個模態(tài)嵌入特征的相似性。
第二類模型,如CLIP,如上圖所示,它為每種模態(tài)使用分開且復(fù)雜的Transformer嵌入器,但是交互的模塊非常簡單。盡管CLIP在圖像-文本檢索任務(wù)的zero-shot性能非常不錯,但在其他視覺和語言下游任務(wù)中,并沒有這么驚人的表現(xiàn)。因此,作者認為高性能嵌入器的簡單輸出融合可能不足以學(xué)習(xí)復(fù)雜的視覺和語言任務(wù),因此交互模塊的精心設(shè)計是非常重要的。
目前的VLP模型大多采用上圖中的結(jié)構(gòu),使用深層Transformer對圖像和文本特性的交互進行建模。除了交互模塊之外,圖像特征的提取和嵌入仍然涉及卷積網(wǎng)絡(luò),這是計算量的主要部分。
本文提出的ViLT模型如上圖所示,視覺和文本的嵌入層都是輕量級,該結(jié)構(gòu)大部分的計算都用在模態(tài)交互上面。
3.1. Model Overview
如上圖所示,ViLT具有簡潔的結(jié)構(gòu),最小的視覺嵌入pipeline,并遵循single-stream的方法。作者采用了預(yù)訓(xùn)練的ViT參數(shù)來對模型進行初始化,這種初始化利用了交互層的能力來處理視覺特征,同時不需要單獨的深度視覺嵌入器。
ViT由多頭自注意力(MSA)層和MLP層的堆疊塊組成。輸入文本基于嵌入矩陣和位置嵌入矩陣,得到。輸入圖像被切片成多個小patch,并將調(diào)整為,其中是patch分辨率,。然后通過線性投影矩陣和位置嵌入矩陣,計算得到將文本和圖像嵌入與其對應(yīng)的模態(tài)類型嵌入向量相加,然后將其concat成組合序列。上下文向量通過D層的Transformer迭代更新,得到最后的上下文序列。是整個多模態(tài)輸入的集合表示,它是通過線性投影和序列的正切函數(shù)來獲得的,表示如下:
3.2. Pre-training Objectives
作者用兩個常用的目標任務(wù)來訓(xùn)練VLP模型:圖像文本匹配(ITM)和掩蔽語言建模(MLM)。
Image Text Matching
作者用0.5的概率將不同圖像隨機替換對齊的圖像。一個單線性層的ITM head將匯集的輸出特征p投影到二進制類上的logits上,然后計算負對數(shù)似然損失作為ITM的損失函數(shù)。此外,作者還設(shè)計了單詞塊對齊(WPA),來計算的兩個子集之間的對齊分數(shù):(文本子集)和(視覺子集)。
Masked Language Modeling
該任務(wù)的目標是根據(jù)上下文向量來預(yù)測被mask掉的單詞,在本文中,作者將mask的概率設(shè)為0.15。作者使用一個兩層的MLM head,輸入并輸出mask詞匯的logit。然后,將MLM損失設(shè)為mask token的負對數(shù)似然損失。
3.3. Whole Word Masking
全詞掩蔽(Whole Word Masking)是一種mask技術(shù),它mask了組成整個單詞的所有連續(xù)子字token。該算法應(yīng)用于原版和中文版的BERT時,對下游任務(wù)都是有效的。為了充分利用來自另一種模態(tài)的信息,全詞掩蔽對視覺語言處理尤為重要。
例如,單詞“giraffe”使用預(yù)訓(xùn)練的tokenizer被tokenize成三個token [“gi”,“##raf”,“##fe”]。如果不是所有的token都被mask,即[“gi”,“[ask]”,“##fe”],則該模型可以僅依靠附近的兩個語言token [“gi”,“##fe”],來預(yù)測被屏蔽的“##raf”,而不使用來自圖像的信息。在預(yù)訓(xùn)練期間,作者用0.15的概率mask整個單詞。3.4. Image Augmentation
圖像增強提高了視覺模型的泛化能力。建立在VIT基礎(chǔ)上的DeIT試驗了各種增強技術(shù),并發(fā)現(xiàn)它們對VIT訓(xùn)練是有益的。然而,在VLP模型中,圖像增強的效果還沒有被探索過。
因此,基于區(qū)域特征的VLP模型很難使用通用的圖像增強方法。此外,Pixel-Bert雖然可以進行數(shù)據(jù)增強,但也沒有研究它的影響。因此,在本文中,作者還研究了微調(diào)過程中使用數(shù)據(jù)增強對結(jié)果的影響。4.1. Overview
在預(yù)訓(xùn)練過程中,作者采用了四個數(shù)據(jù)集,數(shù)據(jù)集統(tǒng)計如上表所示。
4.2. Classi?cation Tasks
Visual Question Answering
上表展示了ViLT在VQA任務(wù)上的結(jié)果,可以看出相比于其他方法,ViLT在VQA任務(wù)上的性能比較一般。
Natural Language for Visual Reasoning
從上表可以看出在NLVR2任務(wù)上,ViLT取得了和很多預(yù)訓(xùn)練模型相似的性能,但是速度快了很多。
4.3. Retrieval Tasks
上表展示了檢索任務(wù)上的性能,ViLT也可以達到比較不錯的性能。
4.4. Ablation Study
上表展示了不同模塊的消融實驗結(jié)果,可以看出Whole Word Masking和數(shù)據(jù)增強的有效性。
4.5. Complexity Analysis of VLP Models
上表展示了不同模型參數(shù)量、計算量和推理時間的統(tǒng)計。可以看出,本文的方法具有絕對的優(yōu)勢。
4.6. Visualization
上圖展示了ViLT跨模態(tài)對齊的可視化結(jié)果。
在本文中,作者提出了一種簡單的VLP結(jié)構(gòu)——視覺和語言Transformer(ViLT)。ViLT可以與大量配備卷積視覺嵌入網(wǎng)絡(luò)(例如,F(xiàn)aster R-CNN和ResNet)的模型達到相似的性能。在本文中,作者驗證了交互模塊的重要性,也希望將來的工作能夠基于交互模塊進行進一步發(fā)展,而不是找到一個更好的特征提取器。
本文的工作可以說是極大的降低了多模態(tài)預(yù)訓(xùn)練模型的復(fù)雜度,在embed的時候采用了最簡單的結(jié)構(gòu),并且也達到了不錯的性能,最重要的是能夠讓模型的速度大幅度提升。不過,作者在進行參數(shù)初始化的時候還是用到了ViT的預(yù)訓(xùn)練參數(shù),這也導(dǎo)致了對于模型結(jié)構(gòu)修改的空間就比較小。因為如果模型改變太大,就不能用預(yù)訓(xùn)練好的參數(shù)初始化,從而性能也會降低。研究領(lǐng)域:FightingCV公眾號運營者,研究方向為多模態(tài)內(nèi)容理解,專注于解決視覺模態(tài)和語言模態(tài)相結(jié)合的任務(wù),促進Vision-Language模型的實地應(yīng)用。知乎/公眾號:FightingCV