1.介紹
讓機器能以人類智能相似的方式作出反應一直是人工智能研究人員的目標。為了讓機器能聽會說、能看會認、能理解會思考, 研究者提出一系列相關任務,如人臉識別、語音合成、閱讀理解等來訓練及評價機器在某一方面的智能程度。具體來說是,領域專家人工構造標準數據集,然后在其上訓練及評價相關模型及方法。但由于相關技術的限制,要想獲得效果更好、能力更強的模型,往往需要在大量的有標注的數據上進行訓練。
近期預訓練模型的出現在一定程度上緩解了這個問題。預訓練模型的解決思路是,既然昂貴的人工標注難以獲得,那么就去尋找廉價或者說幾乎無代價的標注信息。先利用廉價的標注信息預訓練模型再使用少量的昂貴的人工標注對模型進行微調。但是由于廉價的標注信息帶來的信息比較少又含有噪音,往往需要超大規模的數據以及超長的訓練時間對模型進行預訓練。
目前來看這種代價是值得的,文本預訓練模型BERT一出世就在多項NLP任務上取得最好的結果。受此影響,語音領域預訓練模型也如雨后春筍般出現,如 MOCKINGJAY等。預訓練模型通過在大規模無標注數據上進行預訓練,一方面可以將從無標注數據上更加通用的知識遷移到目標任務上,進而提升任務性能;另一方面,通過預訓練過程學習到更好的參數初始點使得模型在目標任務上只需少量數據就能達到不錯的效果。
那么能否將預訓練方法應用到多模態任務上呢?能否通過挖掘不同模態數據之間關系設計預訓練任務訓練模型呢?能否通過大規模的無標注樣本讓模型理解懂得不同模態數據之間的關聯呢(如:文字的“馬”與圖片中的“馬”)?研究人員也抱著同樣的問題展開了探索,并取得了一定成果。本文梳理了目前多模態預訓練領域相關方法,并總結了各個方法所設計的預訓練任務及驗證實驗所使用的下游任務,希望對讀者能有所幫助。
2.多模態預訓練模型概覽
我們期望多模態預訓練模型能夠通過大規模數據上的預訓練學到不同模態之間的語義對應關系。在圖像-文本中,我們期望模型能夠學會將文本中的“狗”和圖片中“狗”的樣子聯系起來。在視頻-文本中,我們期望模型能夠將文本中的物體/動作與視頻中的物體/動作對應起來。為實現這個目標,需要巧妙地設計預訓練模型來讓模型挖掘不同模態之間的關聯。本文將側重介紹“如何設計預訓練任務”并通過表格來統計各個模型設計任務的異同。需要說明的是,為了方便對比我們統一了不同論文對相似任務的稱呼。
本文將目前多模態預訓練模型分為兩大類,圖像-文本預訓練模型(第3章)及視頻-文本預訓練模型(第4章)。對于兩大類預訓練模型,我們進一步將其分為Single-Stream 和Cross-Stream兩類,Single-Stream將圖片、文本等不同模態的輸入一視同仁,輸入同一個模型進行融合,而Cross-Stream將不同模態的輸入分別處理之后進行交叉融合。在第3章和第4章的最后,會用表格列出各個模型所使用的預訓練任務。在第5章會對目前的預訓練模型的方法進行總結。
3. 圖像-文本多模態預訓練模型
3.1 Cross-Stream
3.1.1 ViLBERT[1]
模型細節
輸入的文本經過文本Embedding層后被輸入到文本的單模態Transformer編碼器中提取上下文信息。使用預訓練Faster R-CNN對于圖片生成候選區域提取特征并送入圖像Embedding層生成Embedding。然后將獲取好的文本和圖像的Embedding通過Co-attention-transformer模塊進行相互交互融合,得到最后的表征。
ViLBERT模型圖如圖1所示,Co-attention-transformer模塊如圖2所示。
預訓練任務
掩蔽文本預測(masked multi-modal modelling) 與BERT的設計思路一樣,根據概率隨機替換掉文本中部分詞,使用[MASK]占位符替代,需要模型通過文本中上下文,以及對應圖片中給出的信息,預測出被替換的詞。
掩蔽圖像預測(masked multi-modal modelling) 通過掩蔽經過Faster R-CNN提取到的預候選區域,使模型通過對應文本以及其他區域的圖像預測出被遮掩區域的類別。
圖片-文本對齊(multi-modal alignment) 給定構造好的圖文關系對,讓模型來判斷文本是否是對應圖片的描述,具體是使用《IMG》以及《CLS》表示來判斷文本是否是對于圖像的描述。
下游任務
作者將該模型應用到視覺問答(Visual Question Answering)、視覺常識推理(Visual Commonsense Reasoning)、指示表達定位(Grounding Referring Expressions)、圖像檢索(Caption-Based Image Retrieval)等下游任務上,并且取得了較好的結果。
3.1.2 LXMERT[2]
模型細節
類似于ViLBERT,對于文本和圖像經過Embedding層之后被送入各自的單模態編碼器,然后通過跨模態編碼器進行融合。
預訓練任務
掩蔽文本預測(Masked Cross-Modality LM) 該任務的設置與BERT的MLM任務設置一致。作者認為除了從語言模態中的非模態詞中預測被掩蔽詞外,LXMERT還可利用其跨模態模型架構,從視覺模態中預測被掩蔽詞,從而解決歧義問題,所以將任務命名為Masked Cross-Modality LM以強調這種差異。
掩蔽圖像類別預測(Detected-Label Classification)該任務要求模型根據圖像線索以及對應文本線索預測出直接預測被遮蔽ROI的目標類別。
掩碼圖像特征回歸(RoI-Feature Regression)不同于類別預測,該任務以L2損失回歸預測目標ROI特征向量。
圖片-文本對齊(Cross-Modality Matching) 通過50%的概率替換圖片對應的文本描述,使模型判斷圖片和文本描述是否是一致的。
圖像問答(Image Question Answering) 作者使用了有關圖像問答的任務,訓練數據是關于圖像的文本問題。當圖像和文本問題匹配時,要求模型預測這些圖像有關的文本問題的答案。
作者將該模型在多個下游任務上進行了測試,分別在視覺問答任務(Visual Question Answering)、面向現實世界視覺推理(Visual Reasoning in the Real World)等取得了很好的效果。
3.1.3 ERNIE-ViL[3]
模型細節
模型結構采用雙流架構,對于圖像和文本分別使用單模編碼器進行編碼然后使用跨模態Transformer實現兩個模態的信息交融。值得一提的是該模型引入了場景圖信息,通過將場景圖知識融入多模態預訓練中,使得模型更能精準把握圖像和文本之間細粒度的對齊信息。模型圖如圖5所示。
模型在預訓練任務中融入了場景圖(如圖6所示)的信息。場景圖中有目標(objects)、屬性(attributes)、關系(relationships)三種類別。
預訓練任務
場景圖預測(Scene Graph Prediction)根據給定的一段文本解析出場景圖結構,然后根據解析出的場景圖設計了三個子任務,分別是目標預測(object prediction)、屬性預測(attribute prediction)、關系預測(relationship prediction),通過掩蔽圖像和文本中場景圖解析出來的目標、屬性以及關系,使用模型進行預測,以讓模型學習到跨模態之間的細粒度語義對齊信息。
同時模型還使用了傳統的預訓練任務,分別是掩蔽文本預測(Masked Cross-Modality LM)、掩蔽圖像類別預測(Detected-Label Classification),以及圖片-文本對齊(Cross-Modality Matching)。
下游任務
作者在下游多個任務上進行檢測都取得了比較大的提升,具體有視覺常識推理(Visual Commonsense Reasoning)、視覺問答(Visual Question Answering)、圖像檢索(Image Retrieval)、文本檢索(Text Retrieval)、指示表達定位(Grounding Referring Expressions)。
3.2 Single-Stream
3.2.1 VL-BERT[4]
模型細節
模型架構與BERT相似,如圖7所示。整個模型的輸入有四部分embedding。
Token embedding層:對于文本內容使用原始BERT的設定,但是添加了一個特殊符[IMG]作為圖像的token。
Visual feature embedding層:這層是為了嵌入視覺信息新添加的層。該層由視覺外部特征以及視覺幾何特征拼接而成,具體而言,對于非視覺部分的輸入是整個圖像的提取到的特征,對應于視覺部分的輸入即為圖像經過預訓練之后的Faster R-CNN提取到的ROI區域圖像的相應視覺特征。
Segment embedding層:模型定義了A、B、C三種類型的標記,為了指示輸入來自于不同的來源,A、B指示來自于文本,分別指示輸入的第一個句子和第二個句子,更進一步的,可以用于指示QA任務中的問題和答案;C指示來自于圖像。
Position embedding層:與BERT類似,對于文本添加一個可學習的序列位置特征來表示輸入文本的順序和相對位置。對于圖像,由于圖像沒有相對的位置概念,所以圖像的ROI特征的位置特征都是相同的。
作者在視覺-語言數據集以及純語言數據集上都進行了大規模的預訓練,使用概念標題數據庫(Conceptual Captions)數據集作為視覺-語言語料庫,該數據集包含了大約330萬張帶有標題注釋的圖片,圖片來自于互聯網。但是這個數據集存在一個問題就是圖像對應的標題是簡短的句子,這些句子很短并且很簡單,為了避免模型只關注于簡單子句,作者還使用了BooksCorpus和英語維基百科數據集進行純文本的訓練。
預訓練任務
掩蔽文本預測(Masked Language Model with visual Clues) 此任務與BERT中使用的Masked Language Modeling(MLM)任務非常相似。關鍵區別在于,在VL-BERT中包含了視覺線索,以捕獲視覺和語言內容之間的依存關系。
掩蔽圖像類別預測(Masked RoI Classification with Linguistic Clues) 類似于掩蔽文本預測,每個RoI圖像以15%的概率被隨機掩蔽,訓練的任務是根據其他線索預測被掩藏的RoI的類別標簽。值得一提的是為了避免由于其他元素的視覺特征的嵌入導致視覺線索的泄漏,在使用Faster R-CNN之前,需要先將被Mask的目標區域的像素置零。
下游任務
作者將模型應用于視覺常識推理(Visual Commonsense Reasoning)、視覺問答(Visual Question Answering)、引用表達式理解(Referring Expression Comprehension)任務,并且都取得了顯著的效果。
3.2.2 Image-BERT[5]
模型細節
圖8 Image-BERT模型圖
ImageBERT在圖像Embedding層添加了圖像位置編碼,即將通過Faster R-CNN得到的物體對應的ROI區域相對于全局圖的位置信息,編碼為五維向量,作為位置編碼添加進圖像的特征表示中。
預訓練任務
掩蔽文本預測(Masked Language Modeling) 此任務與BERT中使用的Masked Language Modeling(MLM)任務設定基本一致。
掩蔽圖像類別預測(Masked Object Classification) 此任務是MLM任務的擴展。與語言建模類似,通過對視覺對象進行掩蔽建模,期望模型預測出被掩蔽的圖像token的類別。
掩蔽圖像特征回歸(Masked Region Feature Regression) 該任務旨在預測被掩蔽的視覺對象的嵌入特征。通過在相應位置的輸出特征向量后添加一個全連接層,以將其投影到與原始RoI對象特征相同的維度上,然后應用L2損失來進行回歸。
圖片-文本對齊(Image-Text Matching) 除了語言建模任務和視覺內容建模任務之外,作者還添加了圖片-文本對齊任務以學習圖像-文本對齊。對于每個訓練樣本,對每個圖像隨機抽取負例句子,對每個句子隨機抽取負例圖像以生成負例訓練數據,讓模型判斷給定的圖像文本對是否對應。
下游任務
作者在MSCOCO以及Filcker30k數據上分別測試模型在圖像檢索(Image Retrieval)以及文本檢索(Sentence Retrieval)任務上的性能,取得了一定的提升。
表1 圖像-文本預訓練模型概覽表
4. 視頻文本多模態預訓練
4.1 Cross-Stream
4.1.1 UniVL[6]
模型細節
該模型先使用單模態編碼器對文本與視頻數據進行單獨建模,再使用跨模態編碼器對兩個模態的表示進行聯合編碼。
預訓練任務
視頻-文本單模態表示空間對齊(video-text joint) 為了利用BERT來幫助模型獲得更好的視頻表示,作者設計了視頻-文本單模態表示空間對齊任務。該任務具體是,構造正例對(視頻與對應/相近的文本)和負例對(視頻與不相關的文本),希望正例對中的視頻表示與文本表示更接近而負例對中的更遠。其中,視頻表示由視頻單模態編碼器得出,文本表示由文本單模態編碼器得出。
條件掩蔽文本預測(conditioned masked language model) 與BERT的設計思路類似,作者設計條件掩蔽文本預測任務來訓練模型。文本中的詞被隨機替換成占位符[MASK],然后替換后的文本與視頻進行聯合表示后,預測替換前的詞。
掩蔽幀預測(conditioned masked frame model) 輸入的視頻幀被隨機替換成占位符號,然后使用模型來預測被替換的視頻幀。由于直接預測原始的RGB視頻幀非常困難,因此作者使用對比學習的方法,希望原始視頻幀與模型相應位置得到的表示相關性更高。
視頻-文本對齊(video-text alignment) 視頻與相應的文本之間對齊標簽為1,而與其他文本對應的標簽為0。使用這個對齊信息作為監督信號訓練模型。
文本重構(language reconstruction) 為了使得模型能夠應用到下游任務-視頻描述生成上,作者設計了文本重構任務。具體采用了一個自回歸解碼器,其輸入為處理后的文本和視頻幀,輸出是原始的文本。
下游任務
作者在視頻檢索(Text-based Video Retrieval)、視頻描述生成(Multimodal Video Captioning)、行為分割(Action Segmentation)、動作定位(Action step localization),以及多模態情感分類(Multimodal Sentiment Analysis)等下游任務上進行了實驗,驗證了模型的有效性。
4.1.2 ActBERT[7]
模型細節
與之前不同的是本工作考慮了視頻中更細粒度的信息——物體信息,引入掩蔽物體預測任務,使得模型更細粒度地捕捉圖像信息。工作框圖如下。
圖10 ActBERT 模型圖
為了使得模型能夠充分利用文本信息、視頻中時序信息,以及視頻中物體信息,該工作提出了Tangled Transformer模型,模型圖如下。a-transformer模塊對動作特征進行建模,r-transformer模塊對物體對象特征進行建模,w-transformer模塊對文本特征進行建模。三者之間的信息通過跨模態的多頭注意力機制進行交互。
圖11 Tangled Transformer模型
預訓練任務
掩蔽文本預測(Masked Language Modeling with Global and Local Visual Cues)該任務設計與BERT一致,掩蔽部分詞,然后將文本與動作特征以及物體特征送入模型中進行聯合建模,最后使用相應位置的輸出向量預測被掩蔽的詞。
掩蔽動作預測(Masked Action Classification) 隨機將輸入的動作表示向量進行掩蔽,然后強迫模型通過其他信息如文本信息和物體信息來預測出動作的標簽如add等。
掩蔽物體預測(Masked Object Classification) 隨機將物體特征向量進行掩蔽,然后讓模型預測出該位置上物體的分布概率。希望預測出來的概率與Faster R-CNN對該區域的預測概率相近。
視頻-文本對齊(Cross-modal matching) 使用[CLS]的表示去預測文本與視頻是否匹配,負例是通過隨機從其他數據中進行采樣得到。
下游任務
作者將該模型應用到視頻檢索(Text-video clip retrieval)、視頻描述生成(Video Captioning)、行為分割(Action Segmentation)、視頻問答(Video question answering)、動作定位(Action step localization)等下游任務上。
4.2 Single-Stream
4.2.1 VideoBERT[8]
模型細節
該工作使用Transformer對文本和視頻統一進行建模。
圖12 VideoBERT 模型圖
預訓練任務
掩蔽文本預測(text-only mask-completion) 與BERT的設計思路一樣,文本中的詞被隨機替換成占位符[MASK],然后替換后的文本與視頻進行聯合表示后,預測替換前的詞。
掩蔽視頻預測(video-only mask-completion) 為了使得模型適配于BERT架構,作者建立“視覺詞表”將輸入視頻量化。具體是,將所有視頻切成片段,使用S3D模型對片段進行表示。然后使用聚類算法對表示進行聚類,共得到20736個聚類中心,這樣每個視頻片段就可以由聚類中心來表示,即可將視頻片段用離散的聚類中心編號進行表示。輸入的“視覺詞”被隨機替換成占位符號,然后使用模型來預測被替換的“視覺詞”。
視頻-文本對齊(linguistic-visual alignment) 使用[CLS]表示預測視頻和文本是否在時序上對齊。
下游任務
作者在動作識別、視頻描述生成等下游任務上進行了實驗。此外,該模型還可以用于給定文本生成視頻以及給定視頻上文生成視頻下文等任務。
4.2.2 HERO[9]
模型細節
該篇工作為了捕捉視頻的時序信息以及文本與視頻的對應信息設計了兩個新的預訓練任務, 視頻字幕對齊(Video Subtitle Matching)以及視頻幀順序建模(Frame Order Modeling)。整體工作框架如下。(注:每個句子的文本以及對應的視頻幀通過Cross-Modal Transformer得到經過交互后的表示(棕色為文本表示),然后將獲得的視頻幀的表示送入到后續模塊中。)
圖13 HERO 模型圖
預訓練任務
掩蔽文本預測(Masked Language Modeling) 該任務設計與BERT一致,掩蔽部分詞,然后將文本與視頻幀特征送入模型中進行聯合建模,最后使用相應位置的輸入向量預測被掩蔽的詞。
掩蔽幀預測(Masked Frame Modeling) 該任務設計與BERT類似,掩蔽部分幀向量,然后將文本與視頻幀特征送入模型中進行聯合建模,最后使用相應位置的輸出向量預測被掩蔽的幀。實現幀的預測可使用兩種方式,一種是預測出幀向量,然后與標準幀向量計算損失。第二種是使用對比學習的方法,被掩蔽位置對應的輸出向量應與被掩蔽的幀向量更為相關。
視頻字幕對齊(Video Subtitle Matching) 作者為了更好的建模視頻與文本,提出了視頻字幕對齊(Video Subtitle Matching)任務。該任務包含兩個任務目標,第一個是從一個完整視頻對應的字幕中隨機采樣出一個句子,希望模型能夠找出該句子在視頻中對應的起始位置。第二個是從一個完整視頻對應的字幕中隨機采樣出一個句子,希望該句子與該視頻之間相關性更強而與其他視頻相關性更弱。
視頻幀順序建模(Frame Order Modeling) 為了更好的建模視頻的時序性,隨機打亂部分輸入幀的順序,然后利用模型預測出來每一幀對應的實際位置。具體實踐時將其建模成一個分類任務,類別數為輸入長度為N。
下游任務
作者在視頻檢索(video-subtitle moment retrieval)、視頻問答(Video question answering),以及視頻文本推理(video-and-language inference)等下游任務上驗證了模型的有效性。
表2 視頻-文本預訓練模型概覽表
5. 總結
本文簡單梳理了多模態圖像-文本預訓練模型以及多模態視頻-文本預訓練模型,簡單介紹了相關預訓練模型架構,設計的預訓練任務,以及衡量模型性能的下游任務。
通過對多模態預訓練任務的梳理,我們可以發現,現有預訓練任務主要有兩大類,一類是主要針對單個模態數據設計的,如掩蔽文本預測、掩蔽圖像預測、掩蔽幀預測。其中掩蔽文本預測仍然沿用BERT的設計,掩蔽圖像預測和掩蔽幀預測一般都不會直接預測原始的物體對象/幀圖像,而是預測特征。由于視頻具有時序性,有些模型還設計了視頻幀順序建模任務。
該類任務可以使用多模態數據,也可只使用單模態數據進行訓練。使用多模態數據時,模型預測時不僅可以使用該模態內部的信息,還可以使用其他模態的信息。第二類主要是針對多模態數據而設計的。該類任務通過挖掘不同模態數據中的對應關系,設計預訓練目標,如視頻-文本對齊、圖片-文本對齊等。對于視頻,還有研究者提出視頻字幕對齊任務,來讓模型捕捉兩模態信息之間的關聯。
目前的多模態預訓練模型相關工作已經取得了一定的進展,在多個下游任務上有了不俗的表現。未來的工作可能從以下幾個方向取得進一步的進展,第一是單模態下游任務上能否取得提升?,F在大部分多模態預訓練模型都是在多模態的下游任務上進行測試,少有工作在單模態任務如自然語言處理任務與單模態預訓練模型如RoBERTa進行全面的比較。
如果認為模型在多模態數據上通過預訓練能夠更加充分的理解語義,那么直覺上看多模態預訓練模型與單模態模型在相近的實驗設置下(如語料規模相似)應當取得更好的成績。第二是更精細的挖掘不同模態數據間的相關信息并設計更巧妙的預訓練任務。比如挖掘圖像-文本之間,名詞與物體對象之間的相關性,使得模型建立詞語與物體對象之間的相關性。第三是設計更高效的模型架構以及挖掘更大規模的高質量多模態數據。
責任編輯:haq
-
圖像
+關注
關注
2文章
1089瀏覽量
40573 -
模型
+關注
關注
1文章
3313瀏覽量
49229 -
文本
+關注
關注
0文章
118瀏覽量
17134
原文標題:多模態預訓練模型簡述
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論