close


關注公眾號,發現CV技術之美





1

寫在前面

大規模圖像-文本對的視覺語言預訓練(VLP)在跨模態表徵的學習方面取得了快速的進展。現有的預訓練方法要麼直接將特徵級的圖像表示和文本表示連接起來作為single-stream Transformer的輸入,要麼使用two-stream Transformer將圖像-文本表示在高級語義空間對齊。

在真實的圖像-文本數據中,一部分圖像-文本對很容易在兩種模態上對齊語義,而另一部分圖像-文本對需要進行更高級語義上的對齊。因此,在本文中,作者提出了一種新的預訓練方法SemVLP,它將圖像和文本表示之間的低層和高層語義聯合起來。
該模型採用兩種方式進行迭代預訓練:通過使用帶有可插可拔的跨模態注意模塊 的共享Transformer網絡(去掉跨模態注意模塊為single-stream Transformer;插上跨模態注意模塊為two-stream Transformer),single-stream預訓練用於對齊低級語義,two-stream Transformer預訓練用於對齊高級語義。
作者在四個的視覺語言理解任務上進行了大量實驗,證明了SemVLP在跨模態表示與不同語義粒度對齊方面的有效性。

2

論文和代碼地址


SemVLP: Vision-Language Pre-training by Aligning Semantics at Multiple Levels
論文:https://arxiv.org/pdf/2103.07829v1.pdf代碼:未開源

3

Motivation

受各種NLP任務中預訓練語言模型的成功啟發,最近關於視覺語言預訓練(VLP)的研究證明了能夠通過利用大規模圖像-文本對學習不同模態之間的語義對齊,而在各種下游視覺和語言(V+L)任務上實現SOTA性能。

現有的VLP模型基本上遵循多層Transformer,並使用自注意機制學習大規模跨模態數據上的語義對齊。就跨模態對齊的粒度而言,有兩種不同的模型結構來對齊跨模態表示。
單流(single-stream)Transformer架構假設兩種模態背後的底層語義簡單明了,因此簡單地將低層語義空間中的圖像區域特徵和文本特徵連接起來,以便以直接的方式進行融合 。
雙流(two-stream)Transformer架構首先使用單模態Transformer分別學習圖像和句子表示的高級抽象,然後將兩種模態與跨模態Transformer結合起來 。
不同模態之間的語義差異一直被視為跨模態研究中最重要的問題之一。在真實的圖像-文本數據中,作者觀察到,一些圖像-文本對很容易在兩種模態上對齊簡單語義,而其他圖像-文本對可能需要在更高級別的抽象後對齊。
如上圖所示,T1的標題更側重於具有粗略語義的圖像概述,而T2的標題則更側重於關於圖片細節的描述。對於相同圖像的不同標題,語義粒度跨越不同的級別,在多個層次上對齊語義能夠更加深入的理解現實世界的圖文數據。

在本文中,作者提出了一種VLP預訓練結構SemVLP,它在多個語義層次上聯合對齊圖像和文本表示。具體而言,與單流和雙流Transformer架構不同,作者使用共享Transformer網絡和可插拔的跨模態注意模塊,用於低級和高級語義對齊,如上圖所示。

對於低層語義對齊,可以直接將連接的圖像區域特徵和文本特徵,輸入到共享Transformer網絡進行單流預訓練。對於高級語義對齊,作者引入了一種新的雙流Transformer網絡,通過使用共享Transformer分別編碼圖像和文本部分來提取抽象的語義,並在跨模態交互注意模塊進行多模態信息的融合。
預訓練過程以迭代的方式進行,以在兩個語義級別上對齊圖像文本數據。在迭代預訓練階段,共享Transformer網絡被迫在多個層次上對齊語義,這使得訓練後的模型能夠適應不同的圖像-文本對。通過這種方式,作者能夠同時利用單流結構和雙流結構進行跨模態融合,以允許不同的預訓練風格相互調節。

4

方法

4.1. 模型結構

SemVLP的結構如上圖所示,作者提出了一個共享的雙向Transformer編碼器,其中可插拔的跨模態注意模塊用於在多個層次上進行對齊語義 。通過共享模型參數,SemVLP可以靈活地在單流和雙流預訓練結構之間切換,使得輸入文本和圖像以不同的語義級別編碼。

通過這種方式,作者將兩種典型的預訓練結構轉換為一種更緊湊的結構,使之能夠適用於低層和高層語義對齊。為了更好地理解現實世界中的圖像-文本對,作者迭代地對這兩種設置進行預訓練。
4.1.1. Input Embeddings

SemVLP模型的輸入是圖像及其相關句子。每個圖像表示為對象序列,每個句子表示為單詞序列。經過多個語義層次的跨模態融合和對齊,SemVLP模型能夠從圖像文本輸入中生成語言表示、圖像表示和跨模態表示。

Sentence Embeddings

本文採用與BERT相同的方法,該方法使用WordPiece tokenizer將輸入句子轉換為子詞token。輸入標記的表示為,其中和是BERT中的特殊token。通過結合原始單詞嵌入、段嵌入和位置嵌入,生成每個token的最終嵌入。

Image Embeddings

作者使用預訓練的目標檢測器Faster R-CNN從圖像中提取對象級圖像特徵,其中每個對象表示為2048維特徵向量。為了捕獲對象的空間信息,作者還通過一個4維向量對每個對象的位置特徵進行編碼,其中和表示左下角和右上角的坐標,而W和H表示輸入圖像的寬度和高度。

然後,作者將和concat起來形成位置敏感的對象特徵向量,並利用線性投影將其進一步變換為,以確保其具有與單詞嵌入相同的向量維數。與句子嵌入中的token相似,作者還添加了一個token來表示整個圖像的表示,並將其添加到對象序列的開頭。
4.2. 共享Transformer編碼器

