寫(xiě)在前面
大規模圖像-文本對的視覺(jué)語(yǔ)言預訓練(VLP)在跨模態(tài)表征的學(xué)習方面取得了快速的進(jìn)展?,F有的預訓練方法要么直接將特征級的圖像表示和文本表示連接起來(lái)作為single-stream Transformer的輸入,要么使用two-stream Transformer將圖像-文本表示在高級語(yǔ)義空間對齊。
論文和代碼地址
論文:https://arxiv.org/pdf/2103.07829v1.pdf代碼:未開(kāi)源Motivation
受各種NLP任務(wù)中預訓練語(yǔ)言模型的成功啟發(fā),最近關(guān)于視覺(jué)語(yǔ)言預訓練(VLP)的研究證明了能夠通過(guò)利用大規模圖像-文本對學(xué)習不同模態(tài)之間的語(yǔ)義對齊,而在各種下游視覺(jué)和語(yǔ)言(V+L)任務(wù)上實(shí)現SOTA性能。
在本文中,作者提出了一種VLP預訓練結構SemVLP,它在多個(gè)語(yǔ)義層次上聯(lián)合對齊圖像和文本表示。具體而言,與單流和雙流Transformer架構不同,作者使用共享Transformer網(wǎng)絡(luò )和可插拔的跨模態(tài)注意模塊,用于低級和高級語(yǔ)義對齊,如上圖所示。
方法
SemVLP的結構如上圖所示,作者提出了一個(gè)共享的雙向Transformer編碼器,其中可插拔的跨模態(tài)注意模塊用于在多個(gè)層次上進(jìn)行對齊語(yǔ)義 。通過(guò)共享模型參數,SemVLP可以靈活地在單流和雙流預訓練結構之間切換,使得輸入文本和圖像以不同的語(yǔ)義級別編碼。
SemVLP模型的輸入是圖像及其相關(guān)句子。每個(gè)圖像表示為對象序列,每個(gè)句子表示為單詞序列。經(jīng)過(guò)多個(gè)語(yǔ)義層次的跨模態(tài)融合和對齊,SemVLP模型能夠從圖像文本輸入中生成語(yǔ)言表示、圖像表示和跨模態(tài)表示。
本文采用與BERT相同的方法,該方法使用WordPiece tokenizer將輸入句子轉換為子詞token。輸入標記的表示為,其中和是BERT中的特殊token。通過(guò)結合原始單詞嵌入、段嵌入和位置嵌入,生成每個(gè)token的最終嵌入。
作者使用預訓練的目標檢測器Faster R-CNN從圖像中提取對象級圖像特征,其中每個(gè)對象表示為2048維特征向量。為了捕獲對象的空間信息,作者還通過(guò)一個(gè)4維向量對每個(gè)對象的位置特征進(jìn)行編碼,其中和表示左下角和右上角的坐標,而W和H表示輸入圖像的寬度和高度。
考慮到句子嵌入和圖像區域嵌入,作者使用一個(gè)帶有可插拔跨模態(tài)注意模塊的Transformer編碼器來(lái)更好地學(xué)習多語(yǔ)義層次的跨模態(tài)表示。完整的編碼器是一個(gè)帶有L個(gè)塊的模型,其中第個(gè)塊由一個(gè)自注意模塊、一個(gè)非線(xiàn)性函數和一個(gè)可插拔的交叉模式注意模塊組成,其中上標表示層id。
為了對齊底層語(yǔ)義,作者直接將圖像和文本嵌入特征concat起來(lái)作為SemVLP的單流模式的輸入,該模式由共享自注意模塊和非線(xiàn)性FFN層組成。首先初始化,編碼過(guò)程可表述如下:
對于高層語(yǔ)義對齊,作者采用SemVLP的雙流模式,其中文本和圖像對象首先分別編碼,然后在高層語(yǔ)義空間融合。它由共享自注意模塊、跨模態(tài)注意模塊和非線(xiàn)性FFN層組成。
任務(wù)設置與BERT中的基本相同,作者隨機mask文本中15%的token,并要求模型使用輸出文本表示預測這些mask詞。對于不同的預訓練模式,要么借助視覺(jué)通道預測mask詞以解決歧義(單流模式),要么僅從文本通道預測mask詞以增加任務(wù)難度(雙流模式)。
類(lèi)似地,作者通過(guò)隨機掩蔽對象對視覺(jué)模態(tài)進(jìn)行預訓練,即用零掩蔽對象特征(object features are masked with zeros)。作者隨機mask 15%的圖像對象,并要求模型使用輸出對象表示預測這些mask對象的屬性。為了獲取更多的對象級語(yǔ)義,作者遵循LXMERT中的對象預測任務(wù),并執行兩個(gè)子任務(wù):ROI特征回歸 和檢測標簽分類(lèi) 。
該任務(wù)設置與LXMERT中的任務(wù)設置幾乎相同,即隨機抽取50%不匹配的圖像-文本對和50%匹配的圖像-文本對,并訓練分類(lèi)器預測圖像和句子在表示(單流模式)和(雙流模式)上是否相互匹配。不同之處是,在對不匹配的圖像-文本對進(jìn)行采樣時(shí),作者沒(méi)有強制執行MLM預測和對象預測的損失。
作者還將圖像問(wèn)答任務(wù)視為分類(lèi)問(wèn)題,并使用LXMERT中的圖像QA數據對模型進(jìn)行預訓練,從而獲得更好的跨模態(tài)表示。對于單流模式,作者在表示的基礎上構建分類(lèi)器,對于雙流模式,作者在表示的基礎上構建分類(lèi)器。
對于低水平和高水平的語(yǔ)義對齊,SemVLP通過(guò)多個(gè)預訓練任務(wù)進(jìn)行預訓練,并將所有這些任務(wù)損失以相等的權重相加。為了在多個(gè)級別上聯(lián)合對齊語(yǔ)義,給定一個(gè)mini-batch的圖像-文本對,50%的時(shí)間使用低級語(yǔ)義對齊更新模型,而50%的時(shí)間使用高級語(yǔ)義對齊更新模型。
實(shí)驗



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


總結
在本文中,作者提出了一種新的預訓練方法SemVLP來(lái)學(xué)習視覺(jué)和語(yǔ)言的聯(lián)合表示。與現有依賴(lài)固定級別語(yǔ)義對齊的VLP方法不同,作者通過(guò)以不同方式組裝共享Transformer編碼器和可插拔的跨模態(tài)注意模塊,在多個(gè)級別上對齊跨模式語(yǔ)義。
▊ 作者簡(jiǎn)介
知乎/公眾號:FightingCV

END
聯(lián)系客服