从LXMERT到VLMO:多模态预训练模型的演变史
?作者 | 吉雅太
單位 | 清華大學(xué)
研究方向 | 多模態(tài)研究
自從 2018 年 BERT 在 NLP 領(lǐng)域聲名鵲起,通過預(yù)訓(xùn)練在 n 多 NLP 任務(wù)中刷榜,成功發(fā)掘出了 transformer 的潛力,眾多研究者就看到了多模態(tài)發(fā)展的新的機(jī)會——使用大量數(shù)據(jù)做預(yù)訓(xùn)練。
因為從 updn 模型開始,多模態(tài)這面普遍把圖片提取成區(qū)域特征序列做后續(xù)處理,這樣的話多模態(tài)是視覺和文本特征序列,NLP 中是文本特征序列,沒什么本質(zhì)差異,自然可以把預(yù)訓(xùn)練搬過來,一系列多模態(tài) transformer 預(yù)訓(xùn)練的文章應(yīng)運(yùn)而生。
舉個栗子:LXMERT、VLBERT、ViLBERT、UNITER、UNIMO、OSCAR、VisualBert、VLP、今年的 ViLT、VinVL、SOHO、SimVLM、METER 等等,以及沒有使用預(yù)訓(xùn)練也達(dá)到很好效果的 MCAN。
按結(jié)構(gòu)主要可以分為單流、雙流,單流就是把不同模態(tài)特征序列先拼起來,通過 transformer 進(jìn)行自注意力,雙流就是先各個模態(tài)特征單獨(dú)自注意力,再經(jīng)過 transformer 交叉注意力。模型都是大同小異,或者預(yù)訓(xùn)練方法有些小的差別,最主要的趨勢是預(yù)訓(xùn)練數(shù)據(jù)越來越大。
幾個模型的預(yù)訓(xùn)練數(shù)據(jù)規(guī)模:
LXMERT
論文標(biāo)題:?
LXMERT: Learning Cross-Modality Encoder Representations from Transformers?
論文地址:?
https://arxiv.org/abs/1908.07490
視覺特征使用 faster rcnn 提取區(qū)域化特征,文本提取 word-level 特征。預(yù)訓(xùn)練使用了五個:Language Task: Masked Cross-Modality LM;Vision Task: RoI-Feature Regression;Vision Task: Detected-Label Classification;Cross-Modality Matching;Image Question Answering (QA)。
ViLBERT
論文標(biāo)題:?
ViLBERT: Pretraining Task-Agnostic Visiolinguistic Representations for Vision-and-Language Tasks
論文地址:?
https://arxiv.org/abs/1908.02265
結(jié)構(gòu)基本和 LXMERT 一樣,差別有以下幾點:預(yù)訓(xùn)練時 vilbert 對 masked region 的預(yù)測是一個 object label 的概率分布,讓它去接近區(qū)域特征提取器、即目標(biāo)檢測模型對該區(qū)域的預(yù)測 label 分布,損失為兩個分布的 KL 散度;預(yù)測答案時輸出頭不同,vilbert 用 [IMG]、[CLS] 表征向量相乘后接分類器。?
UNITER
論文標(biāo)題:?
UNITER: UNiversal Image-TExt Representation Learning
論文地址:?
https://arxiv.org/abs/1909.11740
結(jié)構(gòu)和其他的一樣,預(yù)訓(xùn)練任務(wù)采用了四個:MLM;MRM,把某區(qū)域特征換為全 0,然后去恢復(fù)它,mlm 和 mrm 不同時進(jìn)行,mrm 分為三類,一個是回歸特征向量,一個是分類任務(wù),GT 是目標(biāo)檢測預(yù)測的 label,再一個是最小化預(yù)測的分類分?jǐn)?shù)向量和目標(biāo)檢測預(yù)測的分?jǐn)?shù)向量之間的 KL 散度;ITM,圖文匹配;
WRA,為了提供視覺區(qū)域和文本單詞更細(xì)粒度的對齊,通過使用 Optimal Transport,有效地計算從圖片特征轉(zhuǎn)換到文本特征的最小代價,這里沒太看懂,大概就是 OT 可以學(xué)出一個矩陣 T,表示第 i 個區(qū)域、第 j 個文本是否是對應(yīng)的,損失就是 ,這里的 c 是余弦距離。預(yù)訓(xùn)練策略是對每個 batch 隨機(jī)采樣一個任務(wù)來訓(xùn)練。
Oscar
論文標(biāo)題:?
Oscar: Object-Semantics Aligned Pre-training for Vision-Language Tasks
論文地址:?
https://arxiv.org/abs/2004.06165
本文預(yù)訓(xùn)練使用的數(shù)據(jù)是 圖片-文本-檢測到的 object 標(biāo)簽 三元組,相當(dāng)于用物體標(biāo)簽做圖片和文本的錨點,減小兩種模態(tài)之間的 gap,因為標(biāo)簽一方面和圖片的某區(qū)域?qū)?yīng),另一方面它又是文本內(nèi)容。
兩個預(yù)訓(xùn)練任務(wù):A Dictionary View:Masked Token Loss,即恢復(fù)被 mask 掉的文本 token,可能在句子里,也可能是 tags;A Modality View: Contrastive Loss,把 tags 序列以 50% 概率換掉,然后在輸出進(jìn)行二分類,判斷此時的三元組是正確的還是被污染的。
SOHO
論文標(biāo)題:?
Seeing Out of tHe bOx: End-to-End Pre-training for Vision-Language Representation Learning
論文地址:?
https://arxiv.org/abs/2104.03135
作者團(tuán)隊來自北京科技大學(xué)、Beijing Engineering Research Center of Industrial Spectrum Imaging、MSRA。本文提出模型 SOHO(see out of the box),用整張圖片作為輸入,用端到端的方式學(xué)習(xí)視覺語言表征,即無需提取區(qū)域化特征,所以叫做 out of the(bounding)box。由于不需做目標(biāo)檢測,推理速度快了十倍。
SOHO 通過便于跨模態(tài)理解的視覺字典(VD)提取全面而緊湊的圖像特征。本文使用一個叫做 MVM(masked visual modeling)的預(yù)訓(xùn)練,會利用到 VD,其他預(yù)訓(xùn)練有 MLM、ITM(圖文匹配)。但其實使用網(wǎng)格特征很多之前的工作都已經(jīng)在用了。
很常見的結(jié)構(gòu),比較新的是 visual dictionary 的提出,它的 motivation 是 CNN 提取出的圖片的網(wǎng)格化特征并沒有一個明確的含義(不像區(qū)域化特征對應(yīng)了 object),VD 目的是彌補(bǔ)網(wǎng)格特征和語言 token 之間的 gap,比較巧妙,最終實現(xiàn)的目的是讓屬于同一類 object 的網(wǎng)格特征具有更高的語義相似性。
VD 是一個二維矩陣,由 k 個特征 d 組成,對于某一個視覺特征 v,計算最相似的 d(二范數(shù)距離最小),(然后用這個 d 替代 v,但我覺得這樣的話會喪失一個物體的不同網(wǎng)格之間的特異性)。VD 的更新:先隨機(jī)初始化,然后用移動平均法更新:
沒太看懂它的公式,總之思路就是視覺字典中的特征 d 應(yīng)該向目前輸入的特征 v 學(xué)習(xí),就是找到和 v 最相似的存儲的特征后,再用 v 更新這個存儲的特征,使得存儲的特征越來越趨向于表征某一類物體。
預(yù)訓(xùn)練用了 masked language modeling、image-text matching,以及 masked visual modeing,MVM 是隨機(jī) mask 掉某個物體的所有網(wǎng)格,然后預(yù)測這些網(wǎng)格屬于的類別(這里的類別指的是在 VD 中,每一個存儲的特征給一個編號)。
實驗在一些下游任務(wù)上都取得了較可觀的效果。
ViLT
論文標(biāo)題:?
ViLT: Vision-and-Language Transformer Without Convolution or Region Supervision
論文地址:?
https://arxiv.org/abs/2102.03334
本文 motivation 在于視覺特征不管用目標(biāo)檢測得到的區(qū)域特征,還是卷積得到網(wǎng)格化特征,都是很耗時的。
ViLT 提取圖片特征的方法模仿 ViT,對每個 patch 做一個 linear projection,參數(shù)量驟降,具體做法就是把每個 patch( )展成一維,再映射到隱狀態(tài)維度。模型初始化使用 ViT 的權(quán)重,結(jié)構(gòu)也和 vit 相同(結(jié)構(gòu)上與 bert 唯一的不同在于 LN 層的位置)。
預(yù)訓(xùn)練的方法有:image text matching(ITM)and masked language modeling(MLM)。另外使用了一種 word patch alignment(WPA)的方法計算文本子集和視覺子集的對齊分?jǐn)?shù)(仿照 uniter)。
引入 WholeWord Masking 的方法,因為分詞時有時會把一個詞分開,這種方法是把屬于一個詞的所有分詞都 mask 掉。使用 Image Augmentation 增強(qiáng)模型泛化性,在微調(diào)時,他們使用 RandAugment 里的所有方法,除了兩個:顏色轉(zhuǎn)換和裁剪。
SimVLM
論文標(biāo)題:?
SimVLM: Simple Visual Language Model Pretraining with Weak Supervision
論文地址:?
https://arxiv.org/abs/2108.10904
作者團(tuán)隊來自 CMU、谷歌、華盛頓大學(xué)。總體思路是用更大尺度弱監(jiān)督數(shù)據(jù)做預(yù)訓(xùn)練,用一個語言建模的目標(biāo)去進(jìn)行端到端地訓(xùn)練。在相當(dāng)多任務(wù)上達(dá)到 sota,尤其在 VQA2.0 上,達(dá)到了 80 的準(zhǔn)確率,刷新認(rèn)知,猶記得大四下做 VQA 時,準(zhǔn)確率還停留在 70 出頭,當(dāng)時想上個 70 都很難,現(xiàn)在都卷到 80 了。。SimVLM 預(yù)訓(xùn)練更簡單,不需要做目標(biāo)檢測(不需使用區(qū)域化特征)或輔助的損失(比如lxmert 里使用了 5 個預(yù)訓(xùn)練任務(wù)),但是獲得了很好的表現(xiàn)。并且模型有很強(qiáng)的泛化能力,在零樣本學(xué)習(xí)中同樣表現(xiàn)良好。
simvlm 使用的結(jié)構(gòu)還是 transformer,與之前的模型的一個區(qū)別在于預(yù)訓(xùn)練方法的不同,本文使用 prefixLM。之前的預(yù)訓(xùn)練一般用 MLM,建模雙向的關(guān)系,或者生成式的 LM,逐詞生成,建模單向的關(guān)系。prefixLM 算是兩者的結(jié)合,即給定前半段文本,逐詞生成后半段文本。
預(yù)訓(xùn)練的數(shù)據(jù)取用的是大尺度的圖片-文本對(由于數(shù)據(jù)量很大,所以也含有較多噪聲),數(shù)據(jù)來自 Scaling up visual and vision-language representation learning with noisy text supervision 。由于預(yù)訓(xùn)練任務(wù)對模態(tài)不敏感,所以也可以用純文本加入預(yù)訓(xùn)練,彌補(bǔ)圖片-文本對時包含的噪聲。
實驗
設(shè)計了三種變體:base、large、huge。具體超參數(shù)設(shè)置見原文。使用 AdamW 做優(yōu)化器。在 5 個下游任務(wù)作了微調(diào):VQA、Visual entailment(視覺文本關(guān)系判斷)、視覺推理、image caption、多模態(tài)翻譯。
零樣本生成任務(wù):不需微調(diào)訓(xùn)練。比如 image caption,在推理時,給一個前綴?prompt“a picture of”,就可以生成后續(xù)的描述。獲得了和監(jiān)督學(xué)習(xí)一樣好的效果。還比如開放域 VQA 等。
METER
論文標(biāo)題:?
An Empirical Study of Training End-to-End Vision-and-Language Transformers
論文地址:?
https://arxiv.org/abs/2111.02387
這篇文章就是在視覺、語言特征提取上用了最新的有效的基于 transformer 的模型比如 swin、roberta 等,最后在下游任務(wù)上,比如 VQA2.0,取得了僅次于 simvlm 的結(jié)果,文章強(qiáng)調(diào)了 meter 的預(yù)訓(xùn)練數(shù)據(jù)只有 4M,而 simvlm 用了 1.8B。
這篇文章做了大量的實驗,在每一個環(huán)節(jié)都嘗試了大量的方法,經(jīng)典“a+b”,不過大部分這些預(yù)訓(xùn)練的文章感覺創(chuàng)新都不是很大。結(jié)構(gòu)上,視覺特征用了 ViT,DeiT,Distilled-DeiT,CaiT,VOLO,BEiT,Swin Transformer,CLIP-ViT,文本用了 BERT,RoBERTa,ELECTRA,ALBERT,DeBERTa。融合模塊用了雙流和單流兩種。整體結(jié)構(gòu)有 Encoder-Only,Encoder-Decoder 兩種。
預(yù)訓(xùn)練又試了很多:MLM、ITM、MIM(設(shè)計了兩種 masked patch classification 方法)(mim 用處不大)。
實驗
證明了文本 roberta、視覺 swin transformer、CLIP-ViT-224/16 效果較好。
發(fā)現(xiàn)的 trick:(1)隨機(jī)初始化的權(quán)重設(shè)置學(xué)習(xí)率應(yīng)大于有預(yù)訓(xùn)練的權(quán)重的學(xué)習(xí)率;(2)用插值等方法提高圖像分辨率。
融合部分 co-attention 優(yōu)于 merged attention。
預(yù)訓(xùn)練部分證明了 MLM 和 ITM 是有效的,MIM 起反作用。
VLMO
論文標(biāo)題:?
VLMO: Unified Vision-Language Pre-Training with Mixture-of-Modality-Experts
論文地址:?
https://arxiv.org/abs/2111.02358
這篇論文也是 11 月份剛掛在 arxiv 上的多模態(tài)預(yù)訓(xùn)練模型 VLMO。作者團(tuán)隊來自微軟。
本文作出的主要改進(jìn)在于這幾個方面:對 transformer 結(jié)構(gòu)做了一些修改,將傳統(tǒng)編碼器的 FFN 分為三條路徑(視覺、語言、跨模態(tài)),分別構(gòu)成了 dual encoder 和 fusion encoder,可以分別適用于不同的下游任務(wù),比如檢索任務(wù)用 dual、需要跨模態(tài)語義信息的分類任務(wù)用 fusion;預(yù)訓(xùn)練任務(wù)分階段進(jìn)行,image-only、text-only、image-text。
作者認(rèn)為多模態(tài)編碼器可以分為兩類,一類是像 CLIP、ALIGN 這樣的 dual encoder,分別對圖片、文本編碼后,計算一個編碼特征之間的相似度;一類是 fusion encoder,就是我們常見的這些,挖掘跨模態(tài)的語義信息。vlmo 做的事情主要就是把兩類融合起來,這樣可以適用的預(yù)訓(xùn)練、下游任務(wù)更廣泛。
具體方法。圖片表征和 vit、vilt 相同,分 patch,再展平做線性映射作為輸入。(這種方法最大的優(yōu)勢就是快,但從 vlit 結(jié)果來看,準(zhǔn)確率有點拉,這篇文章雖然也用這種方法,但是準(zhǔn)確率很高)文本編碼一樣,聯(lián)合特征就是拼接起來。模型結(jié)構(gòu)比較靈活,要單獨(dú)編碼圖片、文本時,就用 V-FFN、L-FFN,編碼拼接起來的圖片文本序列時,用 VL-FFN。daul 時,就用前兩層;fusion 時,底層用前兩個分別編碼,上層用 VL-FFN 編碼高級特征。
預(yù)訓(xùn)練。三個:Image-Text Contrast,一個 batch 的圖片、文本作對比學(xué)習(xí),對角線上是正樣本對(這是一般的方法,但本文的方法分為圖片對文本、文本對圖片的相似度,沒太看懂);MLM;ITM。預(yù)訓(xùn)練在三類數(shù)據(jù)上分階段進(jìn)行。實驗也是常用的四個預(yù)訓(xùn)練數(shù)據(jù)集:coco、vg、sbu、gcc。
特別鳴謝
感謝 TCCI 天橋腦科學(xué)研究院對于 PaperWeekly 的支持。TCCI 關(guān)注大腦探知、大腦功能和大腦健康。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達(dá)讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認(rèn)識的人。
總有一些你不認(rèn)識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)術(shù)熱點剖析、科研心得或競賽經(jīng)驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝?稿件基本要求:
? 文章確系個人原創(chuàng)作品,未曾在公開渠道發(fā)表,如為其他平臺已發(fā)表或待發(fā)表的文章,請明確標(biāo)注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發(fā)送,要求圖片清晰,無版權(quán)問題
? PaperWeekly 尊重原作者署名權(quán),并將為每篇被采納的原創(chuàng)首發(fā)稿件,提供業(yè)內(nèi)具有競爭力稿酬,具體依據(jù)文章閱讀量和文章質(zhì)量階梯制結(jié)算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯(lián)系方式(微信),以便我們在稿件選用的第一時間聯(lián)系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
🔍
現(xiàn)在,在「知乎」也能找到我們了
進(jìn)入知乎首頁搜索「PaperWeekly」
點擊「關(guān)注」訂閱我們的專欄吧
·
總結(jié)
以上是生活随笔為你收集整理的从LXMERT到VLMO:多模态预训练模型的演变史的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 花落人亡两不知第16章(花落人亡两不知)
- 下一篇: 微信花呗是什么