考慮到句子嵌入和圖像區域嵌入,作者使用一個帶有可插拔跨模態注意模塊的Transformer編碼器來更好地學習多語義層次的跨模態表示。完整的編碼器是一個帶有L個塊的模型,其中第個塊由一個自注意模塊、一個非線性函數和一個可插拔的交叉模式注意模塊組成,其中上標表示層id。

4.2.1. 低層語義對齊

為了對齊底層語義,作者直接將圖像和文本嵌入特徵concat起來作為SemVLP的單流模式的輸入,該模式由共享自注意模塊和非線性FFN層組成。首先初始化,編碼過程可表述如下:

其中和分別是第層的文本和對象表示。這樣,就可以在一個低層次的嵌入空間中獲得圖像和文本表示之間的充分交互。最終,就得到了和,即SemVLP編碼器最後一層的所有對象輸出和文本輸出的表示。
4.2.2. 高級語義對齊

對於高層語義對齊,作者採用SemVLP的雙流模式,其中文本和圖像對象首先分別編碼,然後在高層語義空間融合。它由共享自注意模塊、跨模態注意模塊和非線性FFN層組成。

為了能夠使用SemVLP模型分別對文本和圖像表示進行編碼,作者採用了雙編碼器架構,將文本編碼器和圖像編碼器的自我注意模塊和FFN層的所有參數綁定在一起,其中,跨模態注意模塊用於進一步融合跨模態表示。
與以前的Transformer編碼器-解碼器架構不同(以前的結構將交叉注意模塊引入到解碼器的所有塊中),本文只在上面部分的塊中引入交叉模態注意模塊,以便更好地融合高層語義空間中的交叉模態表示。具體來說,首先初始化和。雙流模式的編碼流程可以表示如下:
其中表示引入跨模態注意的層索引。最後,就可以得到圖像對象和文本的輸出表示,和。使用和,我們可以使用一個帶有softmax層的簡單網絡來執行後續的預訓練任務。
4.3. 聯合訓練4.3.1. 預訓練任務Masked LM Prediction

任務設置與BERT中的基本相同,作者隨機mask文本中15%的token,並要求模型使用輸出文本表示預測這些mask詞。對於不同的預訓練模式,要麼藉助視覺通道預測mask詞以解決歧義(單流模式),要麼僅從文本通道預測mask詞以增加任務難度(雙流模式)。

Masked Object Prediction

類似地,作者通過隨機掩蔽對象對視覺模態進行預訓練,即用零掩蔽對象特徵(object features are masked with zeros)。作者隨機mask 15%的圖像對象,並要求模型使用輸出對象表示預測這些mask對象的屬性。為了獲取更多的對象級語義,作者遵循LXMERT中的對象預測任務,並執行兩個子任務:ROI特徵回歸 和檢測標籤分類 。

Image-Text Matching (ITM)

該任務設置與LXMERT中的任務設置幾乎相同,即隨機抽取50%不匹配的圖像-文本對和50%匹配的圖像-文本對,並訓練分類器預測圖像和句子在表示(單流模式)和(雙流模式)上是否相互匹配。不同之處是,在對不匹配的圖像-文本對進行採樣時,作者沒有強制執行MLM預測和對象預測的損失。

Image Question Answering (QA)

作者還將圖像問答任務視為分類問題,並使用LXMERT中的圖像QA數據對模型進行預訓練,從而獲得更好的跨模態表示。對於單流模式,作者在表示的基礎上構建分類器,對於雙流模式,作者在表示的基礎上構建分類器。

4.3.2. 預訓練策略

對於低水平和高水平的語義對齊,SemVLP通過多個預訓練任務進行預訓練,並將所有這些任務損失以相等的權重相加。為了在多個級別上聯合對齊語義,給定一個mini-batch的圖像-文本對,50%的時間使用低級語義對齊更新模型,而50%的時間使用高級語義對齊更新模型。

這樣,對於SemVLP的每一次更新,模型都在多個語義層次上進行預訓練,以便更好地對不同的圖像文本數據進行建模。

5

實驗

5.1. 下游任務的性能

上表展示了在不同下游任務上,本文方法和其他預訓練模型的對比。

5.2. 不同語義水平的預訓練Analysis on Various Pre-training Architectures

上表展示了本文方法使用不同語義級別信息進行訓練的結果,可以看出,同時進行高級和低級預訓的信息能夠達到更好的結果。
Analysis on Different High-level Semantic Alignments

上表展示了在不同層引入高級語義對齊模塊的結果,可以看出在第六層引入時候的結果較好。

6

總結

在本文中,作者提出了一種新的預訓練方法SemVLP來學習視覺和語言的聯合表示。與現有依賴固定級別語義對齊的VLP方法不同,作者通過以不同方式組裝共享Transformer編碼器和可插拔的跨模態注意模塊,在多個級別上對齊跨模式語義。

在各種下游V+L任務上的實驗結果,證明了本文的方法對於理解真實世界圖像文本數據背後的不同語義的有效性。
這篇文章的重點在於建立了一個可插拔的跨模態注意力模塊,從而使得能夠在不同級別的語義上進行信息的對齊。並且在訓練的時候,用50%的時間用於訓練高級語義,50%用於訓練低級語義。
但是高級語義信息和低級語義信息在不同的數據、不同的任務中真的是同等重要的嗎?會不會基於數據自適應的去判斷這個用哪個分支訓練能夠獲得更好的性能和可解釋性?

▊作者簡介

研究領域:FightingCV公眾號運營者,研究方向為多模態內容理解,專注於解決視覺模態和語言模態相結合的任務,促進Vision-Language模型的實地應用。

知乎/公眾號:FightingCV

END



歡迎加入「Transformer」交流群👇備註:TFM



arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()