原文地址:https://arxiv.org/abs/1908.08530v4
摘要:我們提出了一種新的用于視覺(jué)-語(yǔ)言任務(wù)的預(yù)訓(xùn)練的通用表示,稱(chēng)為視覺(jué)-語(yǔ)言BERT(簡(jiǎn)稱(chēng)VL-BERT)。VL-BERT以簡(jiǎn)單而強(qiáng)大的Transformer為主干,并將其擴(kuò)展為以視覺(jué)和語(yǔ)言嵌入特征作為輸入。輸入的每個(gè)元素要么是輸入句子中的一個(gè)詞,要么是輸入圖片的一個(gè)RoI。VL-BERT是為了大多數(shù)視覺(jué)-語(yǔ)言下游任務(wù)設(shè)計(jì)的。為了更好地利用通用表示,我們?cè)诖笠?guī)模Conceptual Captions數(shù)據(jù)集和純文本語(yǔ)料庫(kù)上預(yù)訓(xùn)練VL-BERT。實(shí)證分析表明,預(yù)訓(xùn)練可以更好地對(duì)齊視覺(jué)-語(yǔ)言的clues,并有利于下游任務(wù),如視覺(jué)常識(shí)推理、視覺(jué)問(wèn)答和參考表達(dá)理解(referring expression comprehension)。值得注意的是,VL-BERT在VCR benchmark排行榜上獲得單一模型的第一名。代碼在:https://github.com/jackroos/VL-BERT
1.引言
在一個(gè)域中,適用于多種任務(wù)的通用特征表示的預(yù)訓(xùn)練是深度網(wǎng)絡(luò)成功的一個(gè)標(biāo)志。首先,在計(jì)算機(jī)視覺(jué)領(lǐng)域,為ImageNet分類(lèi)而設(shè)計(jì)和預(yù)訓(xùn)練的主干網(wǎng)絡(luò)可以有效地提高許多圖像識(shí)別任務(wù)的性能。最近,在NLP領(lǐng)域,使用“屏蔽語(yǔ)言模型”(MLM)在大規(guī)模語(yǔ)料庫(kù)上預(yù)訓(xùn)練的Transformer在各種NLP任務(wù)上表現(xiàn)出色。
同時(shí),視覺(jué)和語(yǔ)言交叉的任務(wù),如圖像描述、視覺(jué)問(wèn)答、視覺(jué)常識(shí)推理,缺乏預(yù)訓(xùn)練的通用特征表示。先前的工作是將預(yù)訓(xùn)練的用于圖像識(shí)別的基礎(chǔ)網(wǎng)絡(luò)和預(yù)訓(xùn)練的NLP基礎(chǔ)網(wǎng)絡(luò)組合起來(lái),模型直接針對(duì)特定的任務(wù)進(jìn)行微調(diào),而無(wú)需任何通用的視覺(jué)-語(yǔ)言預(yù)訓(xùn)練。當(dāng)任務(wù)的數(shù)據(jù)不足時(shí),模型很可能會(huì)出現(xiàn)過(guò)擬合。此外,由于模型設(shè)計(jì)是特定任務(wù)的,很難從預(yù)訓(xùn)練中獲益,因?yàn)轭A(yù)訓(xùn)練的目標(biāo)和任務(wù)的目標(biāo)可能完全不同(例如,VQA模型中使用預(yù)訓(xùn)練的FasterRCNN,F(xiàn)asterRCNN的目標(biāo)是檢測(cè),VQA的目標(biāo)是回答提問(wèn))。一般來(lái)說(shuō),視覺(jué)語(yǔ)言任務(wù)的特征設(shè)計(jì)和預(yù)訓(xùn)練缺乏共同點(diǎn)。
在為不同視覺(jué)語(yǔ)言任務(wù)設(shè)計(jì)的各種網(wǎng)絡(luò)結(jié)構(gòu)中,一個(gè)關(guān)鍵的目標(biāo)是有效地聚合視覺(jué)和語(yǔ)言領(lǐng)域的多模態(tài)信息。舉例來(lái)說(shuō),為了在VQA任務(wù)中選擇正確的答案,網(wǎng)絡(luò)應(yīng)該能夠整合提問(wèn)和答案中的語(yǔ)言信息,并從輸入圖像中聚合視覺(jué)信息,同時(shí)將語(yǔ)言意義與視覺(jué)線索對(duì)齊。因此,我們尋求能夠有效地聚合和對(duì)齊視覺(jué)和語(yǔ)言信息的通用表示。
同時(shí),我們看到了Transformer注意力在NLP中的成功應(yīng)用,以及在BERT中基于MLM的預(yù)訓(xùn)練技術(shù)。注意力模塊在聚合和對(duì)齊句子中的詞嵌入特征方面是強(qiáng)大和靈活的,而B(niǎo)ERT中的預(yù)訓(xùn)練則進(jìn)一步提高了這一能力。
受此啟發(fā),我們開(kāi)發(fā)了VL-BERT,這是一種視覺(jué)語(yǔ)言任務(wù)的可預(yù)訓(xùn)練的通用表示,如圖1所示。VL-BERT的主干是以視覺(jué)和語(yǔ)言嵌入特征為輸入的(多模態(tài))Transformer注意力模塊。其中,每個(gè)元素要么是來(lái)自輸入句子的單詞,要么是來(lái)自輸入圖像的RoI,再加上某些特殊元素來(lái)消除不同輸入形式的歧義。每個(gè)元素都可以根據(jù)其內(nèi)容、位置、類(lèi)別等定義的兼容性自適應(yīng)地聚合來(lái)自所有其他元素的信息。一個(gè)詞的特征或一個(gè)RoI特征是特定于域的,例如WordPiece嵌入作為詞特征,F(xiàn)asterRCNN特征作為RoI特征。通過(guò)堆疊多層多模態(tài)Transformer注意力模塊,所導(dǎo)出的表示方法具有豐富的視覺(jué)語(yǔ)言線索聚合和對(duì)齊能力。對(duì)于特定的視覺(jué)語(yǔ)言任務(wù),可以在上面添加特定的分支。

