天天看點

【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)

【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)

文章目錄

  • 【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)
    • ABSTRACT摘要
    • 1 INTRODUCTION介紹
    • 2 RELATED WORK相關工作
      • Pre-training for Computer Vision計算機視覺的預訓練
      • Pre-training for Natural Language Processing (NLP) 自然語言處理(NLP)的預訓練
      • Pre-training for Visual-Linguistic Tasks視覺語言任務的預訓練
    • 3 VL-BERT
      • 3.1 REVISIT BERT MODEL
      • 3.2 MODEL ARCHITECTURE模型架構
        • Token Embedding
        • Visual Feature Embedding
        • Segment Embedding
        • Sequence Position Embedding
      • 3.3 PRE-TRAINING VL-BERT預訓練VL-BERT
      • 3.4 FINE-TUNING VL-BERT微調
    • 4 EXPERIMENT實驗
      • 4.1 PRE-TRAINING預訓練
      • 4.2 FINE-TUNING ON DOWNSTREAM TASKS對下遊任務進行微調
        • 4.2.1 VISUAL COMMONSENSE REASONING (VCR)視覺常識推理
        • 4.2.2 視覺問答(VQA)
        • 4.2.3 REFERRING EXPRESSION COMPREHENSION引用表達式了解
        • 4.3 ABLATION STUDY消融實驗
    • 5 CONCLUSION結論
    • A. APPENDIX附錄
      • A.1 COMPARISON AMONG VL-BERT AND OTHER WORKS(VL-BERT與其他作品的比較)
      • A.2 詳細的實驗設定
      • A.3 VL-BERT中可視化注意貼圖

ABSTRACT摘要

我們為視覺語言任務引入了一種新的可預訓練的通用表示形式,稱為視覺語言BERT(簡稱VL-BERT)。VL-BERT采用簡單但功能強大的Transformer模型作為主幹,并将其擴充為将視覺和語言嵌入式功能都作為輸入。在其中,輸入的每個元素要麼是輸入句子中的單詞,要麼是輸入圖像中的關注區域(RoI)。 它旨在适應大多數可視語言的下遊任務。為了更好地利用通用表示,我們在大規模的概念字幕資料集上對VL-BERT以及純文字語料庫進行了預訓練。廣泛的經驗分析表明,預訓練程式可以更好地對齊視覺語言線索,并有益于下遊任務,例如視覺常識推理,視覺問題解答和參考表達了解。 值得注意的是,VL-BERT在VCR基準排行榜上獲得了單一型号的第一名。代碼在https://github.com/jackroos/VL-BERT上釋出。

1 INTRODUCTION介紹

适用于域中各種任務的通用特征表示的預訓練是深層網絡成功的标志。首先,在計算機視覺中,為ImageNet分類設計并經過ImageNet訓練的骨幹網絡被發現對于改善許多圖像識别任務是有效的。最近在自然語言處理(NLP)中,使用大型語言語料庫的“掩碼語言模型”(MLM)目标(Devlin等人,2018)對Transformer網絡(Vaswani等人,2017)進行了預訓練NLP任務。

同時,對于視覺和語言交彙處的任務,例如圖像字幕(Young等,2014; Chen等,2015; Sharma等,2018),視覺問題回答(VQA)(Antol等。 ,2015; Johnson等,2017; Goyal等,2017; Hudson&Manning,2019),視覺常識推理(VCR)(Zellers等,2019; Gao等,2019),缺乏這種預見性。訓練的通用特征表示。先前的實踐是以特定于任務的方式将經過預訓練分别用于圖像識别和NLP的基礎網絡進行組合。特定于任務的模型可以直接針對特定目标任務進行微調,而無需任何正常的視覺語言預訓練。當目标任務的資料稀缺時,特定于任務的模型可能會遭受過度拟合的困擾。而且,由于特定于任務的模型設計,很難從預訓練中受益,因為預訓練任務可能與目标完全不同。通常,在研究視覺語言任務的功能設計和預訓練方面缺乏共識。

在為不同的視覺語言任務設計的各種網絡體系結構中,關鍵目标是在視覺和語言領域中有效地聚合多模式資訊。例如,要在VQA任務中選擇正确的答案,網絡應允許從問題和答案中整合語言資訊,并從輸入圖像中聚合視覺資訊,并使語言含義與視覺線索保持一緻。是以,我們尋求獲得可以有效整合和對齊視覺和語言資訊的通用表示形式。

同時,我們看到Transformer注意力機制(Vaswani等,2017)在NLP中的成功應用,以及在BERT中基于MLM的預訓練技術(Devlin等,2018)。注意子產品在聚合和對齊句子中嵌入單詞的功能方面具有強大而靈活的功能,而BERT中的預訓練則進一步增強了該功能。"

受此啟發,我們開發了VL-BERT,這是一種用于視覺語言任務的可預訓練的通用表示形式,如圖1所示。VL-BERT的主幹是(多模式)Transformer注意子產品,以視覺和語言嵌入式功能作為輸入。其中,每個元素要麼是輸入句子中的單詞,要麼是輸入圖像中的關注區域(RoI),以及某些特殊元素以消除不同的輸入格式的歧義。每個元素都可以根據其内容,位置,類别等上定義的相容性來自适應地聚合來自所有其他元素的資訊。單詞/ RoI的内容特征是特定于域的(WordPiece嵌入(Wu等人,2016)作為字詞功能,請使用RoI的Fast R-CNN(Girshick,2015年)功能)。通過堆疊多層多模式Transformer注意子產品,派生的表示在彙總和對齊視覺語言線索方面具有豐富的功能。并且可以在上面為特定的視覺語言任務添加特定于任務的分支。

為了更好地利用通用表示,我們在大型視覺語言語料庫和純文字資料集上都對VL-BERT進行了預訓練。視覺語言語料庫上的預訓練損失是通過預測随機掩蓋的單詞或RoI引起的。這種預訓練增強了VL-BERT彙總和對齊視覺語言線索的能力。雖然純文字語料庫的損失是BERT中标準MLM損失,但可以改善長而複雜的句子的泛化性。

全面的經驗證據表明,所提出的VL-BERT在各種下遊視覺語言任務(例如視覺常識推理,視覺問答和參考表達了解)上均達到了最新水準。特别是,我們在視覺常識推理的排行榜上獲得了單一模型的第一名。

2 RELATED WORK相關工作

Pre-training for Computer Vision計算機視覺的預訓練

在深度網絡時代之前,在不同任務之間共享功能并通過預訓練來改進功能還遠遠不成熟。用于各種計算機視覺任務的模型的設計選擇過于多樣化,無法獲得通用表示。随着ImageNet(Deng等,2009)分類中AlexNet(Krizhevsky等,2012)的成功,我們看到了視覺社群中卷積神經網絡(CNN)的複興。不久之後,研究人員發現ImageNet預先訓練的CNN可以很好地用作各種下遊任務(Donahue等,2014)的通用特征表示,例如對象檢測(Girshick等,2014),語義分割(Long等)。等人,2015年),執行個體細分(Hariharan等人,2014年)。用于ImageNet分類的骨幹網的改進進一步改善了下遊任務。最近,有研究工作在沒有ImageNet預先訓練的情況下從頭開始直接在大規模目标資料集上訓練CNN(He等人,2018)。他們獲得了與ImageNet預教育訓練相當的性能。他們還指出,對适當的海量資料集進行預教育訓練對于提高具有稀疏資料的目标任務的性能至關重要。

Pre-training for Natural Language Processing (NLP) 自然語言處理(NLP)的預訓練

有趣的是,NLP中的預訓練技術的發展遠遠落後于計算機視覺。以前有一些有關改善單詞嵌入的研究(Mikolov等,2013; Pennington等,2014; Kiros等,2015),這是一種低級的語言特征表示。最重要的是,為各種NLP任務設計了許多不同的體系結構。在Transformers的裡程碑式工作中(Vaswani et al。,2017),提出了Transformer注意子產品作為各種NLP任務的通用建構塊。之後,提出了很多主要用于訓練通用表示的方法,主要基于Transformers,例如GPT(Radford等人,2018),BERT(Devlin等人,2018),GPT-2( Radford等人,2019),XLNet(Yang等人,2019),XLM(Lample&Conneau,2019)和RoBERTa(Liu等人,2019)。其中,BERT由于其簡單性和優越的性能可能是最受歡迎的一種。

Pre-training for Visual-Linguistic Tasks視覺語言任務的預訓練

視覺語言任務模型的開發過程也與計算機視覺和NLP社群中的模型非常相似。"以前,任務設計特定的模型,其中将從現成的計算機視覺和NLP模型獲得的功能以特定方式組合用于特定任務。僅針對特定任務在資料集上執行模型訓練。

VideoBERT(Sun等,2019b)是尋求對視覺語言任務進行預訓練的第一部作品。在其中,視訊剪輯由現成的網絡進行處理以進行動作識别,并根據派生的功能配置設定給不同的群集(視覺單詞)。通過預測被掩蓋的視訊剪輯的群集ID,會引起預訓練損失。由于視訊剪輯的突然聚類,它會丢失大量的視覺内容資訊,并會阻礙更新視覺網絡參數。在CBT的以下工作中(Sun et al。,2019a),這種聚類機制被删除。這兩部作品都應用于視訊,視訊在時間次元上具有線性結構,與句子相同。迫切需要研究完善的基于圖像的視覺語言任務。

與我們的工作同時,最近在Arxiv上發行的多部作品也試圖為視覺語言任務衍生出可預訓練的通用表示形式。附錄中的表5進行了比較。我們在這裡簡要讨論其中的一些作品。

