Fudan DISC推出跨視覺語言模態預訓練模型MVPTR
復旦大學數據智能與社會計算實驗室
復旦大學數據智能與社會計算實驗室(Fudan DISC)推出大規??缫曈X語言模態預訓練模型:MVPTR。
本文介紹了 Fudan DISC 實驗室提出的一種基于多層次語義對齊的多階段視覺 - 語言預訓練模型 MVPTR,MVPTR 是一個多階段的視覺 - 語言表征模型和預訓練方法,通過顯式地學習表示不同層級的,來自圖片和文本信息的語義,并且在不同的階段對齊不同層次的語義,在大規模圖片 - 文本對語料庫上預訓練的 MVPTR 模型在下游視覺 - 語言任務上取得了明顯的進展,包括圖片 - 文本檢索、視覺語言問答、視覺推斷、短語指代表示。
- 論文鏈接:https://arxiv.org/abs/2201.12596;
- 代碼鏈接:https://github.com/Junction4Nako/mvp_pytorch.
論文動機
視覺和語言是人類智能的兩大重要體現,為了能協同處理來自視覺和文本的信息,近年來關于視覺 - 語言的多模態研究專注于從不同的任務出發去對齊視覺和語言的語義學習,比如圖片文本檢索、視覺語言問答(VQA)、短語表示指代等等。為了能打破任務間的壁壘,學習到泛化的多模態表示,研究者嘗試去構建了視覺 - 語言的預訓練模型(如 VL-BERT、UNITER、OSCAR 等),它們在大規模的圖片 - 文本對上進行自監督的預訓練后能在下游任務上通過微調取得不錯的性能。
目前的視覺語言預訓練模型大多沿襲了 BERT 中的序列建模方法,從圖片中通過物體檢測器 / CNN / 視覺 Transformer 抽取物體級別 / grid 級別 / patch 級別的特征拼接為視覺序列,將其與分詞后的文本序列拼接成一個序列,通過多層 Transformer 學習模態內和跨模態的交互,這樣的方式比較直接,但研究者認為其背后卻少了對于跨模態信息間多層語義粒度對齊的探索。
該研究在這里給出了一個圖片 - 文本對的例子來說明圖片 - 文本間的語義匹配情況。首先模態內的語義存在著層次嵌套結構,整個圖片可以由很多的子圖組成,每個子圖里可能有多個物體存在;對于一個句子,可以被分詞成很多的 token,多個 token 可以組成短語。同時各個層次間的語義對齊是互相幫助的,image tagging 將 token 對應到圖片及圖片中的物體,可以進一步幫助包含這個詞的短語匹配到圖片中的區域,完成 phrase grounding 的任務。基于物體和 token 的匹配、短語和圖片區域的匹配信息,可以進一步推斷出圖片 - 句子間的相似度,完成 image-text retrieval 的任務。
所以為了能協同利用起多個層次的語義對齊,來自 Fudan DISC 實驗室的研究者提出了 MVPTR:a Multi-stage Vision-language Pre-training framework。MVPTR 首先從文本和圖片中分別構建了兩個層次的語義:對于圖片,該研究使用物體檢測器抽取區域的特征,并且用預測出的物體類別作為物體級別的語義概念;對于文本,除了分詞后的 token,該研究使用文本場景圖解析器從中提取出場景圖的結構化元組,作為短語級的語義概念。同時 MVPTR 的模型分成了兩個階段:單模態學習和跨模態學習階段。在單模態階段,模型學習模態內的交互,得到各個模態的多層語義的表示;在跨模態階段,模型學習模態間的交互,并進行細粒度的推理。對于 MVPTR 的預訓練,該研究設計在不同階段設計了不同的自監督任務,來進行多層次的語義對齊。在單模態的視覺端,研究者引入了 MCR(masked concept recovering)來對齊區域特征和物體級別的概念;在跨模態階段,首先通過 VSC(visual-semantic constrastive)來粗粒度地對齊全局的圖片、文本單模態表征,然后使用 WPG(weakly-supervised phrase grouding)對齊短語級概念和區域特征,最后使用 ITM(image-text matching)和 MLM(masked language modeling)作為高層次的語義推斷任務。
通過在約 9M 的圖片 - 文本對的語料庫上進行預訓練,該研究的 base 設定下的 MVPTR 在下游任務上有著更好的表現。
方法介紹
MVPTR 的模型結構如下圖所示:
模型輸入
為了能顯式地學習多層次語義,如圖所示,對于每個模態研究者構建了兩個部分的輸入,通過不同的顏色進行表示。受啟發于之前主要是用在 Image captioning 任務中的方法,該研究通過學習概念 embedding 的方法引入其他層次的語義。
對于文本,類似 BERT 的處理方式,該研究首先將其經過分詞器拆分成詞,同時使用現成的文本場景圖解析器 SPICE 將其解析為一個場景圖,將圖中的結構元組(物體,屬性 - 物體,物體 - 關系 - 物體)作為短語級語義概念。對于每個短語概念,該研究會為其單獨學習一個 embedding 表示,初始化自其中所有詞的平均 embedding,同時因為概念需要有泛化性,該研究只考慮出現在預訓練語料庫中超過 50 次的短語。
對于圖片,該研究使用固定的物體檢測器從圖片中檢測出重要的物體的標記框和對應的視覺特征,進一步通過一個線性層將視覺特征和標記框坐標映射到與其他 embedding 同樣的維度。同時對每個框使用對應的物體標簽作為物體級別的概念,使用其標簽詞的 embedding 作為這個概念的表示。
單模態學習
在單模態學習階段,MVPTR 只通過一個視覺編碼器和文本編碼器學習模態內的交互和表示,視覺編碼器以拼接后物體特征序列和物體標簽序列作為輸入,學習物體間的關系,同時對齊物體特征和對應的物體級概念;文本編碼器以拼接后的詞序列和短語序列作為輸入,提供短語中的結構信息,并進一步學習語境下的短語級概念。
MCR 遮蓋概念恢復
在視覺編碼器中,輸入的視覺序列里包括了物體級的概念,以預測標簽的方式。之前的代表性工作 Oscar 認為這樣的概念可以作為錨點幫助對齊物體表示和詞。為了能進一步地強化其錨點的作用,該研究提出了一個預訓練任務 MCR。
類似于 BERT 的 MLM 任務,研究者隨機地遮蓋輸入標簽序列中的一部分,將其設為特殊字符 [MASK] 或隨機替換,基于視覺編碼器的輸出,通過一個線性層預測遮蓋部分原本的標簽。MCR 任務可以看作是弱監督下的視覺特征和物體概念的對齊(預測特定的標簽需要學習到對應物體與其的聯系),MCR 類似 image tagging,能進一步對齊區域的表示,幫助之后跨模態的交互學習。
跨模態學習
在學習了單模態內的交互和表征后,在第二階段學習跨模態的語義交互和對齊。首先從粗粒度,使用 VSC 任務對齊單模態編碼器得到的全局表示,對齊兩個編碼器的語義空間;之后將對齊后的 token、短語、物體特征序列拼接輸入到多模態編碼器中進行學習,為了防止在進行后續預訓練任務中產生從標簽到詞的 shortcut,影響真正跨模態關系的學習,標簽序列并沒有被考慮進去。在本階段,進一步通過 WPG 來對齊物體特征和短語表示,并基于之前的表征,完成高層的推理任務,包括 ITM 和 MLM。
VSC 視覺語義對比學習
在輸入跨模態編碼器之前,MVPTR 通過 VSC 對齊兩個模態編碼器的語義空間,其具體的做法類似于 CLIP 和 ALBEF 中的訓練方式,在全局層次上粗粒度地對齊圖片和文本。
該研究將視覺、文本編碼器得到的“[CLS]”token 的表示作為圖片和文本的全局表征,以兩個向量間的余弦相似度作為語義相似度。使用 InfoNCE 作為訓練損失,同一 batch 里僅匹配的圖片 - 文本為正樣本對(對應模型圖中 cosine similarity 矩陣的對角線部分),其余都為負樣本對。
通過對全局粗粒度的對齊,該研究將處在對齊后空間的 token、短語、物體特征序列拼接輸入跨模態編碼器。
WPG 弱監督下的短語對齊
在跨模態學習階段,該研究進一步顯式地學習短語間的對齊關系,因為無法得到具體的圖片區域和短語的匹配關系,研究者在 MVPTR 中使用類似現有的弱監督的 phrase grounding 方法進行學習。
對于每一個共同編碼的圖片 - 文本對,該研究考慮跨模態編碼器得到的 n 個短語的表征和 m 個物體特征的表征,通過余弦相似度計算每個短語 - 區域間的語義相似度,對這樣 n*m 的相似度矩陣?;诙鄻永龑W習的方法對每個短語選擇與其最相似的一個區域作為該短語在整個圖片中匹配的得分,對所有短語進行平均后得到基于短語 - 區域匹配的圖片 - 文本匹配得分。之后訓練過程中可以根據圖片 - 句子匹配的得分
類似之前在 ALBEF 工作中的發現,該研究在跨模態編碼器的第三層訓練 WPG。在模型完成各層次的匹配之后,最后模型完成高層次的語義推理任務,包括 ITM 和 MLM。
ITM 圖文匹配
圖文匹配是視覺 - 語言預訓練模型中常用的預訓練任務,本質上是一個序列關系推斷的任務,需要判斷該多模態序列的圖片和文本是否匹配。
在 MVPTR 中,該研究直接通過使用跨模態編碼器輸出的 CLS token 特征,學習一個多層感知器來預測是否匹配的 2 分類得分。類似 ALBEF 的做法,該研究基于 VSC 任務輸出的全局相似度從訓練批次中采樣得到較難的負樣本進行 ITM 任務。
MLM 遮蓋語言模型
遮蓋語言模型同樣是預訓練模型中的常見任務,研究者認為其本質上是一個推理任務,因為對于描述性文本中的關鍵詞語的遮蓋和回復,比如數量詞、形容詞、名詞、動作等實質上是從不同角度的推理任務。MLM 的設定與其他的預訓練模型一致:隨機遮蓋或替換一部分的 token,通過模型輸出的表征,學習一個多層感知器預測原本的 token。
實驗
預訓練設定
首先在模型結構上,該研究采取了與 BERT-base 一樣的參數設定,兩個單模態編碼器均為 6 層的 Transformer 架構,參數初始化自 BERT-base 的前六層;跨模態編碼器也為 6 層的 Transformer 架構,參數初始化自 BERT-base 的后六層。
預訓練的數據集上,MVPTR 使用了和 VinVL 一樣的數據集,包括 MSCOCO、FLickr30k、GQA、Conceptual Captions、SBU、OpenImages,一共包括約 5M 的圖片和 9M 的圖文對。對于圖片特征的抽取,MVPTR 使用的 VinVL 提供的物體檢測器。具體的模型和訓練參數設置可以參考論文中的介紹。
該研究對預訓練后的 MVPTR 在多個下游任務上進行了微調,包括在 MSCOCO 和 Flickr30k 上的圖文檢索任務、VQA v2 上的視覺問答任務、SNLI-VE 上的視覺推理任務、RefCOCO + 上的短語表示指代任務,具體的微調方法和參數設定等請參考文章以及代碼。
下圖給出了在其中三個任務上結果:
可以看到預訓練后的 MVPTR 在 MSCOCO 和 FLickr 上的圖文檢索任務上都有著明顯的提升,表明多個層次的語義對齊能夠很好地幫助模型學習到全局上圖片 - 文本的匹配關系。同時研究者在 Flickr 數據集上驗證了 MVPTR 中單模態編碼器的語義對齊能力(表 2 的下半部分),并比較了 MVPTR 的單模態部分和其他基于單模態編碼器的方法(CLIP * 為該實驗中微調后的 CLIP-ViT32 版本),從結果可以看出通過引入額外的概念,以及物體概念的對齊任務 MCR,單模態部分表現甚至要優于另外兩個模型 CLIP,盡管 MVPTR-Uni 的參數規模僅為另外兩者的一半(6 層與 12 層 Transformer 架構)。
在跨模態推理任務上,MVPTR 在 VQA 上有著一定的提升,同時對比 MVPTR 和 VinVL 在各個類別上的表現,MVPTR 在 VQA v2 的 “其他” 類問題上表現較好,VinVL 在數字類問題上表現較好。因為 VinVL 會直接根據物體檢測標簽去預測答案,研究者猜想這樣的方法能很好地完成數數類問題,而 MVPTR 則更好地學習了跨模態的交互,來解決需要推理的其他類問題。在 SNLI-VE 上的視覺蘊含任務里,MVPTR 在測試集上效果要稍遜于 ALBEF,研究者認為 ALBEF 在測試集上的強大的泛化表現來自于其設計的動量蒸餾方法,此外,該研究也會進一步探究這樣的方法對于 MVPTR 的改進。
在 RefCOCO + 上的短語指代表示任務上,因為該任務很依賴于物體檢測器和所考慮的區域選擇,所以研究者比較了 MVPTR 和 VinVL(VinVL 的結果為該研究使用與 MVPTR 類似方法進行微調實驗得到):在 RefCOCO + 上的 testA 和 testB 上的兩個測試集準確率上,MVPTR 的表現為 80.88/67.11,要高于 VinVL 的 80.5/65.96,說明 MVPTR 具有更強的對于短語級別對齊能力。
消融實驗
為了驗證各層次對齊的協同促進作用,該研究針對物體 / 短語級概念的引入和對齊設計了消融實驗:
首先比較表內的前三行,可以看出缺少物體級概念的引入會給其他層次的語義對齊帶來負面影響,包括細粒度、粗粒度的圖片文本匹配,短語級別的對齊,并進一步影響對視覺問答的推理能力,且影響為所有消融實驗里最大的,說明物體級的概念為其他層次對齊的基礎。同時僅在引入輸入的基礎上,通過 MCR 的弱監督能進一步提高模型的性能,尤其是對于 Uni-RSUM 的影響說明了 MCR 能強化物體概念的錨點能力??偟膩碚f物體級別的對齊幫助了短語級與圖文級的對齊。
通過比較第一行和最后兩行,可以看到短語級的概念能比較有效地幫助完成 visual grounding 和細粒度的圖文匹配任務,同時比較最后兩行可以看出如果不通過 WPG 顯式地引導學習短語概念的表示,僅在輸入端引入短語概念反而會引入一些噪聲,拉低了圖文匹配的表現。總的來說短語級的對齊幫助了圖片文本的對齊。
概念的層次化表示
在 MVPTR 中該研究顯式學習了短語級、物體級的概念,研究者通過可視化學習到的概念 embedding 表征來驗證兩者間存在嵌套層次關系。如下圖所示,研究者使用 t-SNE 將學習到的 embedding 降維到 2 維,選擇了幾個常見的物體概念(三角形)和包含該物體概念的短語概念(圓點)進行呈現:
可以從圖中看到明顯的層次化特點:物體級別的概念作為聚類的中心,與其相關的短語級概念分布在其周圍,出現在各種場景中的 man 和 car 分布很廣泛,cat/dog/bird 都為動物分布很接近。
短語指代可視化
為了顯式展現 MVPTR 學習到的短語級別概念的對齊,該研究使用 WPG 中的短語 - 區域間的相似度,對每個短語展示了與其語義相似度最高的區域,以下展現了一個 MSCOCO 測試集中的例子: