前言
在計算機視覺與自然語言處理預訓練模型層出不窮的今天,
多模態預訓練模型也悄然浮出水面。本篇綜述是
第一篇關于
視覺-語言預訓練(Vision-Language Pretraining)的綜述,介紹了VLP的最新進展和新領域,包括了
圖像-文本和
視頻-文本的預訓練。整篇綜述從以下5個方面對視覺-語言預訓練進行了詳細的闡釋:
1. 特征提取
2. 模型架構
3. 預訓練目標
4. 預訓練數據集
5. 下游任務
VLP主要通過對大規模數據的預訓練來學習不同模態之間的語義對應關系。例如,在圖文預訓練中,我們希望模型將文本中的“狗”與圖像中的“狗”聯系起來。在視頻文本預訓練中,我們期望模型將文本中的對象/動作映射到視頻中的對象/動作。為了實現這一目標,需要巧妙地設計VLP對象和模型體系結構,以允許模型
挖掘不同模式之間的關聯。
特征提取
圖像特征提取
(1)OD-based Region Features (OD-RFs).
目前大部分VLP使用預訓練的目標檢測模型來提取視覺特征。這里使用最多的目標檢測模型是Faster R-CNN。
(2)CNN-based Grid Features (CNN-GFs)
VLP模型通過利用卷積神經網絡(CNN)提取視覺特征來獲得網格特征。一方面,VLP模型可以直接利用網格特征進行端到端的CNN訓練。另一方面,VLP模型也可以首先使用學習到的vision dictionary離散化網格特征,然后將它們送到跨模態模塊。
(3) ViT-based Patch Features (ViT-PFs)
ViT將圖片壓平成序列。這對于Transformer的輸入非常友好。
視頻特征提取
我們一般把視頻視作由M幀組成的圖像信息。
VLP模型利用上述圖像特征提取方法提取frame的特征。兩個最常用的功能是CNN-GFs和VIT-PFs。對于CNN-GFs,VLP模型首先使用在ImageNet上預訓練的ResNet和預先訓練好的SlowFast來提取每個視頻幀的2D和3D視覺特征。這些特征被串聯為視覺特征,并通過全連接(FC)層被投影到與token embeddings相同的低維空間。對于ViT-PFs而言
包含了 M 幀分別率為 H×W 的圖像,按照ViT和Timesformer的協議條件來看,輸入的視頻clip被分割為 M×N 的無重疊的spatial-temporal patches,大小為 P×P ,在這里
文本特征提取
對于文本特征,以BERT為例,VLP模型首先將輸入的句子分割成一系列的子詞。然后,在序列的開頭和結尾處插入序列開始標記和序列結束標記,以生成輸入文本序列。文本輸入表示通過將對應的單詞嵌入、文本位置嵌入和文本類型嵌入相加來計算。
特征表示
為了充分利用單模態的預訓練模型,VLP模型可以將視覺或文本特征發送到Transformer Encoder。具體地說,VLP模型利用具有隨機初始化的標準Transformer Encoder來生成視覺或文本表示。此外,VLP模型可以利用預先訓練的ViT來編碼VIT-PF。VLP模型可以使用預先訓練好的文本Transformer來編碼文本特征,例如BERT。為簡單起見,我們將這些轉換器命名為
Xformer。
模型架構
模型架構主要從以下兩個方面展開
(1)Single-stream vs Dual-stream
(2)Encoder-only vs Encoder-decoder