在正在審查或剛剛被接受的ViLBERT(Lu等人,2019)和LXMERT(Tan&Bansal,2019)中,網絡架構是分别應用于輸入句子和圖像的兩個單模态網絡,其後是交叉模式變壓器,結合了來自兩個來源的資訊。跨模态Transformer中的注意力模式受到限制,作者認為該模式可以提高性能。ViLBERT的作者聲稱,這種兩流設計比單流統一模型優越。同時,在提出的VL-BERT中,它是基于Transformers的統一體系結構,對注意力模式沒有任何限制。視覺和語言内容作為輸入輸入VL-BERT,在其中它們可以自由地進行早期互動。我們發現,我們的VL-BERT統一模型優于這種兩流設計。

正在開發或正在審查中的VisualBert(Li等人,2019b),B2T2(Alberti等人,2019)和Unicoder-VL(Li等人,2019a)也是統一的單流架構。表5比較了這些作品的差異。這些研究工作的同時發生,表明了為視覺語言任務推導通用的可預訓練的表示形式的重要性。

此外,VL-BERT與其他并行工作之間在預訓練方面存在三個明顯的差別。其效果已在第4.3節中進行了驗證。

(1)我們發現在所有其他并行工作(例如ViLBERT(Lu等人,2019)和LXMERT(Tan&Bansal,2019)中使用的句子-圖像關系預測的任務沒有幫助訓練前的視覺語言表示。是以,此類任務未包含在VL-BERT中。

(2)我們在視覺語言和純文字資料集上對VL-BERT進行了預訓練。我們發現這種聯合預訓練可以改善長而複雜的句子的泛化性。

(3)改進了視覺表示的調整。在VL-BERT中,還将更新派生視覺功能的Fast R-CNN參數。為了避免在使用語言線索進行“掩碼RoI分類”的預訓練任務中出現視覺線索洩漏,對卷入的原始像素(而不是由卷積層生成的特征圖)進行掩碼操作。

3 VL-BERT

3.1 REVISIT BERT MODEL

令x = {x1,…,xN}為BERT中的輸入元素(Devlin 等,2018),這些元素具有編碼句子單詞的嵌入特征。它們由多層雙向變壓器處理(Vaswani 等,2017),其中每個元素的嵌入特征通過自适應地将其他元素的特征聚合在一起的方式逐層轉換權重。令 x l = x 1 l , . . . , x N l x^l = {x^l_1,...,x^l_N} xl=x1l​,...,xNl​為第l層的特征(将 x 0 x^0 x0設定為輸入 x x x)。這第(l +1)層的特征 x l + 1 x^{l + 1} xl+1由下式計算

【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)

等式1中的m是注意頭上的索引,并且 A i , j m ∝ e x p [ ( Q m l + 1 x i l ) T ( K m l + 1 x j l ) ] A^m_{i,j}∝ exp [(Q^{l + 1}_mx^l_i)^T(K^{l + 1}_mx^l_j)] Ai,jm​∝exp[(Qml+1​xil​)T(Kml+1​xjl​)]表示第m個标題中元素I和j之間的注意權重,通過以下方式進行标準化

【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)

W m l + 1 , Q m l + 1 , K m l + 1 和 V m l + 1 W^{l + 1}_m,Q^{l + 1}_m,K^{l + 1}_m和V^{l + 1}_m Wml+1​,Qml+1​,Kml+1​和Vml+1​是第m個注意力頭的可學習權重,

等式3中的 W 1 l + 1 , W 2 l + 1 W^{l + 1}_1,W^{l + 1}_2 W1l+1​,W2l+1​和 b 1 l + 1 b 2 l + 1 b^{l + 1}_1b^{l + 1}_2 b1l+1​b2l+1​

分别是可學習的權重和偏差。請注意,等式中的運算1~4與輸入序列的順序無關,即置換輸入的最終BERT表示與相同置換後原始輸入的最終BERT表示相同。BERT中元素的位置通過序列位置嵌入被編碼在它自己的嵌入特征中。由于這種解耦的表示,BERT模型足夠靈活,可以針對各種NLP任務進行預訓練和微調。在BERT預訓練中,引入了掩蔽語言模組化(MLM)任務。某個輸入單詞的嵌入特征将被随機屏蔽(捕獲單詞内容的标記嵌入通道被一個特殊的[MASK]标記替換)。BERT模型被訓練成從所有其他未掩蔽元素的語言線索中預測被掩蔽的單詞。正如王和周(2019)所解釋的,基于的總體BERT訓練相當于優化以下聯合機率分布

【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)

其中φi(x|θ)是第i個輸入元素的勢函數,具有參數θ,而Z(θ)是分區函數。每個對數勢項logφi(x)定義為

l o g φ i ( x ∣ θ ) = x i T f i ( x   i ∣ θ ) i , ( 6 ) logφ_i(x |θ)= x^T_i f_i(x_{ \ i }|θ)_i,(6) logφi​(x∣θ)=xiT​fi​(x i​∣θ)i​,(6)