為了更好地利用通用表示,我們?cè)诖笮鸵曈X(jué)-語(yǔ)言語(yǔ)料庫(kù)和純文本數(shù)據(jù)集上預(yù)訓(xùn)練VL-BERT。視覺(jué)語(yǔ)言語(yǔ)料庫(kù)的預(yù)訓(xùn)練損失是通過(guò)預(yù)測(cè)隨機(jī)屏蔽詞或roi而產(chǎn)生的。這種預(yù)訓(xùn)練提高了VL-BERT對(duì)視覺(jué)語(yǔ)言線索的聚合和對(duì)齊能力。而純文本語(yǔ)料庫(kù)的損失屬于BERT的標(biāo)準(zhǔn)MLM損失,提高了對(duì)長(zhǎng)句子和復(fù)雜句子的泛化能力。
綜合實(shí)證結(jié)果表明,本文提出的VL-BERT在視覺(jué)常識(shí)推理、視覺(jué)問(wèn)答和參考表達(dá)理解等多種下游視覺(jué)語(yǔ)言任務(wù)上均達(dá)到了最先進(jìn)水平。特別是在視覺(jué)常識(shí)推理排行榜上,我們獲得了單一模型的第一名。
2.相關(guān)工作
計(jì)算機(jī)視覺(jué)的預(yù)訓(xùn)練? ? 深度網(wǎng)絡(luò)時(shí)代之前,不同的任務(wù)之間共享特征并通過(guò)預(yù)訓(xùn)練來(lái)改進(jìn)特征還遠(yuǎn)遠(yuǎn)不夠成熟。各種計(jì)算機(jī)視覺(jué)任務(wù)的模型具有太多的設(shè)計(jì)選擇,無(wú)法導(dǎo)出通用表示。隨著AlexNet在ImageNet分類(lèi)中的成功,我們看到卷積神經(jīng)網(wǎng)絡(luò)在視覺(jué)領(lǐng)域的復(fù)興。不久之后,研究人員發(fā)現(xiàn),ImageNet預(yù)訓(xùn)練的CNN可以作為各種下游任務(wù)的通用特征表示,例如目標(biāo)檢測(cè)、語(yǔ)義分割、實(shí)例分割。主干網(wǎng)絡(luò)在ImageNet分類(lèi)上的改進(jìn)可以進(jìn)一步地提升在下游任務(wù)上的表現(xiàn)。最近一些研究工作是直接在大規(guī)模目標(biāo)檢測(cè)數(shù)據(jù)集上從頭開(kāi)始訓(xùn)練CNN,而不需要在ImageNet上預(yù)訓(xùn)練,取得了與ImageNet預(yù)訓(xùn)練相當(dāng)?shù)某煽?jī)。同時(shí)他們也注意到,對(duì)于數(shù)據(jù)集規(guī)模小的任務(wù),在一個(gè)合適的大規(guī)模數(shù)據(jù)集上預(yù)訓(xùn)練對(duì)性能提高至關(guān)重要。
自然語(yǔ)言處理預(yù)訓(xùn)練(NLP)
有趣的是,NLP中的訓(xùn)練前技術(shù)的發(fā)展遠(yuǎn)遠(yuǎn)落后于計(jì)算機(jī)視覺(jué)。已有關(guān)于改進(jìn)單詞嵌入的研究工作(Mikolov等人,2013;Pennington等人,2014;Kiros等人,2015),這是一種低級(jí)的語(yǔ)言特征表示。除此之外,還為各種NLP任務(wù)設(shè)計(jì)了許多不同的體系結(jié)構(gòu)。在Transformers的里程碑工作(Vaswani等人,2017)中,Transformer attention模塊被提議作為各種NLP任務(wù)的通用構(gòu)建塊。在此之后,我們提出了一系列的方法來(lái)對(duì)通用代表進(jìn)行預(yù)培訓(xùn),主要基于變形金剛,如GPT(Radford et al.,2018)、BERT(Devlin et al.,2018)、GPT-2(Radford et al.,2019)、XLNet(Yang et al.,2019)、XLM(Lample&Conneau,2019)和RoBERTa(Liu et al.,2019)。其中,BERT可能是最受歡迎的一個(gè),因?yàn)樗暮?jiǎn)單性和優(yōu)越的性能。
視覺(jué)語(yǔ)言任務(wù)的預(yù)訓(xùn)練。
視覺(jué)語(yǔ)言任務(wù)模型的發(fā)展過(guò)程也與計(jì)算機(jī)視覺(jué)和自然語(yǔ)言處理領(lǐng)域的模型非常相似。以前,任務(wù)特定模型是設(shè)計(jì)的,其中從現(xiàn)成的計(jì)算機(jī)視覺(jué)和NLP模型派生的特征以特定任務(wù)的特殊方式組合在一起。模型培訓(xùn)僅針對(duì)特定任務(wù)在數(shù)據(jù)集上執(zhí)行。
VideoBERT(Sun等人,2019b)是第一個(gè)試圖對(duì)視覺(jué)語(yǔ)言任務(wù)進(jìn)行預(yù)訓(xùn)練的工作。其中,視頻片段由現(xiàn)成的網(wǎng)絡(luò)進(jìn)行處理,用于動(dòng)作識(shí)別,并基于衍生特征對(duì)不同的簇(可視詞)進(jìn)行簽名。訓(xùn)練前的損失是通過(guò)預(yù)測(cè)屏蔽視頻片段的簇id來(lái)產(chǎn)生的。由于視頻片段的突然聚類(lèi),會(huì)丟失大量的視頻內(nèi)容信息,阻礙視頻網(wǎng)絡(luò)參數(shù)的更新。在CBT的后續(xù)工作(Sun等人,2019a)中,這種聚類(lèi)機(jī)制被重新移動(dòng)。這兩部作品都應(yīng)用在視頻上,視頻在時(shí)間維度上是線性結(jié)構(gòu),與句子一樣。人們非常希望研究基于圖像的視覺(jué)語(yǔ)言任務(wù)。
與我們的工作同時(shí),最近發(fā)布的關(guān)于Arxiv的多篇文章也試圖為視覺(jué)語(yǔ)言任務(wù)推導(dǎo)出一個(gè)可預(yù)先訓(xùn)練的泛型表示。附錄中的表5對(duì)它們進(jìn)行了比較。我們?cè)谶@里簡(jiǎn)要討論其中一些作品。
在ViLBERT(Lu et al.,2019)和LXMERT(Tan&Bansal,2019)中,網(wǎng)絡(luò)結(jié)構(gòu)是分別應(yīng)用于輸入句子和圖像的兩個(gè)單模態(tài)網(wǎng)絡(luò),然后是結(jié)合來(lái)自兩個(gè)源的信息的跨模態(tài)變壓器。交叉模態(tài)變壓器的注意模式受到限制,作者認(rèn)為這有助于提高變壓器的性能。ViLBERT的作者聲稱(chēng),這種雙流設(shè)計(jì)優(yōu)于單流統(tǒng)一模型。同時(shí),在提出的VL-BERT中,它是一個(gè)基于變換器的統(tǒng)一體系結(jié)構(gòu),對(duì)注意模式?jīng)]有任何限制。視覺(jué)和語(yǔ)言內(nèi)容作為輸入反饋給VL-BERT,在VL-BERT中,它們可以早期自由地交互。我們發(fā)現(xiàn)我們的VL-BERT統(tǒng)一模型優(yōu)于這兩種流設(shè)計(jì)。
VisualBert(Li et al.,2019b)、B2T2(Alberti et al.,2019)和Unicoder VL(Li et al.,2019a)也屬于統(tǒng)一的單流架構(gòu),它們正在進(jìn)行或正在審查中。表5比較了這些作品的不同之處。這些研究工作的同時(shí)出現(xiàn)的緊急情況表明,為視覺(jué)語(yǔ)言任務(wù)推導(dǎo)一個(gè)通用的可訓(xùn)練表示法是非常重要的。
此外,VL-BERT與其他同時(shí)進(jìn)行的預(yù)培訓(xùn)工作有三個(gè)顯著的區(qū)別。其影響在第4.3節(jié)中得到驗(yàn)證。(1) 我們發(fā)現(xiàn),在所有其他同時(shí)進(jìn)行的作品中(例如,ViLBERT(Lu et al.,2019)和LXMERT(Tan&Bansal,2019))所使用的句子-圖像關(guān)系預(yù)測(cè)任務(wù)對(duì)視覺(jué)語(yǔ)言表征的預(yù)訓(xùn)練毫無(wú)幫助。因此,這樣的任務(wù)不包含在VL-BERT中。(2) 我們?cè)谝曈X(jué)語(yǔ)言和純文本數(shù)據(jù)集上預(yù)先訓(xùn)練VL-BERT。我們發(fā)現(xiàn)這種聯(lián)合預(yù)訓(xùn)練提高了對(duì)長(zhǎng)句子和復(fù)雜句子的泛化能力。(3) 改進(jìn)了視覺(jué)表示的調(diào)整。在VL-BERT中,快速R-CNN的參數(shù)也得到了更新,從而得到了視覺(jué)特征。為了避免語(yǔ)言線索掩蓋的RoI分類(lèi)預(yù)訓(xùn)練任務(wù)中的視覺(jué)線索泄漏,對(duì)輸入的原始像素進(jìn)行掩蔽操作,而不是對(duì)卷積層生成的特征圖進(jìn)行掩蔽操作。
3個(gè)VL-BERT
3.1重新審視伯特模型
設(shè)x={x1,…,xN}為BERT(Devlin等人,2018)中的輸入元素,它具有編碼句子詞的嵌入特征。它們由多層雙向變換器處理(Vaswani等人,2017),其中每個(gè)元素的嵌入特征以聚集具有自適應(yīng)注意權(quán)重的其他元素的特征的方式逐層變換。讓x l={xl1,…,xlN}作為第l層的特性(x0設(shè)置為輸入x)。第(l+1)層xl+1的特征由式1中的m在注意頭上的索引計(jì)算,Am i,j∏exp[(Ql+1 m xli)T(Kl+1 m xlj)]de 注意到第m層中元素i和j之間的注意權(quán)重,該權(quán)重由PNj=1 Am i,j=1歸一化。Wl+1m、Ql+1m、Kl+1m和V l+1m是mth注意頭的可學(xué)習(xí)權(quán)重,式3中Wl+11、Wl+12和bl+11、bl+12分別是可學(xué)習(xí)權(quán)重和偏差。注意,等式1~4中的運(yùn)算與輸入序列的順序無(wú)關(guān),即置換輸入的最終BERT表示與相同置換后原始輸入的最終BERT表示相同。通過(guò)序列位置嵌入,將元素在BERT中的位置編碼為其自身的嵌入特征。由于這種解耦表示,BERT模型具有足夠的靈活性,可以對(duì)各種NLP任務(wù)進(jìn)行預(yù)訓(xùn)練和微調(diào)。
在BERT預(yù)訓(xùn)練中,引入了屏蔽語(yǔ)言建模(MLM)任務(wù)。某個(gè)輸入字的嵌入特征將被隨機(jī)屏蔽掉(捕獲字內(nèi)容的令牌嵌入通道將被一個(gè)特殊的[屏蔽]令牌替換)。通過(guò)訓(xùn)練BERT模型,從所有其他未掩蔽元素的語(yǔ)言線索預(yù)測(cè)掩蔽詞。正如Wang&Cho(2019)所解釋的,基于傳銷(xiāo)的BERT整體訓(xùn)練相當(dāng)于優(yōu)化以下聯(lián)合概率分布
其中,φi(x |θ)是第i個(gè)輸入元素的勢(shì)函數(shù),參數(shù)為θ,Z(θ)是配分函數(shù)。每個(gè)對(duì)數(shù)勢(shì)項(xiàng)對(duì)數(shù)φi(x)定義為
其中Fi(x\ i ^ thi)表示對(duì)應(yīng)于輸入x i i的第i個(gè)元素的伯特的最終輸出特征,其中x \ i被定義為x\i= {x1,…,席1,[掩碼],席+ 1,…,xn}。發(fā)生的傳銷(xiāo)損失為
其中x是來(lái)自訓(xùn)練集D的隨機(jī)抽樣句子,i是用于掩蔽單詞的隨機(jī)抽樣位置。
第二個(gè)訓(xùn)練前任務(wù),下一個(gè)句子預(yù)測(cè),重點(diǎn)是建立兩個(gè)句子之間的關(guān)系模型。從輸入文檔中抽取兩個(gè)句子,模型應(yīng)該預(yù)測(cè)第二個(gè)句子是否是第一個(gè)句子的直接繼承者。在BERT中,采樣的兩個(gè)句子連接成一個(gè)輸入序列,在第一個(gè)和第二個(gè)句子之前分別插入特殊元素CLS和SEP。在與[CLS]元素對(duì)應(yīng)的最終輸出特征上附加一個(gè)Sigmoid分類(lèi)器來(lái)進(jìn)行預(yù)測(cè)。設(shè)x為輸入序列,t∈{0,1}表示兩句之間的關(guān)系。損失函數(shù)定義為
其中xL0是[CLS]元素(在第L層)的最終輸出特性,g(xL0)是分類(lèi)器輸出。
3.2模型架構(gòu)
圖1說(shuō)明了VL-BERT的體系結(jié)構(gòu)。基本上,它修改了原始的BERT(Devlin等人,2018)模型,添加了新的元素以適應(yīng)視覺(jué)內(nèi)容,并在輸入特征嵌入中嵌入了一種新的視覺(jué)特征。與BERT類(lèi)似,主干是多層雙向變壓器編碼器(Vaswani等人,2017),支持所有輸入元素之間的依賴(lài)性建模。與BERT只處理句子詞不同,VL-BERT以視覺(jué)和語(yǔ)言元素作為輸入,分別在圖像的感興趣區(qū)域和輸入句子的子詞上定義特征。roi可以是對(duì)象檢測(cè)器生成的邊界框,也可以是特定任務(wù)中的帶注釋的邊界框。
值得注意的是,不同視覺(jué)語(yǔ)言任務(wù)的輸入格式各不相同(例如,圖像字幕的輸入格式為<Caption,Image>,VQA的輸入格式為<Question,Answer,Image>(Antol等人,2015年;John son等人,2017年;Goyal等人,2017年;Hudson&Manning,2019年)和VCR(Zellers等人,2019年;Gao等人,2019年))。但是,由于變換注意的無(wú)序表示性質(zhì)(例如,句子中單詞的位置僅由位置嵌入編碼,而不是輸入序列中的順序),只要輸入元素和嵌入特征設(shè)計(jì)得當(dāng),就可以導(dǎo)出泛型表示。輸入元素包括三種類(lèi)型,即語(yǔ)言、語(yǔ)言和特殊元素,用于消除不同輸入格式的歧義。輸入序列總是從一個(gè)特殊的分類(lèi)元素([CLS])開(kāi)始,然后是語(yǔ)言元素,然后是視覺(jué)元素,最后是一個(gè)特殊的結(jié)束元素([END])。在語(yǔ)言元素的不同句子之間,以及語(yǔ)言元素和視覺(jué)元素之間插入一個(gè)特殊的分隔元素。對(duì)于每個(gè)輸入元素,其嵌入特征是四種嵌入類(lèi)型的總和,即令牌嵌入、視覺(jué)特征嵌入、分段嵌入和序列位置嵌入。其中,視覺(jué)特征嵌入是為了獲取視覺(jué)線索而引入的,其他三種嵌入都是按照原BERT論文的設(shè)計(jì)。
令牌嵌入
按照伯特的實(shí)踐,語(yǔ)言詞匯中嵌入了詞條嵌入(Wu等人,2016),詞匯為30000。為每個(gè)特殊元素分配一個(gè)特殊標(biāo)記。對(duì)于視覺(jué)元素,為每個(gè)元素分配一個(gè)特殊的[IMG]標(biāo)記。
視覺(jué)特征嵌入
首先分別描述了視覺(jué)外觀特征和視覺(jué)幾何em 層理,然后結(jié)合它們形成視覺(jué)特征嵌入。
對(duì)于與RoI相對(duì)應(yīng)的視覺(jué)元素,通過(guò)應(yīng)用快速R-CNN(Girshick,2015)檢測(cè)器(即,快速R-CNN(Ren等人,2015)中的檢測(cè)分支)提取視覺(jué)外觀特征,其中每個(gè)RoI的輸出層之前的特征向量被用作視覺(jué)特征嵌入(論文中2048-d)。對(duì)于非視覺(jué)元素,相應(yīng)的視覺(jué)外觀特征是在整個(gè)輸入圖像上提取的特征。它們是通過(guò)在覆蓋整個(gè)輸入圖像的RoI上應(yīng)用更快的R-CNN獲得的。
視覺(jué)幾何嵌入的目的是通知VL-BERT圖像中每個(gè)輸入視覺(jué)元素的幾何位置。每個(gè)RoI由一個(gè)四維向量表示,如(xLT W,yLT H,xRB W,hRB H),其中(xLT,yLT)和(xRB,yRB)分別表示左上角和右下角的坐標(biāo),W,H表示輸入圖像的寬度和高度。按照關(guān)系網(wǎng)的實(shí)踐(Hu等人,2018),通過(guò)計(jì)算不同波長(zhǎng)的正弦和余弦函數(shù),將四維向量嵌入到高維表示中(文中為2048-d)。
視覺(jué)特征嵌入附加在每個(gè)輸入元素上,它是以視覺(jué)外觀特征和視覺(jué)幾何嵌入的連接為輸入的全連接層的輸出。
段嵌入
定義了三種段A、B、C,將輸入元素從不同的源中分離出來(lái),即A和B分別用于第一和第二輸入句子中的單詞,C用于roi和輸入圖像。例如,對(duì)于<Question,Answer,Image>的輸入格式,A表示問(wèn)題,B表示答案,C表示圖像。對(duì)于<Caption,Image>的輸入格式,A表示標(biāo)題,C表示圖像。在每個(gè)輸入元素中添加一個(gè)學(xué)習(xí)段嵌入,以指示它屬于哪個(gè)段。
序列位置嵌入
在每個(gè)輸入元素中添加一個(gè)可學(xué)習(xí)的序列位置嵌入,指示其在輸入序列中的順序,與BERT相同。因?yàn)檩斎胍曈X(jué)元素之間沒(méi)有自然的順序,所以它們?cè)谳斎胄蛄兄械娜魏闻帕卸紤?yīng)該得到相同的結(jié)果。因此,所有視覺(jué)元素的序列位置嵌入是相同的。
3.3訓(xùn)練前VL-BERT
VL-BERT的通用特征表示使我們能夠在大規(guī)模數(shù)據(jù)集上對(duì)其進(jìn)行預(yù)訓(xùn)練,并適當(dāng)?shù)卦O(shè)計(jì)預(yù)訓(xùn)練任務(wù)。我們?cè)谝曈X(jué)語(yǔ)言和純文本數(shù)據(jù)集上預(yù)先訓(xùn)練VL-BERT。在這里,我們利用概念字幕數(shù)據(jù)集(Sharma等人,2018)作為視覺(jué)語(yǔ)言語(yǔ)料庫(kù)。它包含大約330萬(wàn)個(gè)帶有標(biāo)題的圖片,這些圖片是從web數(shù)據(jù)中獲取并通過(guò)自動(dòng)管道處理的。概念標(biāo)題數(shù)據(jù)集的問(wèn)題是,標(biāo)題主要是簡(jiǎn)單的子句,對(duì)于許多下游任務(wù)來(lái)說(shuō),這些子句太短太簡(jiǎn)單。為了避免在這種短而簡(jiǎn)單的文本場(chǎng)景中過(guò)擬合,我們還對(duì)帶有長(zhǎng)而復(fù)雜句子的純文本語(yǔ)料庫(kù)進(jìn)行了VL-BERT預(yù)訓(xùn)練。我們利用了書(shū)籍語(yǔ)料庫(kù)(Zhu等人,2015年)和英語(yǔ)維基百科數(shù)據(jù)集,這些數(shù)據(jù)集也被用于培訓(xùn)前的伯特。
在SGD培訓(xùn)中,每一小批的樣本都是從概念標(biāo)題和書(shū)籍語(yǔ)料庫(kù)和英語(yǔ)維基百科中隨機(jī)抽取的(比例為1:1)。對(duì)于從概念標(biāo)題中提取的樣本,VL-BERT的輸入格式為<Caption,Image>,其中圖像中的roi被預(yù)先訓(xùn)練的更快的R-CNN對(duì)象檢測(cè)器定位和分類(lèi)。利用兩個(gè)訓(xùn)練前任務(wù)造成損失,如下所示。
任務(wù)1:具有視覺(jué)線索的蒙面語(yǔ)言建模這個(gè)任務(wù)與BERT中使用的蒙面語(yǔ)言建模(MLM)任務(wù)非常相似。關(guān)鍵的區(qū)別在于視覺(jué)線索在VL-BERT中嵌入,以捕捉視覺(jué)和語(yǔ)言內(nèi)容之間的依賴(lài)關(guān)系。在預(yù)訓(xùn)練期間,輸入句子中的每個(gè)單詞都被隨機(jī)屏蔽(概率為15%)。對(duì)于蒙面字,其標(biāo)記將替換為一個(gè)特殊的標(biāo)記[MASK]。該模型基于未掩蔽詞和視覺(jué)特征對(duì)掩蔽詞進(jìn)行預(yù)測(cè)。這項(xiàng)任務(wù)不僅推動(dòng)了網(wǎng)絡(luò)對(duì)句子詞中的依存關(guān)系進(jìn)行建模,而且使視覺(jué)內(nèi)容和語(yǔ)言內(nèi)容對(duì)齊。例如,在圖1“kitten drinking from[MASK]”中,如果沒(méi)有輸入圖像,屏蔽詞可以是任何容器,例如“bowl”、“spoon”和“bottle”。表示應(yīng)該捕捉“瓶子”一詞與圖像中相應(yīng)roi的對(duì)應(yīng)關(guān)系,以便做出正確的猜測(cè)。在預(yù)訓(xùn)練過(guò)程中,在Softmax交叉熵?fù)p失的驅(qū)動(dòng)下,將蒙蔽詞對(duì)應(yīng)的最終輸出特征輸入到整個(gè)詞匯表的分類(lèi)器中。
任務(wù)2:用語(yǔ)言線索掩蓋RoI分類(lèi)這是任務(wù)1的雙重任務(wù)。圖像中的每個(gè)RoI被隨機(jī)屏蔽(概率為15%),訓(xùn)練前的任務(wù)是從其他線索預(yù)測(cè)被屏蔽的RoI的類(lèi)別標(biāo)簽。為了避免其他元素的視覺(jué)特征嵌入造成視覺(jué)線索泄漏,在應(yīng)用快速R-CNN之前,將隱藏的RoI中的像素設(shè)置為零。在預(yù)訓(xùn)練過(guò)程中,將最終的輸出特征對(duì)應(yīng)于被屏蔽的感興趣區(qū)域(RoI)輸入到具有Softmax交叉熵?fù)p失的分類(lèi)器中進(jìn)行目標(biāo)分類(lèi)。預(yù)先訓(xùn)練的快速R-CNN預(yù)測(cè)的類(lèi)別標(biāo)簽被設(shè)定為基本事實(shí)。示例如圖1所示。圖像中貓對(duì)應(yīng)的感興趣區(qū)域被屏蔽掉,無(wú)法根據(jù)任何視覺(jué)線索預(yù)測(cè)出相應(yīng)的類(lèi)別。但該模型以“小貓從瓶子里喝水”為輸入標(biāo)題,利用語(yǔ)言線索來(lái)推斷貓的類(lèi)別。
對(duì)于從BooksCorpus和English Wikipedia數(shù)據(jù)集中抽取的樣本,VL BERT的輸入格式退化為<Text,`>,其中不涉及視覺(jué)信息。圖1中的“視覺(jué)特性嵌入”是一個(gè)可學(xué)習(xí)的嵌入,可用于所有單詞。訓(xùn)練損失來(lái)自于標(biāo)準(zhǔn)的蒙面語(yǔ)言建模(MLM)任務(wù),如BERT。
綜上所述,視覺(jué)語(yǔ)言語(yǔ)料庫(kù)的預(yù)訓(xùn)練提高了視覺(jué)和語(yǔ)言內(nèi)容之間的詳細(xì)對(duì)齊。這種詳細(xì)的對(duì)齊對(duì)于許多下游任務(wù)至關(guān)重要(例如,在視覺(jué)基礎(chǔ)(Kazemzadeh等人,2014年),模型基于自然語(yǔ)言查詢定位圖像中最相關(guān)的對(duì)象或區(qū)域)。而對(duì)純文本語(yǔ)料庫(kù)的預(yù)訓(xùn)練則有助于完成涉及理解長(zhǎng)句子和復(fù)雜句子的下游任務(wù)。
3.4微調(diào)VL-BERT
VL-BERT被設(shè)計(jì)成各種視覺(jué)語(yǔ)言任務(wù)的通用特征表示。對(duì)于各種下游任務(wù),微調(diào)VL-BERT相對(duì)簡(jiǎn)單。我們只需要給VL BERT提供正確格式的輸入和輸出,并端到端微調(diào)所有網(wǎng)絡(luò)參數(shù)。對(duì)于輸入,典型的<Caption,Image>和<Question,Answer,Image>格式覆蓋了大多數(shù)視覺(jué)語(yǔ)言任務(wù)。只要引入適當(dāng)?shù)亩吻度雭?lái)識(shí)別不同的輸入源,VL-BERT也能支持更多的句子和更多的圖像。通常,在輸出端,[CLS]元素的最終輸出特征用于句子-圖像關(guān)系級(jí)預(yù)測(cè)。單詞或RoI的最終輸出特征用于單詞級(jí)或RoI級(jí)預(yù)測(cè)。除了輸入和輸出格式外,還需要調(diào)整特定任務(wù)的損失函數(shù)和培訓(xùn)策略。詳細(xì)設(shè)計(jì)選擇和設(shè)置見(jiàn)第4.2節(jié)。
4實(shí)驗(yàn)
4.1預(yù)培訓(xùn)
如第3.3節(jié)所述,我們對(duì)VL-BERT進(jìn)行了聯(lián)合訓(xùn)練,將概念性字幕(Sharma等人,2018)作為視覺(jué)語(yǔ)言語(yǔ)料庫(kù),將書(shū)籍語(yǔ)料庫(kù)(Zhu等人,2015)和英語(yǔ)維基百科作為純文本語(yǔ)料庫(kù)。由于VL-BERT是通過(guò)在原始BERT模型中添加捕獲視覺(jué)信息的新輸入來(lái)開(kāi)發(fā)的,因此我們將參數(shù)初始化為與中描述的原始BERT相同(Devlin等人,2018)。VL-BERTBASE和VL-BERTLARGE分別表示從origi nal BERTBASE和BERTLARGE模型發(fā)展而來(lái)的模型。VL-BERT中新加入的參數(shù)由平均值為0、標(biāo)準(zhǔn)差為0.02的高斯分布隨機(jī)初始化。視覺(jué)內(nèi)容嵌入是由更快的R-CNN+ResNet-101產(chǎn)生的,由預(yù)先接受視覺(jué)基因組訓(xùn)練的參數(shù)初始化(Krishna等人,2017年),用于目標(biāo)檢測(cè)(見(jiàn)BUTD(Anderson等人,2018年))。
在對(duì)概念字幕進(jìn)行預(yù)訓(xùn)練之前,將預(yù)訓(xùn)練的快速R-CNN用于提取roi。具體地說(shuō),對(duì)于每個(gè)im 年齡,最多選擇100個(gè)檢測(cè)分?jǐn)?shù)高于0.5的ROI。不管檢測(cè)分?jǐn)?shù)閾值如何,至少?gòu)囊环鶊D像中選擇10個(gè)roi。具體參數(shù)設(shè)置見(jiàn)附錄。
4.2下游任務(wù)微調(diào)
經(jīng)過(guò)預(yù)訓(xùn)練的VL-BERT模型可以很好地適應(yīng)各種下游視覺(jué)語(yǔ)言任務(wù),只需對(duì)輸入格式、輸出預(yù)測(cè)、損失函數(shù)和訓(xùn)練策略進(jìn)行簡(jiǎn)單的修改。
4.2.1視覺(jué)常識(shí)推理(VCR)
視覺(jué)常識(shí)推理(VCR)側(cè)重于給定圖像的高階認(rèn)知和常識(shí)理解。在Zellers等人的數(shù)據(jù)集中。(2019)給出了一個(gè)圖像和一個(gè)分類(lèi)ROI列表,提出了一個(gè)認(rèn)知層面的問(wèn)題。模型應(yīng)該選擇問(wèn)題的正確答案,并提供理由解釋。對(duì)于每個(gè)問(wèn)題,有4個(gè)候選答案和4個(gè)候選理由。這個(gè)整體任務(wù)(Q→A R)被分解為兩個(gè)子任務(wù),研究人員可以在其中訓(xùn)練特定的個(gè)體模型:?jiǎn)柎穑≦→A)和回答理由(QA→R)。發(fā)布的VCR數(shù)據(jù)集包括265k對(duì)問(wèn)題、答案和基本原理,超過(guò)10萬(wàn)個(gè)獨(dú)特的電影場(chǎng)景(10萬(wàn)張圖像)。它們分為訓(xùn)練、驗(yàn)證和測(cè)試集,分別由213k個(gè)問(wèn)題和80k個(gè)圖像、27k個(gè)問(wèn)題和10k個(gè)圖像、25k個(gè)問(wèn)題和10k個(gè)圖像組成。
我們的錄像機(jī)實(shí)驗(yàn)方案遵循R2C中的實(shí)驗(yàn)方案(Zellers等人,2019)。該模型在列車(chē)分割上進(jìn)行訓(xùn)練,并在val和測(cè)試集上進(jìn)行評(píng)估。在原始工作R2C中,設(shè)計(jì)了特定任務(wù)的“接地”、“語(yǔ)境化”和“推理”模塊。在這里,我們簡(jiǎn)單地采用VL-BERT的泛型表示。圖2(a)說(shuō)明了輸入格式,<Question,Answer,Image>。對(duì)于Q→A的子任務(wù),“Q”和“A”分別填入問(wèn)題部分和答案部分。對(duì)于Q A→R的子任務(wù),“Q”和“A”的連接填充到問(wèn)題部分,“R”填充到回答部分。VL-BERT的輸入ROI是數(shù)據(jù)集中的基本真值注釋。將[CLS]元素的最終輸出特征輸入到Softmax分類(lèi)器,以預(yù)測(cè)給定答案是否是正確的選擇。在微調(diào)過(guò)程中,我們采用了兩種損失:基于答案正確性的分類(lèi)和基于語(yǔ)言線索的RoI分類(lèi)。具體參數(shù)設(shè)置見(jiàn)附錄。
表1給出了實(shí)驗(yàn)結(jié)果。訓(xùn)練前VL-BERT在最后的Q→AR任務(wù)中提高了1.0%的性能,驗(yàn)證了訓(xùn)練前的有效性。與R2C相比,我們不使用特殊任務(wù)模塊。相反,我們只是采用VL-BERT的泛型表示,并端到端聯(lián)合訓(xùn)練整個(gè)模型。盡管輸入、輸出和實(shí)驗(yàn)協(xié)議與R2C相同,但VL-BERT在很大程度上優(yōu)于R2C,這表明了我們簡(jiǎn)單的跨模式架構(gòu)的強(qiáng)大功能。與ViLBERT、VisualBERT和B2T2等并行作品相比,我們的VL-BERT達(dá)到了最先進(jìn)的性能。
4.2.2可視化問(wèn)答(VQA)
在VQA任務(wù)中,給定一幅自然圖像,提出一個(gè)感性層次的問(wèn)題,算法應(yīng)該生成/選擇正確的答案。在這里,我們對(duì)廣泛使用的VQA v2.0數(shù)據(jù)集(Goyal等人,2017年)進(jìn)行了實(shí)驗(yàn),該數(shù)據(jù)集基于COCO(Lin等人,2014年)圖像構(gòu)建。VQA v2.0數(shù)據(jù)集分為訓(xùn)練集(83k個(gè)圖像和444k個(gè)問(wèn)題)、驗(yàn)證集(41k個(gè)圖像和214k個(gè)問(wèn)題)和測(cè)試集(81k個(gè)圖像和448k個(gè)問(wèn)題)。按照BUTD的實(shí)驗(yàn)方案(Anderson等人,2018),對(duì)于每個(gè)問(wèn)題,算法應(yīng)該從包含3129個(gè)答案的共享集合中選擇相應(yīng)的答案。
圖2(b)說(shuō)明了VQA任務(wù)的輸入格式,它是<Question,Answer,Image>。由于可能的答案來(lái)自獨(dú)立于問(wèn)題的共享池,因此我們只在答案部分填充一個(gè)[MASK]元素。與BUTD(Anderson等人,2018年)一樣,VL-BERT中的輸入ROI是由一個(gè)更快的R-CNN檢測(cè)器生成的,該檢測(cè)器預(yù)先訓(xùn)練過(guò)視覺(jué)基因組(Krishna等人,2017年)。答案預(yù)測(cè)是根據(jù)[MASK]元素的輸出特征從多類(lèi)分類(lèi)器中進(jìn)行的。在微調(diào)過(guò)程中,網(wǎng)絡(luò)訓(xùn)練是由多類(lèi)交叉熵?fù)p失驅(qū)動(dòng)的。具體參數(shù)設(shè)置見(jiàn)附錄。
表2給出了我們的實(shí)驗(yàn)結(jié)果。訓(xùn)練前VL-BERT的性能提高了1.6%,驗(yàn)證了訓(xùn)練前的重要性。VL-BERT與BUTD共享相同的輸入(即,問(wèn)題、圖像和ROI)、輸出和實(shí)驗(yàn)協(xié)議,BUTD是一種為該任務(wù)專(zhuān)門(mén)設(shè)計(jì)的流行模型。盡管如此,VL-BERT的準(zhǔn)確率還是超過(guò)了BUTD的5%。除了LXMERT之外,我們的VL-BERT比其他并發(fā)工作取得了更好的性能。這是因?yàn)長(zhǎng)XMERT預(yù)先訓(xùn)練了大量的視覺(jué)問(wèn)答數(shù)據(jù)(聚合了幾乎所有基于COCO和視覺(jué)基因組的VQA數(shù)據(jù)集)。雖然我們的模型只是對(duì)字幕和純文本數(shù)據(jù)集進(jìn)行了預(yù)訓(xùn)練,但與VQA任務(wù)仍有差距。
引用表達(dá)式是指圖像中的對(duì)象的自然語(yǔ)言短語(yǔ)。指稱(chēng)表達(dá)式理解任務(wù)是用給定的指稱(chēng)表達(dá)式將對(duì)象定位在圖像中。我們采用RefCOCO+(Kazemzadeh et al.,2014)數(shù)據(jù)集進(jìn)行評(píng)估,由COCO數(shù)據(jù)集中20k個(gè)圖像中50k個(gè)參考對(duì)象的141k個(gè)表達(dá)式組成(Lin et al.,2014)。RefCOCO+中的引用表達(dá)式禁止使用絕對(duì)位置詞,如左犬。因此,引用表達(dá)式側(cè)重于純基于外觀的描述。RefCOCO+分為四組,訓(xùn)練集(train)、驗(yàn)證集(val)和兩個(gè)測(cè)試集(testA和testB)。包含多人的Im 年齡在testA集中,而包含其他類(lèi)別的多個(gè)對(duì)象的圖像在testB集中。培訓(xùn)、驗(yàn)證和測(cè)試圖像之間沒(méi)有重疊。
圖2(c)說(shuō)明了引用表達(dá)式理解的輸入格式,其中輸入格式為<Query,Image>。模型訓(xùn)練和評(píng)估在地面真實(shí)感ROI或在MAttNet中的檢測(cè)盒上進(jìn)行(Yu等人,2018)。結(jié)果分別在地面真值區(qū)域和探測(cè)區(qū)域的軌跡上報(bào)告。在訓(xùn)練過(guò)程中,我們計(jì)算所有輸入roi的分類(lèi)分?jǐn)?shù)。對(duì)于每個(gè)RoI,應(yīng)用二值分類(lèi)損失。在推理過(guò)程中,我們直接選擇分類(lèi)得分最高的RoI作為輸入引用表達(dá)式的引用對(duì)象。具體參數(shù)設(shè)置見(jiàn)附錄。
表3給出了我們的實(shí)驗(yàn)結(jié)果。預(yù)先訓(xùn)練的VL-BERT顯著提高了性能。與MAttNet相比,VL-BERT在沒(méi)有特定于任務(wù)的體系結(jié)構(gòu)設(shè)計(jì)的情況下簡(jiǎn)單得多,但是更好。VL-BERT的性能與ViLBERT的并發(fā)工作相當(dāng)。
4.3消融研究
總體而言,VL-BERT的預(yù)訓(xùn)練提高了所有三個(gè)下游任務(wù)的性能(通過(guò)比較設(shè)置“w/o pre training”和VL-BERTBASE)。不同任務(wù)的改善幅度不同。通過(guò)對(duì)比設(shè)置(a)和“無(wú)需預(yù)先訓(xùn)練”的設(shè)置,我們看到任務(wù)1的好處,即使用視覺(jué)線索進(jìn)行蒙面語(yǔ)言建模。通過(guò)進(jìn)一步結(jié)合Task#2,使用語(yǔ)言線索屏蔽RoI分類(lèi),RefCOCO+的準(zhǔn)確性進(jìn)一步提高,但仍停留在VCR和VQA上。這可能是因?yàn)橹挥蠷efCOCO+使用與[IMG]標(biāo)記對(duì)應(yīng)的最終輸出特性進(jìn)行預(yù)測(cè)。因此,這些特征的預(yù)訓(xùn)練是有益的。設(shè)置(c)包含了ViLBERT(Lu et al.,2019)和LXMERT(Tan&Bansal,2019)中的句子-圖像關(guān)系預(yù)測(cè)任務(wù)。這會(huì)影響所有三個(gè)下游任務(wù)的準(zhǔn)確性。我們認(rèn)為這是因?yàn)榫渥?圖像關(guān)系預(yù)測(cè)的任務(wù)會(huì)引入不匹配的圖像和標(biāo)題對(duì)作為反例。這種不匹配的樣本會(huì)妨礙其他任務(wù)的訓(xùn)練。設(shè)置(d)在訓(xùn)練前添加純文本語(yǔ)料庫(kù)。與設(shè)置(b)相比,它提高了所有三個(gè)下行任務(wù)的性能,并且在錄像機(jī)上最為顯著。這是因?yàn)閂CR的任務(wù)比VQA和RefCOCO+2中的任務(wù)更復(fù)雜和更長(zhǎng)的句子。通過(guò)進(jìn)一步微調(diào)快速R-CNN的網(wǎng)絡(luò)參數(shù),生成視覺(jué)特征,得到VL-BERTBASE的最終設(shè)置。整個(gè)網(wǎng)絡(luò)的這種端到端的訓(xùn)練有助于所有的下游任務(wù)。
5結(jié)論
本文提出了一種新的視覺(jué)語(yǔ)言任務(wù)的可訓(xùn)練泛型表示方法VL-BERT。VL-BERT沒(méi)有使用特定于特定任務(wù)的模塊,而是采用簡(jiǎn)單而強(qiáng)大的轉(zhuǎn)換器模型作為主干。它與純文本語(yǔ)料庫(kù)一起,在大規(guī)模概念字幕數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練。大量的實(shí)證分析表明,預(yù)訓(xùn)練程序能夠更好地對(duì)齊視覺(jué)語(yǔ)言線索,從而有利于后續(xù)任務(wù)的完成。在未來(lái),我們希望尋求更好的訓(xùn)練前任務(wù),這可能有利于更多的下游任務(wù)(例如,圖片標(biāo)題生成)。