(VLP的兩種結構)
Single-stream vs Dual-stream
單流架構是指將文本和視覺特征連接在一起,然后饋送到單個Transformer塊中。
雙流架構是指文本和視覺特征不是串聯在一起而是獨立地發送到兩個不同的Transformer塊中。
單流架構一般來說更加parameter-efficient。雙流架構一般采用上圖虛線所表示的cross attention進行特征交互。
Encoder-only vs Encoder-decoder
許多VLP模型采用encoder-only的體系結構,其中跨模態表示被直接饋送到輸出層以生成最終輸出。相比之下,其他VLP模型主張使用encoder-decoder體系結構,其中跨模態表示首先被饋送到decoder,然后被饋送到輸出層。
預訓練目標
這一部分介紹了我們如何通過使用不同的預訓練目標來預訓練VLP模型,這對于學習視覺語言的普適表示是至關重要的。
我們將預訓目標歸納為四類:Completion、Matching、Temporal和Particular。
Completion
Completion是通過利用未masked的元素來重建masked元素以理解模態。包括Masked Language Modeling,Prefix Language Modeling和Masked Vision Modeling。
Masked Language Modeling
掩蔽語言建模(MLM)最早是由Talyeller[1953]在文獻( Wilson L Taylor. "Cloze procedure": A new tool for measuring readability. Journalism quarterly, 30(4):415–433, 1953.)中提出的,由于Bert模型將其作為一種新的預訓練任務而被廣泛采用。VLP中的MLM類似于BERT中的MLM,但也有所不同。BERT的MLM是利用上下文的可見的詞向量預測masked詞向量;而VLP中則使用上下文可見的詞向量和視覺向量表征去預測masked的視覺或者詞向量,小編感覺像是MAE+BERT的融合版。根據經驗,和BERT一樣,VLP模型以15%的概率隨機mask每個文本輸入token,并通過80%的時間使用特殊的標記[MASK]來替換被mask的標記,10%的時間使用隨機的文本標記和10%的時間使用原始標記來執行masking。
Prefix Language Modeling
前綴語言建模(Prefix Language Model,Prefix LM)是屏蔽語言模型和語言建模(Language Model,簡稱LM)的統一。前綴模型的提出是為了使模型具有實體生成能力,使得文本誘導的zero-shot具有無需fine-tuning的泛化性。前綴語言建模不同于標準的語言建模,它允許對前綴序列進行雙向關注,并且只對剩余的tokens進行自回歸因式分解。在Sequence-to-Sequence(Seq2seq)框架下的前綴語言建模不僅可以享受MLM中的雙向語境化表示,而且還可以執行類似于語言建模的文本生成。
Masked Vision Modeling
與MLM類似,MVM對視覺(圖像或視頻)區域或塊進行采樣,并通常以15%的概率mask其視覺特征。在給定剩余視覺特征和所有文本特征的情況下,VLP模型需要重建mask的視覺特征。被mask的視覺特征被設置為零。由于視覺特征是高維的和連續的,VLP模型針對MVM提出了兩種變體。
(1)Masked Features Regression 學習將masked特征的模型輸出回歸到其原始視覺特征。VLP模型首先將masked特征的模型輸出轉換為與原始視覺特征相同維度的向量,然后在原始視覺特征與該向量之間進行L2回歸。
(2)Masked Feature Classification 學習預測masked特征的object semantic class。VLP模型首先將被屏蔽特征的輸出反饋到FC層來預測對象類的得分,然后通過Softmax函數將其轉換為預測歸一化分布。請注意,沒有ground-truth標簽。VLP模型的訓練方法有兩種。一種是VLP模型將對象檢測模型中最可能的對象類作為hard label(0或1),假設檢測到的對象類是masked特征的ground-truth標簽,并應用交叉熵損失來最小化prediction class和pseudo class之間的差距。另一種是VLP模型使用soft label作為監督信號,它是檢測器的原始輸出(即對象類的分布),并最小化兩個分布之間的KL散度。
Matching
Matching是
將視覺和語言統一到一個共享的隱層,生成通用的視覺語言表征。包括Vision-Language Matching, Vision-Language Contrastive Learning, Word-Region Alignment。
Vision-Language Matching
視覺語言匹配(VLM)是最常見的預訓練模型的目標,以實現視覺和語言的匹配。在單流VLP模型中,他們使用特殊符號[CLS]的表示作為兩種模態的融合表示。在雙流VLP模型中,它們將特殊視覺標記[CLSV]的視覺表征和特殊文本標記[CLST]的文本表征串聯起來,作為兩種模式的融合表征。VLP模型將兩種模式的融合表示提供給FC層和sigmoid函數,以預測0到1之間的分數,其中0表示視覺和語言不匹配,1表示視覺和語言匹配。在訓練過程中,VLP模型在每一步從數據集中抽樣正或負對。負對是通過從其他樣本中隨機選擇替換成對樣本中的視覺或文本來創建的。
Vision-Language Contrastive Learning
視覺語言對比學習(VLC)從N × N個可能的視覺語言對中預測出匹配的視覺語言對。請注意,在一批訓練中有N ~ N個負視覺語言對。VLP模型分別使用特殊視覺標記[CLSV]的視覺表示和特殊文本標記[CLST]的文本表示來表示視覺和語言的聚合表示。VLP模型計算 softmax-normalized 的視覺(圖像或視頻)到文本的相似性和文本到視覺的相似性,并利用視覺到文本和文本到視覺相似性的交叉熵損失來更新自己。相似度通常用點積來實現。
Word-Region Alignment
單詞-區域對齊(WRA)是一種無監督的預訓練目標,用于對齊視覺區域(視覺patch)和單詞。VLP模型利用最優傳輸來學習視覺和語言之間的對齊。經驗上,VLP模型使用IPOT算法來近似OT距離,因為精確的最小化在計算上是困難的。在求解極小化后,將OT距離作為訓練VLP模型的WRA損失。
Temporal
Temporal是
通過對中斷的輸入序列重新排序來學習良好的representation。
Frame Order Modeling
為了更好地模擬視頻的時序,VLP模型隨機擾亂一些輸入幀的順序,然后預測每一幀的實際位置。在實踐中,幀順序建模(FOM)被建模為一種分類任務。
Particular
Particular types由其他預訓練目標組成,例如視覺問題回答和視覺字幕。
VLP模型有時也使用一些下游任務的訓練對象,如視覺問答(VQA)和視覺字幕(VC)作為預訓練目標。對于VQA,VLP模型采用上述融合表示,應用FC層,并使用轉換后的表示來預測預定義答案候選的分類。除了VLP模型作為對預定義答案候選的分類來處理該任務之外,VLP模型還可以直接生成原始文本格式的答案。對于VC,為了使VLP模型具有生成能力來重構輸入語句,VLP模型使用自回歸解碼器來生成相應的圖像或視頻的文本描述。
預訓練數據集