其中 f i ( x   i ∣ θ ) i f_i(x_{ \ i }|θ)_i fi​(x i​∣θ)i​表示與輸入的第i個元素 x   i x_{ \ i } x i​相對應的BERT的最終輸出特征,其中 x   i x_{ \ i } x i​定義為 x   i x_{ \ i } x i​= { x 1 , . . . , x i − 1 , [ M A S K ] , x i + 1 , . . . , x N x_1,...,x_{i - 1},[MASK],x_{i + 1},...,x_N x1​,...,xi−1​,[MASK],xi+1​,...,xN​}。基于incurred MLM-based的loss函數為

【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)

其中x是來自訓練集D的随機采樣的句子,而i是用于掩蓋單詞的随機采樣的位置。

第二個預訓練任務,即“下一句預測”,着重于對兩個句子之間的關系進行模組化。從輸入文檔中抽取了兩個句子,并且模型應該預測第二個句子是否是第一個句子的直接後繼。在BERT中,采樣的兩個句子被連接配接成一個輸入序列,在第一個和第二個句子之前分别插入了特殊元素[CLS]和[SEP]。将Sigmoid分類器附加到與[CLS]元素相對應的最終輸出特征上以進行預測。令x為輸入序列,t ∈{0,1}表示兩個句子之間的關系。 損失函數定義為

【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)

其中 x 0 L x^L_0 x0L​是[CLS]元素(在第L層)的最終輸出特征, g ( x 0 L ) g(x^L_0) g(x0L​)是分類器輸出。

3.2 MODEL ARCHITECTURE模型架構

【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)

圖1說明了VL-BERT的體系結構。基本上,它通過添加新元素以容納視覺内容并在輸入特征嵌入中嵌入新型視覺特征來修改原始BERT(Devlin等人,2018)模型。與BERT相似,骨幹網是多層雙向變壓器編碼器(Vaswani等人,2017),可以在所有輸入元素之間進行依賴關系模組化。VL-BERT與僅處理BERT的句子單詞不同,VL-BERT既将視覺元素也将語言元素作為輸入,這些元素分别具有圖像中感興趣區域(RoI)和來自輸入句子的子單詞上定義的特征。RoI可以是對象檢測器産生的邊界框,也可以是在某些任務中帶注釋的RoI。

值得注意的是,不同的視覺語言任務的輸入格式也有所不同(例如,用于圖像字幕的<Caption,Image>和用于VQA的<Question,Answer,Image>(Antol等人,2015; Johnson等人) (2017年; Goyal等人,2017年; Hudson&Manning,2019年)和VCR(Zellers等人,2019年; Gao等人,2019年))。但是,得益于Transformer注意的無序表示性質(例如, 句子中單詞的位置僅通過位置嵌入(輸入順序中的順序除外)進行編碼,)隻要正确設計了輸入元素和嵌入特征,就可以派生通用表示形式。涉及三種類型的輸入元素,即虛拟,語言和特殊元素,用于消除不同的輸入格式的歧義。輸入序列始終以特殊的分類元素([CLS])開頭,然後以語言元素繼續,接着是視覺元素,最後以特殊的結束元素([END])結尾。在語言元素的不同句子之間以及在語言和視覺元素之間插入一個特殊的分隔元素([SEP])。對于每個輸入元素,其嵌入特征是四種嵌入類型的總和,即令牌嵌入,視覺特征嵌入,分段嵌入和序列位置嵌入。其中,視覺特征嵌入是新引入的,用于捕獲視覺線索,而其他三個嵌入遵循原始BERT論文中的設計。

Token Embedding

遵循BERT的實踐,語言單詞嵌入了單詞片段嵌入(Wu等人,2016),詞彙量為30,000。特殊Token配置設定給每個特殊元素。對于視覺元素,将為每個視覺元素配置設定一個特殊的[IMG]Token。

Visual Feature Embedding

視覺特征嵌入我們首先分别描述視覺外觀特征和視覺幾何形狀嵌入,然後如何組合它們以形成視覺特征嵌入。

對于與RoI對應的視覺元素,通過應用Fast R-CNN(Girshick,2015)檢測器(即Faster R-CNN中的檢測分支(Ren等人,2015))提取視覺外觀特征。 ,其中将每個RoI的輸出層之前的特征向量用作視覺特征嵌入(紙上為2048-d)。對于非視覺元素,相應的視覺外觀特征是在整個輸入圖像上提取的特征。它們是通過在覆寫整個輸入圖像的RoI上應用Faster R-CNN獲得的。

視覺幾何嵌入旨在告知VL-BERT圖像中每個輸入視覺元素的幾何位置。每個RoI的特征是一個4-d向量,如 ( x L T / W , y L T / H , x R B / W , h R B / H ) (xLT/W,yLT/H,xRB/W,hRB/H) (xLT/W,yLT/H,xRB/W,hRB/H),其中 ( x L T , y L T ) 和 ( x R B , y R B ) (xLT,yLT)和(xRB,yRB) (xLT,yLT)和(xRB,yRB)分别表示左上角和右下角的坐标,W,H是輸入圖像的寬度和高度。遵循關系網絡(Hu 等,2018)中的實踐,通過計算不同波長的正弦和餘弦函數,将4-d向量嵌入到高維表示中(紙上為2048-d)。

