Datawhale干貨 作者:張義杰 單位:中國移動(dòng)云能力中心 前言視覺-語言 (Vision-Language, VL) 是計(jì)算機(jī)視覺和自然語言處理這兩個(gè)研究領(lǐng)域之間形成的交叉領(lǐng)域,,旨在賦予 AI 系統(tǒng)從多模態(tài)數(shù)據(jù)中學(xué)習(xí)有效信息的能力,。受 NLP 預(yù)訓(xùn)練語言模型(如BERT\GPT等)的啟發(fā),視覺-語言預(yù)訓(xùn)練 (Vision-Language Pre-training, VLP) 逐漸受到關(guān)注,,成為如今 VL 任務(wù)的核心訓(xùn)練范式,。本文對(duì) VLP 領(lǐng)域近期的綜述文章進(jìn)行整理,回顧其最新的研究進(jìn)展,,旨在提供一份 VLP 入門指南,。 什么是視覺-語言任務(wù)?首先,,我們需要知道視覺-語言任務(wù)是什么,?顧名思義,視覺-語言任務(wù)指的是處理視覺和語言這兩種多模態(tài)信號(hào)輸入的任務(wù),,根據(jù)歷史工作主要可以分為三類:
圖 1:視覺-語言任務(wù)圖示 模型結(jié)構(gòu)受預(yù)訓(xùn)練語言模型 (PLM) 的啟發(fā),,以及 NLP 和 CV 領(lǐng)域越來越多地使用基于 Transformer 的統(tǒng)一架構(gòu)的趨勢(shì),,關(guān)于視覺-語言預(yù)訓(xùn)練的研究也受到越來越多的關(guān)注,。VLP 主要通過在大規(guī)模數(shù)據(jù)上進(jìn)行預(yù)訓(xùn)練來學(xué)習(xí)不同模態(tài)之間的語義對(duì)應(yīng)關(guān)系。例如,在圖像-文本預(yù)訓(xùn)練中,,我們希望模型將文本中的“狗”與圖像中“狗”的樣子相關(guān)聯(lián),。在視頻-文本預(yù)訓(xùn)練中,,我們期望模型將文本中的對(duì)象/動(dòng)作映射到視頻中的對(duì)象/動(dòng)作,。為了實(shí)現(xiàn)這一目標(biāo),需要巧妙地設(shè)計(jì) VLP 的模型架構(gòu),,使模型有能力挖掘不同模態(tài)之間的關(guān)聯(lián),。 具體來講,給定圖像-文本對(duì),,VL 模型首先分別通過視覺編碼器和文本編碼器提取視覺特征 = {1, ··· , M} 和文本特征 = {1, ··· , N},。這里,M 是圖像的視覺特征數(shù)量,,它可以是圖像區(qū)域/網(wǎng)格/圖像塊的數(shù)量,,具體取決于所使用的特定的視覺編碼器,N 則是句子中子詞的數(shù)量,。然后將視覺和文本特征送入多模態(tài)融合模塊來產(chǎn)生跨模態(tài)表示,,然后在生成最終輸出之前可選擇地將其送入至解碼器。圖 2 展示了這個(gè)通用框架的結(jié)構(gòu),。在許多情況下,,圖像/文本主干、多模態(tài)融合模塊和解碼器之間沒有明確的界限,。一般將模型中僅以圖像/文本特征作為輸入的部分稱為相應(yīng)的視覺/文本編碼器,,將模型中同時(shí)以圖像和文本特征作為輸入的部分稱為多模態(tài)融合模塊。除此之外,,如果有額外的模塊將多模態(tài)特征作為輸入來生成輸出,,則稱之為解碼器。 圖 2:基于Transformer的VL模型的通用框架 視覺編碼器視覺編碼器主要分為三種類型:(i) 對(duì)象檢測(cè)器 (OD),(ii) 卷積神經(jīng)網(wǎng)絡(luò) (CNN),,以及 (iii) Vision Transformer (ViT):
總之,無論使用什么視覺編碼器,,輸入圖像都被表示為一組特征向量 = {1, ··· , M},。 圖 3:ViLBERT中的OD區(qū)域特征 文本編碼器文本編碼器的處理方式遵循 BERT 和 RoBERTa 等預(yù)訓(xùn)練語言模型。如圖 4 所示,首先將輸入句子分割成子詞序列,。然后在句子的開頭和結(jié)尾插入兩個(gè)特殊標(biāo)記以生成輸入文本序列,。在獲得文本嵌入之后,現(xiàn)有的工作要么將它們直接輸入給多模態(tài)融合模塊,,要么在融合之前輸入給若干個(gè)文本信息處理層,。對(duì)于前者,融合模塊通常使用 BERT 進(jìn)行初始化,,文本編碼器和多模態(tài)融合也因此作用在單個(gè) BERT 模型中,,在這種情況下,我們將文本編碼器視為詞嵌入層,。在歷史的工作中,,研究人員研究了使用 BERT、RoBERTa,、ELECTRA,、ALBERT 和 DeBERTa 等多種不同的模型進(jìn)行文本編碼。簡(jiǎn)而言之,,無論使用什么文本編碼器,,輸入文本都表示為一組特征向量 = {1, ··· , N}。 圖 4:文本編碼器輸入表示 多模態(tài)融合多模態(tài)融合模塊旨在將編碼自不同模態(tài)的信息整合成一個(gè)穩(wěn)定的多模態(tài)表征,。對(duì)于像 CLIP 和 ALIGN 這樣的雙編碼器模型,,融合是通過兩個(gè)全局圖像和文本特征向量之間的點(diǎn)積來執(zhí)行的。對(duì)于融合編碼器,,它以 = {1, ··· , M} 和 = {1, ··· , N} 作為輸入,,并學(xué)習(xí)表示為 = {1, ··· , M} 和 = {1, ··· , N}。多模態(tài)融合模塊主要有兩類,,即單流模式和雙流模式,,也稱作 merged attention 和 co-attention,如圖 5 所示,。
圖 5:多模態(tài)融合圖示 僅編碼器 vs. 編碼器-解碼器大多數(shù) VLP 模型僅包含編碼器,,其中跨模態(tài)表示直接輸入到基于 MLP 的輸出層來生成最終輸出。這種設(shè)計(jì)自然適合 VL 理解任務(wù),,例如 VQA 和視覺推理,。當(dāng)用于圖像描述時(shí),結(jié)構(gòu)類似的編碼器充當(dāng)解碼器,,通過使用因果掩碼逐個(gè)標(biāo)記地生成輸出圖像描述文本,。 最近,受到 NLP 領(lǐng)域中 T5 和 BART 的啟發(fā),,VL-T5\SimVLM\OFA 等提出使用基于 Transformer 的編碼器-解碼器架構(gòu),其中跨模態(tài)表示首先被送入解碼器,,然后送入輸出層,。在這些模型中,解碼器同時(shí)關(guān)注編碼器表示和先前生成的標(biāo)記,,以自回歸地方式產(chǎn)生輸出,。使用編碼器-解碼器架構(gòu)可以實(shí)現(xiàn)各種圖像-文本任務(wù)的統(tǒng)一和 VLP 模型的零樣本/少樣本學(xué)習(xí),并且也很自然地適合生成類的任務(wù),。圖 6 展示了僅編碼器和編碼器-解碼器架構(gòu)之間的說明性比較,。 圖 6:僅編碼器 vs. 編碼器-解碼器 預(yù)訓(xùn)練目標(biāo)預(yù)訓(xùn)練目標(biāo)指導(dǎo)模型如何學(xué)習(xí)視覺-語言的關(guān)聯(lián)信息。歷史工作中的主流預(yù)訓(xùn)練目標(biāo)主要可以分為三大類:Masked Language Modeling (MLM),、Masked Vision Modeling (MVM) 和 Vision-Language Matching (VLM),。 Masked Language ModelingMLM 源自于 NLP 領(lǐng)域,由于 BERT 將其改編為一種新穎的預(yù)訓(xùn)練任務(wù)而廣為人知,。為了以視覺信息為條件對(duì)語言進(jìn)行建模,,VLP 模型中的 MLM 與預(yù)訓(xùn)練語言模型中的 MLM 類似,但它不僅通過剩下的未遮蔽文本標(biāo)記,,而且還通過視覺標(biāo)記來預(yù)測(cè)被遮蔽的文本標(biāo)記,。根據(jù)經(jīng)驗(yàn),遵循 BERT 的 VLP 模型以 15% 的概率隨機(jī)遮蔽每個(gè)文本輸入標(biāo)記,,并在遮蔽的過程中 80% 的時(shí)間里使用特殊標(biāo)記 [MASK] 替換被遮蔽的標(biāo)記,,10% 的時(shí)間使用隨機(jī)文本標(biāo)記,還有 10% 的時(shí)間使用原始標(biāo)記來進(jìn)行遮蔽操作,。其公式定義如下: 其中,, 表示視覺輸入, 表示文本標(biāo)記,, 表示未遮蔽文本標(biāo)記,, 表示訓(xùn)練數(shù)據(jù)集,。 Masked Vision Modeling與 MLM 類似,MVM 它對(duì)視覺區(qū)域或圖像塊進(jìn)行采樣,,通常以 15% 的概率遮蔽它們的視覺特征,。VLP 模型需要在給定剩余的視覺特征和所有文本特征的情況下重建被遮蔽的視覺特征,其中被遮蔽的視覺特征設(shè)置為零,。例如 LXMERT 和 UNITER 中,,遮蔽了一些輸入?yún)^(qū)域,并且訓(xùn)練模型來回歸預(yù)測(cè)原始區(qū)域特征,。形式上,,給定一個(gè)視覺特征序列 v =〈v1,· · ·,,vM〉,,其中 vi 一般是區(qū)域特征表示。在隨機(jī)遮蔽一些區(qū)域特征后,,模型通過剩下的視覺特征和未遮蔽的標(biāo)記 t 輸出重構(gòu)的視覺特征 ov,,其回?fù)p失函數(shù)旨在最小化均方誤差損失。部分研究工作還嘗試先使用預(yù)訓(xùn)練的對(duì)象檢測(cè)器為每個(gè)區(qū)域生成對(duì)象標(biāo)簽,,該對(duì)象檢測(cè)器可以包含高級(jí)的語義信息,,并且訓(xùn)練該模型來預(yù)測(cè)遮蔽區(qū)域的對(duì)象標(biāo)簽,而不是原來的區(qū)域特征,。由于視覺特征是高維和連續(xù)的,,VLP 模型為 MVM 提出了兩種變體:Masked Features Regression (MFR) 和 Masked Feature Classification (MFC)。 MFR 學(xué)習(xí)將掩碼特征的模型輸出回歸至其原始視覺特征,。VLP 模型首先將掩碼特征的模型輸出轉(zhuǎn)換為與原始視覺特征相同維度的向量,,并在原始視覺特征和該向量之間應(yīng)用 L2 回歸。MRC 學(xué)習(xí)預(yù)測(cè)掩碼特征的對(duì)象語義類別,。VLP 模型首先將掩碼特征的輸出輸入到 FC 層來預(yù)測(cè)對(duì)象類別的分?jǐn)?shù),,然后通過 softmax 函數(shù)將其轉(zhuǎn)換為歸一化分布。注意這里沒有真實(shí)標(biāo)簽,。有兩種訓(xùn)練 VLP 模型的方法,,一種是 VLP 模型將對(duì)象檢測(cè)模型中最有可能的對(duì)象類作為硬標(biāo)簽,假設(shè)檢測(cè)到的對(duì)象類是掩碼特征的真實(shí)標(biāo)簽,,并應(yīng)用交叉熵?fù)p失來最小化預(yù)測(cè)結(jié)果和偽標(biāo)簽之間的差距,。另一個(gè)是 VLP 模型利用軟標(biāo)簽作為監(jiān)督信號(hào),它是檢測(cè)器的原始輸出(即對(duì)象類別的分布),,并最小化兩個(gè)分布之間的 KL 散度,。 Vision-Language MatchingVLM 是最常用的視覺和文本對(duì)齊的預(yù)訓(xùn)練目標(biāo),旨在將視覺和文本投射到同一個(gè)表示空間中,。在單流 VLP 模型中,,它們使用特殊標(biāo)記 [CLS] 的表示作為兩種模式的融合表示,。在雙流 VLP 模型中,他們將表征視覺信息的特殊視覺標(biāo)記 [CLSV] 和表征文本信息的特殊文本標(biāo)記 [CLST] 拼接起來,,作為兩種模態(tài)輸入的融合表示,。VLP 模型將兩種模態(tài)輸入的融合表示提供給 FC 層和 sigmoid 函數(shù)來預(yù)測(cè) 0 到 1 之間的分?jǐn)?shù),其中 0 表示視覺和文本不匹配,,1 則反之,。在訓(xùn)練過程中,VLP 模型在每一步都從數(shù)據(jù)集中采樣正負(fù)對(duì),,其中負(fù)樣本對(duì)是通過用從其它樣本中隨機(jī)選擇的樣本替換配對(duì)樣本中的視覺或文本數(shù)據(jù)來創(chuàng)建的,。 值得一提的是,在視覺和文本對(duì)齊任務(wù)中,,基于對(duì)比學(xué)習(xí)的預(yù)訓(xùn)練目標(biāo)也經(jīng)常被用到,,例如 Image-Text Contrastive Learning (ITC)。與 VLM 不同,,ITC 在給定一個(gè)批次大小為 N 的視覺-文本對(duì)的情況下,,從 N × N 個(gè)構(gòu)造的視覺-文本對(duì)中預(yù)測(cè)真實(shí)匹配的視覺-文本對(duì)。在一個(gè)訓(xùn)練批次中有 N2 ? N 個(gè)視覺-語言對(duì)負(fù)樣本,。VLP 模型使用特殊視覺標(biāo)記 [CLSV] 和特殊文本標(biāo)記 [CLST] 來聚合視覺和語言表示。VLP 模型計(jì)算通過 softmax 歸一化的視覺-文本相似度和文本-視覺相似度,,并利用視覺-文本和文本-視覺相似度的交叉熵?fù)p失來更新自身,。相似度計(jì)算一般通過由點(diǎn)積運(yùn)算來得到。其公式定義如下: 其中,,. 表示圖像和文本,, 表示相似度計(jì)算函數(shù),, 是溫度系數(shù),。 下游任務(wù)目標(biāo)為了更好地適應(yīng)下游任務(wù),VLP 模型有時(shí)會(huì)使用一些下游任務(wù)的訓(xùn)練目標(biāo),例如視覺問答(VQA)和視覺描述(VC),,作為預(yù)訓(xùn)練目標(biāo),。對(duì)于 VQA,,VLP 模型采用上述融合表示,應(yīng)用 FC 層,,并使用轉(zhuǎn)換后的表示來預(yù)測(cè)預(yù)定義的候選答案的類別。除此之外,,VLP 模型還可以直接生成原始文本格式的答案,。對(duì)于 VC,為了賦予 VLP 模型生成的能力來重構(gòu)輸入語句,,VLP 模型使用自回歸解碼器來生成圖像或視頻的相應(yīng)文本描述,。由于篇幅限制,這里只介紹一些流行的預(yù)訓(xùn)練目標(biāo),。 數(shù)據(jù)集預(yù)訓(xùn)練數(shù)據(jù)集對(duì)于 VLP 模型至關(guān)重要,。預(yù)訓(xùn)練數(shù)據(jù)集的質(zhì)量和大小有時(shí)會(huì)超過訓(xùn)練策略和算法的重要性,。由于 VLP 包括圖像-語言預(yù)訓(xùn)練和視頻-語言預(yù)訓(xùn)練,,可以大致將預(yù)訓(xùn)練數(shù)據(jù)集分為兩大類。在大多數(shù)工作中,,VLP 的預(yù)訓(xùn)練數(shù)據(jù)集是通過組合多模態(tài)任務(wù)或跨場(chǎng)景的公共數(shù)據(jù)集來構(gòu)建的。然而,,也有一些工作如 ALIGN 和 CLIP,使用自建數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練,。這些自建數(shù)據(jù)集通常比大多數(shù)公共數(shù)據(jù)集大,但包含的噪聲可能也更多。表 1 展示了一些主流 VLP 預(yù)訓(xùn)練數(shù)據(jù)集的統(tǒng)計(jì)數(shù)據(jù),。 表 1:VLP 數(shù)據(jù)集 圖像-文本數(shù)據(jù)集對(duì)于圖像-語言預(yù)訓(xùn)練,,使用最廣泛的數(shù)據(jù)形式是圖像-文本對(duì),。大多數(shù)圖像-語言預(yù)訓(xùn)練數(shù)據(jù)集由大量的圖像-文本對(duì)組成,。SBU 和Flickr30k 從 Flickr 收集而來,,并進(jìn)行人工標(biāo)注。COCO 由帶有五個(gè)人工生成標(biāo)題的圖像組成,,并通過特殊程序進(jìn)行過濾來保證圖像和標(biāo)注的質(zhì)量,。CC3M 和 CC12M 是通過從互聯(lián)網(wǎng)抓取圖像及其 HTML 屬性中的 alt 標(biāo)簽,,并使用經(jīng)過濾的描述文本來標(biāo)注這些圖片而構(gòu)建的,。由于過濾策略相對(duì)寬松,,CC12M 比 CC3M 包含更多的噪聲。另一個(gè)數(shù)據(jù)源是視覺問答任務(wù) (VQA),。許多圖像-語言數(shù)據(jù)集在 VQA 的上下文中被組織成結(jié)構(gòu)化數(shù)據(jù),。代表性的大規(guī)模數(shù)據(jù)集是 VG,。VG 以其結(jié)構(gòu)化數(shù)據(jù)形式包含豐富的信息,。在圖像-語言預(yù)訓(xùn)練研究中,其區(qū)域級(jí)描述和問答對(duì)被廣泛使用,。除了 VG 之外,,VQA 和 GQA 也是流行的視覺問答對(duì)數(shù)據(jù)集。與 VGA 相比,,GQA 進(jìn)一步減輕了系統(tǒng)性偏差,。 上述數(shù)據(jù)集適用于大多數(shù)常見場(chǎng)景。還有一些數(shù)據(jù)集是為特殊場(chǎng)景設(shè)計(jì)的,。例如,,Matterport3D 由建筑規(guī)模場(chǎng)景的 RGB-D 圖像組成,并標(biāo)注了分類和分割標(biāo)簽,。Fashion-Gen 包含由專業(yè)設(shè)計(jì)師生成的帶有物品描述的時(shí)尚圖片,。 視頻-文本數(shù)據(jù)集與圖像-語言預(yù)訓(xùn)練數(shù)據(jù)集相比,視頻-語言預(yù)訓(xùn)練數(shù)據(jù)集通常更耗時(shí),,且更難收集和處理,。這些不便也制約了該領(lǐng)域發(fā)展和預(yù)訓(xùn)練的規(guī)模,。用于視頻-語言預(yù)訓(xùn)練的數(shù)據(jù)集涵蓋不同的場(chǎng)景和來源,。其中大多數(shù)數(shù)據(jù)集,,例如 Kinetics-400,、HowTo100M、WebVid-2M 都是從網(wǎng)上收集的,,并采用了不同的處理流程,。這些類型的視頻通常伴隨有字幕信息,從而在視頻片段和文本之間提供了或弱或強(qiáng)的對(duì)齊關(guān)系,。盡管這些字幕有時(shí)可能太弱而無法對(duì)齊,,但它們?nèi)匀惶峁┝擞杏玫男畔ⅲ貏e是對(duì)于大規(guī)模數(shù)據(jù)集上的預(yù)訓(xùn)練,。視頻-文本對(duì)的另一個(gè)來源是電視節(jié)目,。TVQA 是從電視節(jié)目生成的視頻-語言預(yù)訓(xùn)練數(shù)據(jù)集。這些電視節(jié)目被收集并轉(zhuǎn)換成包括許多對(duì)話的數(shù)據(jù)集,,用于理解視頻和識(shí)別視頻中的語義概念,。 考慮到這些數(shù)據(jù)集的來源和形成的多樣性,,研究人員應(yīng)用了不同的標(biāo)注和處理程序,。例如,,Kinetics-400 包含許多帶有動(dòng)作類標(biāo)注的動(dòng)作相關(guān)視頻,。對(duì)于其它的一些數(shù)據(jù)集,,視頻剪輯的附帶描述/字幕或視頻中的概念類別通常被處理并用作標(biāo)注信息,。 VLP 模型19年提出的 VisualBERT 被稱為第一個(gè)圖像-文本預(yù)訓(xùn)練模型,,它使用 Faster R-CNN 提取視覺特征,,并將視覺特征和文本嵌入拼接起來,然后輸入到單個(gè)由 BERT 初始化的 transformer 中,。后續(xù)許多 VLP 模型在調(diào)整預(yù)訓(xùn)練目標(biāo)和預(yù)訓(xùn)練數(shù)據(jù)集時(shí)遵循與 VisualBERT 相似的特征提取方式和架構(gòu)設(shè)計(jì),。 最近,VLMo 將圖像的塊嵌入和文本的詞嵌入進(jìn)行拼接組合,,輸入到混合模態(tài)專家的 transformer (MoME) 中,。METER 則探索了如何使用單模態(tài)的預(yù)訓(xùn)練模型,并提出一種雙流架構(gòu)模型來處理多模態(tài)融合的問題,。 表 2 介紹了一些目前具有代表性的 VLP 模型,,并且對(duì)這些模型各個(gè)模塊的配置進(jìn)行了匯總。 表 2:主流 VLP 模型 (OD: object detector. Xformer: transformer. Emb.: embedding. WRA: word-region alginment. TP: token prediction. CA:contrastive alignment. GC: grounding+captioning.) 小結(jié)在本篇文章中,,筆者通過整理多篇研究綜述,,從多個(gè)方面梳理了視覺-語言訓(xùn)練的技術(shù)路線:任務(wù)描述、模型結(jié)構(gòu),、預(yù)訓(xùn)練目標(biāo)以及預(yù)訓(xùn)練數(shù)據(jù)集等,,旨在幫助對(duì)該領(lǐng)域有興趣的小伙伴快速入門。隨著 VLP 研究的發(fā)展,,還涌現(xiàn)出許多其它有趣的研究課題,,例如大模型、小樣本學(xué)習(xí),、統(tǒng)一建模,、魯棒性評(píng)估等。后續(xù),,筆者將會(huì)進(jìn)一步探討這些更高層次的研究課題,。 參考文獻(xiàn)[1] An Empirical Study of Training End-to-End Vision-and-Language Transformers. https:///abs/2111.02387 [2] VLP: A Survey on Vision-Language Pre-training. https:///abs/2202.09061 [3] Vision-Language Pre-training: Basics, Recent Advances, and Future Trends. https:///abs/2210.09263 |
|