(預訓練數據集)
下游任務
分類任務
視覺問答 Visual Question Answering (VQA).
視覺推理和組合問答 Visual Reasoning and Compositional Question Answering (GQA).
視頻語言推理 Video-Language Inference (VLI).
用于視覺推理的自然語言 Natural Language for Visual Reasoning (NLVR).
視覺蘊含 Visual Entailment (VE). 在VE任務中,圖像是前提,文本是假設。我們的目標是預測文本是否為“蘊涵圖像”。有三個標簽:蘊含、中立和矛盾。
視覺常識推理 Visual Commonsense Reasoning (VCR).
Grounding Referring Expressions (GRE). GRE任務是在給定文本引用的情況下定位相關的圖像區域。該模型可以輸出每個區域的得分,得分最高的區域被用作預測區域。
類別識別 Category Recognition (CR). CR指的是識別產品的類別,這是描述產品的重要屬性。
回歸任務
視覺語言檢索 Vision-Language Retrieval (VLR).
生成任務
視覺字幕 Visual Captioning (VC). VC的目標是為給定的可視(圖像或視頻)輸入生成語義和語法上適當的文本描述。
Novel Object Captioning at Scale (NoCaps). NoCaps擴展了VC任務,以測試模型描述Open Images數據集中新對象的能力,這些對象在訓練語料庫中是看不到的。
視覺對話 Visual Dialogue (VD). VD的任務形式被賦予一幅圖像(或視頻)、一段對話歷史和一個語言問題,并讓模型生成問題的答案。
其他任務
多模態機器翻譯 Multi-modal Machine Translation (MMT). MMT是一項翻譯和文本生成的雙重任務,將文本從一種語言翻譯成另一種語言,并使用來自其他形式的附加信息,即圖像。
視覺語言導航 Vision-Language Navigation (VLN). VLN是智能體運動的一項基礎語言任務,因為它基于語言指令來查看和探索現實世界的動態。
光學字符識別 Optical Character Recognition (OCR).
SOTA VLP模型

(SOTA VLP模型)
結語
本文是第一篇關于VLP的調研綜述。文章從特征提取、模型結構、預訓練目標、預訓練數據集和下游任務五個方面綜述了其最新進展,并對具體的SOTA VLP模型進行了詳細的總結。這能夠幫助研究人員更好地了解VLP,并啟發新的工作來推動這一領域的發展。未來,在現有工作的基礎上,
VLP可以從以下幾個方面進一步發展:
1. 整合聲學信息。
2. 知識性學習與認知性。
3. 快速遷移學習。
集萃感知的人工智能雷達視覺融合一體機是一款集毫米波雷達、智能視覺攝像機于一體的智能交通路側感知產品,該產品將融合毫米波雷達和攝像頭的感知優勢,通過雷達電磁調控、信號深度學習、雷視數據級融合等人工智能雷達技術,實現未來新一代智慧交通中——智能化交通信息全息采集及管理功能。