視覺特征嵌入附加到每個輸入元素,這是完全連接配接層的輸出,将視覺外觀特征和視覺幾何嵌入的串聯作為輸入。

Segment Embedding

段嵌入定義了三種類型的段A,B,C,以将來自不同來源的輸入元素分開,分别是A和B分别代表來自第一和第二個輸入句子的單詞,C代表來自輸入項的RoI圖像。"例如,對于<Question,Answer,Image>的輸入格式,A表示問題,B表示答案,C表示圖像。對于輸入格式<Caption,Image>的A表示字幕,C表示Image。将學習的段嵌入添加到每個輸入元素,以訓示其屬于哪個段。

Sequence Position Embedding

序列位置嵌入将可學習的序列位置嵌入添加到每個輸入元素,以訓示其在輸入序列中的順序,與BERT相同。由于輸入視覺元素之間沒有自然順序,是以它們在輸入序列中的任何排列都應獲得相同的結果。是以,所有視覺元素的序列位置嵌入都是相同的。

3.3 PRE-TRAINING VL-BERT預訓練VL-BERT

VL-BERT的通用功能表示使我們能夠通過适當設計的預訓練任務在大規模資料集上對其進行預訓練。 我們在視覺語言和純文字資料集上對VL-BERT進行了預訓練。在這裡,我們利用概念字幕資料集(Sharma等,2018)作為視覺語言的語料庫。它包含約330萬張帶标題注釋的圖像,這些圖像是從Web資料中收集并通過自動管道處理的。概念字幕資料集的問題在于,字幕主要是簡單的子句,對于許多下遊任務而言,它們又太短又太簡單。為了避免在這種簡短的文本情況下過度拟合,我們還對帶有長而複雜的句子的純文字語料庫進行了VL-BERT的預訓練。我們利用BooksCorpus(Zhu等,2015)和English Wikipedia資料集,這些資料集也用于BERT的預教育訓練中。

在SGD教育訓練中,在每個小批量中,都是從Conceptual Captions和BooksCorpus&English Wikipedia中以1:1的比例随機抽取樣本。對于從“概念字幕”中提取的樣本,VL-BERT的輸入格式為<Caption,Image>,其中圖像中的RoI由預先訓練的Faster R-CNN對象檢測器進行定位和分類。利用了兩個預訓練任務來招緻損失,如下所述。

任務1:使用可視線索進行掩蔽語言模組化此任務與BERT中使用的掩蔽語言模組化(MLM)任務非常相似。關鍵差別在于VL-BERT中包含了視覺線索,用于捕獲視覺和語言内容之間的依存關系。在預訓練期間,将随機屏蔽輸入句子中的每個單詞(機率為15%)。對于被屏蔽的單詞,其Token被替換為[MASK]的特殊Token。訓練模型以基于未掩蓋的單詞和視覺特征預測被掩蓋的單詞。 該任務驅動網絡不僅對句子中的依存關系進行模組化,而且使視覺和語言内容保持一緻。例如,在圖1“從[模闆]喝水的小貓”中,沒有輸入圖像,被屏蔽的單詞可以是任何容器,例如“碗”,“勺子”和“瓶”。該表示應捕獲圖像中“瓶子”一詞與相應RoI的對應關系,以做出正确的猜測。在預訓練期間,由Softmax交叉熵損失驅動,與被屏蔽單詞相對應的最終輸出特征将被饋送到整個詞彙表的分類器中。

任務2:使用語言線索進行掩蓋的RoI分類 這是任務1的雙重任務。圖像中的每個RoI都會被随機掩蓋(機率為15%),預訓練任務是根據其他線索預測被掩蓋的RoI的類别标簽。為了避免其他元素的視覺特征嵌入帶來的任何視覺線索洩漏,在應用Fast R-CNN之前,将放置在掩碼RoI中的像素設定為零。在預訓練期間,對應于被掩蓋的RoI的最終輸出特征将被饋入具有Softmax交叉熵損失的分類器中,以進行對象類别分類。通過預先訓練的Faster R-CNN預測的類别标簽被設定為真實情況。一個示例如圖1所示。圖像中與貓對應的RoI被掩蓋,并且無法從任何視覺線索預測相應的類别。但是,通過輸入“從瓶中喝水的小貓”的标題,該模型可以利用語言線索來推斷類别。

對于從BooksCorpus和English Wikipedia資料集中抽取的樣本,VL-BERT的輸入格式會退化為<Text,∅>,其中不涉及任何視覺資訊。圖1中的“視覺特征嵌入”一詞是所有單詞共享的可學習的嵌入。教育訓練損失來自BERT中的屏蔽語言模組化(MLM)标準任務。

總之,視覺語言語料庫的預訓練可以改善視覺和語言内容之間的詳細對齊。這種詳細的對齊對于許多下遊任務至關重要(例如,在Visual Grounding中(Kazemzadeh等人,2014年),該模型基于自然語言查詢來定位圖像中最相關的對象或區域。雖然僅文本語料庫的預教育訓練可以促進涉及了解長而複雜的句子的下遊任務。

3.4 FINE-TUNING VL-BERT微調

VL-BERT被設計為用于各種視覺語言任務的通用特征表示。對各種下遊任務微調VL-BERT相對簡單。我們隻需要為VL-BERT提供正确格式的輸入和輸出,并端到端微調所有網絡參數。對于輸入,<Caption, Image>和<Question, Answer, Image>的典型格式涵蓋了大多數視覺語言任務。隻要引入适當的段嵌入來識别不同的輸入源,VL-BERT還支援更多的句子和更多的圖像。通常,在輸出處,[CLS]元素的最終輸出特征用于句子圖像關系級别的預測。單詞或RoI的最終輸出功能是用于單詞級别或RoI級别的預測。除了輸入和輸出格式外,還需要調整特定于任務的損失功能和教育訓練政策。有關詳細的設計選擇和設定,請參見第4.2節。

4 EXPERIMENT實驗

4.1 PRE-TRAINING預訓練

如第3.3節所述,我們在概念字幕(Sharma等,2018)上對VL-BERT進行了預教育訓練,作為視覺語言的語料庫,在BooksCorpus(Zhu等。,2015)和英語Wikipedia上對純文字的語料庫進行了預教育訓練。由于VL-BERT是通過向原始BERT模型添加可捕獲視覺資訊的新輸入而開發的,是以我們将參數初始化為與(Devlin等人,2018)中所述的原始BERT相同。VL-BERTBASE和VL-BERTLARGE分别表示從原始BERTBASE和BERTLARGE模型開發的模型。VL-BERT中新添加的參數是根據平均值為0,标準偏差為0.02的高斯分布随機初始化的。視覺内容嵌入是由Faster R-CNN + ResNet-101産生的,它是根據在視覺基因組上預先訓練的用于對象檢測的參數初始化的(Krishna等人,2017)(請參閱BUTD(Anderson等人,2018))。

在對概念字幕進行預訓練之前,将預訓練的Faster R-CNN用于提取RoI。具體來說,每個圖像最多選擇100個RoI,檢測分數高于0.5。至少從一個圖像中選擇10個RoI,而不管檢測分數門檻值如何。詳細的參數設定在附錄中。

4.2 FINE-TUNING ON DOWNSTREAM TASKS對下遊任務進行微調

預訓練的VL-BERT模型可以針對各種下遊視覺語言任務進行微調,隻需對輸入格式,輸出預測,損失函數和訓練政策進行簡單的修改即可。

4.2.1 VISUAL COMMONSENSE REASONING (VCR)視覺常識推理

視覺常識推理(VCR)側重于對給定圖像的高階認知和常識了解。在Zellers等人(2019)的資料集中,給定一幅圖像和一個分類的感興趣區域清單,提出了一個認知層面的問題。模型應該選擇問題的正确答案,并提供基本原了解釋。每個問題有4個候選答案和4個候選理由。這個整體任務(Q→AR)被分解成兩個子任務,研究者可以在其中訓練特定的個體模型:問題回答(Q→A)和回答理由(QA → R)。

發行的VCR資料集包含265k對問題,答案和基本原理,以及超過100k獨特的電影場景(100k圖像)。它們分為訓練集,驗證集和測試集,分别由213k個問題和80k個圖像,27k個問題和10k個圖像以及25k個問題和10k個圖像組成。

【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)

我們的VCR實驗協定遵循R2C中的協定(Zellers等,2019)。該模型在分割訓練集和測試集進行訓練,并在驗證集和測試集進行評估。在原始R2C中,設計了特定于任務的“基礎”,“情境化”和“推理”子產品。在這裡,我們僅采用VL-BERT的通用表示形式來完成任務。 圖2(a)說明了輸入格式,<Question, Answer, Image>。對于Q→A的子任務,在“問題”部分和“答案”部分分别填寫“ Q”和“ A”。 對于QA→R的子任務,“ Q”和“ A”的串聯被填充到“問題”部分,而“ R”被填充到“答案”部分。VL-BERT的輸入RoI是資料集中的真實注釋。[CLS]元素的最終輸出特征被饋送到Softmax分類器,以預測給定的Answer是否是正确的選擇。在微調過程中,我們采用了兩種損失:答案正确性的分類和具有語言線索的RoI分類。 詳細的參數設定在附錄中。

【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)

表1給出了實驗結果。預訓練VL-BERT在最終Q→AR任務中将性能提高了1.0%,進而驗證了預訓練的有效性。 與R2C相比,我們不使用特定于任務的臨時子產品。 相反,我們僅采用VL-BERT的通用表示形式,并端到端共同訓練整個模型。盡管輸入,輸出和實驗協定與R2C相同,但VL-BERT仍以較大的幅度優于R2C,這表明我們簡單的交叉模式體系結構的強大功能。與其他并發作品(例如ViLBERT,VisualBERT和B2T2)相比,我們的VL-BERT達到了最先進的性能。

4.2.2 視覺問答(VQA)

在VQA任務中,給定自然圖像,會在感覺級别上提出問題,并且算法應生成/選擇正确的答案。在這裡,我們對廣泛使用的VQA v2.0資料集(Goyal等人,2017)進行實驗,該資料集是基于COCO(Lin等人,2014)圖像建構的。VQA v2.0資料集分為訓練(83k圖像和444k問題),驗證(41k圖像和

214k個問題),并測試(81k張圖像和448k個問題)集。遵循BUTD中的實驗協定(Anderson等,2018),對于每個問題,算法應從包含3129個答案的共享集中選擇相應的答案。"

圖2(b)說明了VQA任務的輸入格式,該格式為<Question, Answer, Image>。由于可能的答案來自與問題無關的共享池,是以我們僅在[答案]部分中填充[MASK]元素。就像在BUTD中一樣(Anderson等人,2018),VL-BERT中的輸入RoIs是由在視覺基因組上預先訓練的Faster R-CNN檢測器生成的(Krishna等人,2017)。答案預測是基于[MASK]元素的輸出特征從多分類器進行的。在微調期間,網絡訓練是由可能的答案上的多類交叉熵損失驅動的。 詳細的參數設定在附錄中。

【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)

表2給出了我們的實驗結果。 預訓練VL-BERT将性能提高了1.6%,這印證了預訓練的重要性。VL-BERT與BUTD共享相同的輸入(即問題,圖像和RoI),輸出和實驗協定,BUTD是專門為該任務設計的流行模型。但是,VL-BERT的準确性仍超過BUTD 5%。除了LXMERT,我們的VL-BERT的性能要優于其他并行工作。這是因為LXMERT已針對大量的視覺問題回答資料進行了預訓練(幾乎彙總了基于COCO和Visual Genome的所有VQA資料集)。盡管我們的模型僅在字幕和純文字資料集上進行了預訓練,但與VQA任務之間仍然存在差距。

4.2.3 REFERRING EXPRESSION COMPREHENSION引用表達式了解

引用表達式了解是指圖像中的對象的自然語言短語。參照表達了解任務是使用給定的參照表達來定位圖像中的對象。我們采用RefCOCO +(Kazemzadeh等人,2014)資料集進行評估,該資料集包含COCO資料集中20k圖像中50k參照對象的141k表達式(Lin等人,2014)。禁止在RefCOCO +中使用引用表達式,例如使用絕對位置詞。左狗。是以,引用表達集中在純粹基于外觀的描述上。RefCOCO +分為四組,訓練組(train),驗證組(val)和兩個測試組(testA和testB)。包含多個人物的圖像位于testA集合中,而包含其他類别的多個對象的圖像位于testB集合中。訓練,驗證和測試圖像之間沒有重疊。

**圖2(c)**說明了用于引用表達式了解的輸入格式,其中輸入格式為<Query,Image>。模型訓練和評估可以在真實的RoIs上或在MAttNet的檢測框上進行(Yu 等,2018)。結果分别報告在地面真實區域或檢測區域的軌迹中。在訓練期間,我們計算所有輸入RoI的分類分數。 對于每個RoI,都會應用二進制分類損失。在推論過程中,我們直接選擇分類得分最高的RoI作為輸入參照表達的參照對象。 詳細的參數設定在附錄中。

【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)

表3給出了我們的實驗結果。預訓練的VL-BERT可顯着提高性能。與MAttNet相比,VL-BERT在沒有特定任務的體系結構設計的情況下要簡單得多,但要好得多。VL-BERT與ViLBERT的并發工作可實作可比的性能。

4.3 ABLATION STUDY消融實驗

【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)

表4列出了VL-BERT預教育訓練中的關鍵設計選擇。為了提高實驗效率,僅使用VL-BERTBASE模型時,VL-BERT的微調周期是4.2節中的0.5倍。

總體而言,VL-BERT的預訓練可提高所有三個下遊任務的性能(通過比較設定“ w / o pre-training”和VL-BERTBASE)。改進幅度因不同任務而異。通過将設定(a)與“不帶預訓練”的設定進行比較,我們看到了任務1(使用可視線索進行掩蓋語言模組化)的好處。 通過将任務#2(帶有語言線索的掩碼RoI分類)進一步合并,在RefCOCO +上的準确性進一步提高,但陷入了VCR和VQA的困境。這可能是因為僅RefCOCO +将與[IMG]Token相對應的最終輸出功能用于預測。是以,這些特征的預訓練是有益的。設定(c)包含了句子-圖像關系預測的任務,如ViLBERT(Lu等人,2019)和LXMERT(Tan&Bansal,2019)一樣。 這将損害所有三個下遊任務的準确性。我們猜測原因是因為句子-圖像關系預測的任務将引入不比對的圖像和字幕對作為否定示例。這種無與倫比的樣本會妨礙其他任務的訓練。 設定(d)在預訓練期間添加純文字語料庫。與設定(b)相比,它提高了所有三個下遊任務的性能,并且對VCR最為重要。這是因為與VQA和RefCOCO + 2中的VCR相比,VCR的任務涉及更複雜,更長的句子。通過進一步微調可生成視覺特征的Fast R-CNN的網絡參數,我們獲得了VL-BERTBASE的最終設定。整個網絡的這種端到端教育訓練對于所有下遊任務都是有幫助的。

5 CONCLUSION結論

在本文中,我們開發了VL-BERT,這是一種用于視覺語言任務的新的可預訓練的通用表示形式。VL-BERT并未使用臨時的任務特定子產品,而是采用了簡單但功能強大的Transformer模型作為主幹。它在大規模的概念字幕資料集以及純文字語料庫上進行了預訓練。大量的經驗分析表明,預訓練程式可以更好地調整視覺語言線索,進而有利于下遊任務。将來,我們希望尋求更好的預訓練任務,這些任務可能會使更多的下遊任務受益(例如,圖檔說明生成)。

A. APPENDIX附錄

A.1 COMPARISON AMONG VL-BERT AND OTHER WORKS(VL-BERT與其他作品的比較)

【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)

中文版

【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)

表5比較了VL-BERT和其他并行工作,以進行預訓練的通用視覺語言表示。

A.2 詳細的實驗設定

SGD在16個Tesla V100 GPU上進行了25萬次疊代的預訓練。在每個小批量中,抽取256個樣本。其中128個樣本來自Conceptual Captions的<Caption,Image>對,其餘128個樣本來自BooksCorpus和English Wikipedia的順序标記(每個序列最多64個标記)。在SGD中,應用了Adam優化器(Kingma和Ba,2014年),以及基本學習速率為 2 × 1 0 − 5 2×10^{-5} 2×10−5,β1= 0.9,β2= 0.999,權重衰減為 1 0 − 4 10^{-4} 10−4,學習速率在前8,000個步驟中逐漸升溫,并且學習速率呈線性下降。 VL-BERT中的所有參數和Fast R-CNN在預訓練和微調階段都接受了聯合訓練。文本語料庫的視覺特征輸入是所有單詞共享的可學習的嵌入。在具有語言線索的掩碼RoI分類任務中,所有掩碼RoI中的像素均在圖像中設定為零。添加覆寫整個圖像的框作為RoI,并且不會被遮罩

對于VCR,在16個Tesla V100 GPU上進行微調20個紀元。在每個小批量中,采樣了256個三元組的<Question, Answer, Image>。在SGD中,進行了基本的小批量梯度下降,基本學習率為 5 × 1 0 − 3 5×10^{-3} 5×10−3,動量為0.9,重量衰減為 1 0 − 4 10^{-4} 10−4.學習速率從最初的學習速率開始的前1,000個步驟中線性地預熱

0,并在第14和18個時代衰減0.1。

對于VQA,在16個Tesla V100 GPU上進行微調20個紀元。在每個小批量中,采樣了256個三元組的<Question, Answer, Image>。在SGD中,應用了Adam優化器,其基本學習率為 1 × 1 0 − 4 1×10^{-4} 1×10−4,β1= 0.9,β2= 0.999,權重衰減為 1 0 − 4 10^{-4} 10−4,學習率升高,在最初的2,000步中上升,學習率呈線性下降。

對于RefCOCO +,在16個Tesla V100 GPU上進行微調20個紀元。在每個小批量中,采樣256對<Query, Image>。在SGD中,應用了Adam優化器,其基本學習率為 1 × 1 0 − 4 1×10^{-4} 1×10−4,β1= 0.9,β2= 0.999,權重衰減為 1 0 − 4 10^{-4} 10−4,學習率上升,在最初的500個步驟中,學習率呈線性下降。

【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)【預訓練視覺-語言模型文獻閱讀】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)

圖3:在預先訓練的VL-BERTBASE中可視化注意力圖。 線強度表示以文本令牌為查詢,圖像RoI為鍵的注意力機率大小。對強度進行仿射縮放,以在每個圖層的不同列印頭上将最大值設定為1,将最小值設定為0。網絡層和關注頭的索引從0開始計數。

A.3 VL-BERT中可視化注意貼圖

為了更好地了解VL-BERT從預訓練中學到的知識,我們使用BertViz3可視化了預訓練的VL-BERT的注意力圖(無需對下遊任務進行微調)(Vig,2019)。

圖3顯示了在COCO(Lin等人,2014; Chen等人,2015)val2017集上的一些可視化結果。我們可以看到各個關注頭的關注模式不同。對于某些注意事項,文本令牌在關聯圖像RoI上的參與更多。在其他情況下,文本令牌統一參與所有RoI。它展示了VL-BERT聚合和對齊視覺語言内容的能力。

繼續閱讀