從頂會論文看多模態(tài)預(yù)訓(xùn)練研究進展
以下文章來源于RUC AI Box ,作者都一凡
憑借著強大的泛化能力,預(yù)訓(xùn)練模型在CV和NLP領(lǐng)域的一系列任務(wù)上取得巨大成功。尤其是自以Transformer為架構(gòu)的預(yù)訓(xùn)練模型在NLP領(lǐng)域大放異彩之后,多模態(tài)領(lǐng)域也嘗試引入Transformer融合不同模態(tài)之間的交互,從而走上了預(yù)訓(xùn)練模型的這條道路。筆者對ICML2021, ACL2021, NIPS2021, EMNLP2021, ACL2022 ARR, 以及近期掛在arXiv上的一些工作進行了分類與解讀,歡迎大家在文章下方評論留言,交流探討!預(yù)訓(xùn)練模型:[ICML 2021] ViLT: Vision-and-Language Transformer Without Convolution or Region Supervision
目前大部分的Vision-and-Language Pre-training(VLP)在表達圖片特征的時候都使用了區(qū)域監(jiān)督(例如目標檢測)和卷積操作(例如ResNet),這種方法存在一定缺陷:(1)速度慢;(2)表達能力有限。因此本文提出了一種最簡單的VLP模型——ViLT,主要對視覺特征提取進行了改進,使用簡單的線性映射大大減少了視覺編碼器的參數(shù)量。具體而言,視覺和文本編碼器的表達如下:
其中T和V分別表示文本和圖片的線性層。
在建模文本和圖片交互時,ViLT采用了單流架構(gòu),Transformers用預(yù)訓(xùn)練的ViT-B/32初始化(文中說也實驗了BERT初始化但是不work)。模型結(jié)構(gòu)如下:
預(yù)訓(xùn)練任務(wù):
- Image Text Matching
- Masked Language Modeling
最終ViLT在VQA, NLVR, text2image retrieval, image2text retrieval下游任務(wù)上微調(diào),運行效率比之前的預(yù)訓(xùn)練模型都有顯著提升。
[ICML 2021] Learning transferable visual models from natural language supervision
本文用400M的圖文對進行跨模態(tài)對比學(xué)習(xí),近期受到比較多關(guān)注的CLIP就是該工作提出的。
文章的出發(fā)點是考慮到:CV中現(xiàn)有的SOTA模型都是在有限的類別的數(shù)據(jù)集上訓(xùn)練的,要想讓模型識別更多的視覺概念就必須用更多的有標簽數(shù)據(jù),這就大大限制了模型的泛化能力。而由于(image, text) pairs數(shù)據(jù)非常多,因此文章考慮用文本數(shù)據(jù)作為監(jiān)督信號,取代標簽,訓(xùn)練一個泛化能力更強的視覺模型。
具體而言,文章收集了4M的圖文對數(shù)據(jù),進行跨模態(tài)的對比學(xué)習(xí),方法非常簡單:
模型比較強大的地方在于其zero-shot的能力,尤其是在圖文檢索任務(wù)上,CLIP zero-shot的表現(xiàn)甚至超過了finetune的多模態(tài)預(yù)訓(xùn)練模型,一個重要原因是:檢索任務(wù)本身和預(yù)訓(xùn)練任務(wù)高度契合。
[ICML 2021] Unifying Vision-And-Language Tasks Via Text Generation
本文將多個視覺-語言任務(wù)統(tǒng)一成了多模態(tài)條件文本生成任務(wù),類似于NLP領(lǐng)域中的T5[1]。
本文指出目前的vision-and-language的學(xué)習(xí)都是對特定的任務(wù)設(shè)計特定的框架和目標,這就比較繁瑣。因此文章提出用一個統(tǒng)一的框架和一個語言模型的目標(多模態(tài)條件文本生成)來解決多個下游任務(wù),同時也測試了多任務(wù)學(xué)習(xí)的效果。具體而言,文章直接對T5和BART進行改進,賦予其視覺理解的能力。模型結(jié)構(gòu)如下:
預(yù)訓(xùn)練任務(wù):
- Multimodal language modeling: T5和BART各自沿用了其預(yù)訓(xùn)練的語言模型任務(wù),只是在encoder輸入的時候不止輸入文本,還輸入圖片;
- Visual question answering: 給定圖片和問題,直接生成答案;
- Image-text matching
- Visual grounding: 輸入一個object的描述以及一張圖片,輸出圖中正確object所對應(yīng)的visual token;
- Grounded captioning: 與上一個任務(wù)相反,輸入圖片和一個object的visual token,輸出對這個object的描述。
[ACL 2021] UNIMO: Towards Unified-Modal Understanding and Generation via Cross-Modal Contrastive Learning
本文的亮點是在預(yù)訓(xùn)練階段通過檢索的方式,在一個統(tǒng)一的Transformer架構(gòu)下同時使用單模態(tài)和多模態(tài)數(shù)據(jù),進行跨模態(tài)的對比學(xué)習(xí),并通過一系列增強方式產(chǎn)生各種粒度的正負樣本,從而使得圖文的向量表示不僅有粗粒度特征,也有細粒度的特征。模型結(jié)構(gòu)如下:
最終在微調(diào)場景下,UNIMO除了在多模態(tài)任務(wù)上超越了所對比的模型之外,也在GLUE benchmark上超過了其text encoder——BERT。這同時說明了兩方面的問題:
- 純文本語料上的預(yù)訓(xùn)練能夠幫助模型提升多模態(tài)任務(wù)上的性能;
- 圖片和多模態(tài)數(shù)據(jù)上的預(yù)訓(xùn)練能夠幫助模型更好地完成NLU任務(wù)。
其他多模態(tài)預(yù)訓(xùn)練的相關(guān)工作:VLMO: Unified Vision-Language Pre-Training with Mixture-of-Modality-Experts
提出了一個Mixture-of-Modality-Experts(MoME)的Transformer,能夠根據(jù)輸入數(shù)據(jù)的模態(tài)選擇不同的"expert"。并采用了“vision-text-multimodal”的分階段的預(yù)訓(xùn)練方式,即后一階段預(yù)訓(xùn)練時凍結(jié)前一部分編碼器的參數(shù)。最終模型在VQA等多模態(tài)任務(wù)上進行微調(diào),達到了SOTA。
UniT: Multimodal Multitask Learning with a Unified Transformer
本文的主要貢獻在于用一個統(tǒng)一的Transformer架構(gòu),通過多任務(wù)學(xué)習(xí),使得模型能夠做NLP, CV, Multi-Modal的各種任務(wù),即希望打造一個通用智能體。 Towards a Unified Foundation Model: Jointly Pre-Training Transformers on Unpaired Images and Text
本文是12月掛在arXiv上的一篇工作,也是希望通過多任務(wù)學(xué)習(xí)打造一個統(tǒng)一的基礎(chǔ)模型,能夠勝任純CV和NLP任務(wù)。它和UniT的區(qū)別在于:UniT的視覺和文本編碼器都是根據(jù)各自模態(tài)設(shè)計的,只有decoder是共享的;而該模型只有tokenizer和task-specific output head是與模態(tài)或者任務(wù)相關(guān)的,中間的Transformer encoder是與模態(tài)無關(guān)的。文章用BERT和ViT作為teacher model對Transformer encoder進行知識蒸餾,并提出了一種新的gradient masking策略平衡來自視覺和文本預(yù)訓(xùn)練損失函數(shù)帶來的參數(shù)更新。
多模態(tài)prompt:[NIPS 2021] Multimodal Few-Shot Learning with Frozen Language Models
PLM在prompt的提示下可以在一個新任務(wù)進行few-shot learning[2],受此啟發(fā),本文將prompt的方法用到了多模態(tài)上,提出了一個多模態(tài)few-shot learner——Frozen。Frozen可以被看作是一種image-conditional prefix tuning,與prefix tuning[3]的不同之處在于連續(xù)的prompt不再是隨機初始化的參數(shù),而是一種image-conditional的激活向量。模型的結(jié)構(gòu)非常簡單:
整個模型類似于多模態(tài)模型中的雙流架構(gòu),其中text embedder和self attention layers的參數(shù)都是固定不動的,只有vision encoder的參數(shù)會進行更新。每一張圖片經(jīng)過NF-ResNet-50編碼之后再經(jīng)過一個線性層映射稱為D*n維的向量,然后拆散成n個embeddings,上圖展示了n=2的情形。模型在conceptual captions數(shù)據(jù)集上進行訓(xùn)練,輸入image,自回歸地輸出captions,相當(dāng)于是一個conditional text generation任務(wù)。
vision encoder訓(xùn)練好之后,F(xiàn)rozen在VQA任務(wù)上進行了zero-shot和few-shot的實驗。也測試了Frozen的Fast Concept Binding的能力。
[ACL ARR] Prompting as Multimodal Fusing
本文是對上一篇文章中的image-conditional prefix tuning的改進工作。Frozen中的image encoder同時完成了兩個目標:提取視覺特征、對齊圖文空間的表示。本文將這兩個目標解耦,image encoder只負責(zé)編碼圖像特征,而對齊圖文空間表示的任務(wù)交給prompt向量來做。這樣視覺編碼器的參數(shù)也變成固定的了,只有prompt向量的參數(shù)是可訓(xùn)練的。這樣做有兩個好處:(1) 整個架構(gòu)更加模塊化,可以靈活調(diào)整視覺編碼器,也可以靈活地加入其他模態(tài);(2) 實現(xiàn)了更高的參數(shù)效率,視覺編碼器中的大量參數(shù)都可以凍結(jié),只需要調(diào)整prompt向量即可。模型結(jié)構(gòu)如下:
另外,本文還提出了一種特殊的attention mask,它迫使prompt對所有輸入數(shù)據(jù)都是不可見的,稱為BlindPrompt,如下圖所示:
文章說這使得prompt向量關(guān)注模態(tài)之間的對齊,而不是模態(tài)中特定的內(nèi)容(有一定道理,但是并沒有做ablation study)。
多模態(tài)預(yù)訓(xùn)練分析:[EMNLP 2021] Effect of Visual Extensions on Natural Language Understanding in Vision-and-Language Models
本文是一篇實驗分析性的工作,對一系列多模態(tài)預(yù)訓(xùn)練模型在GLUE上進行微調(diào),探討現(xiàn)有的多模態(tài)預(yù)訓(xùn)練模型在NLU方面的能力。
在實驗部分,文章首先對5個多模態(tài)預(yù)訓(xùn)練模型的視覺編碼進行了統(tǒng)一,使得結(jié)果對比較為公平。5個模型的文本編碼器都采用了BERT-base,視覺編碼器隨機初始化。在微調(diào)時,由于GLUE中沒有圖片數(shù)據(jù),因此視覺編碼器的輸入都采用了全黑的圖片。
文章做了一系列實驗,得出如下一些結(jié)論:
- 不管是單流還是雙流,多模態(tài)的預(yù)訓(xùn)練模型都比預(yù)訓(xùn)練語言模型在NLU任務(wù)上表現(xiàn)更差,單流模型比雙流模型略好;
- 上述NLU任務(wù)上性能的下降主要是由預(yù)訓(xùn)練任務(wù)造成的,而不是模型結(jié)構(gòu);
- 論文研究了多模態(tài)預(yù)訓(xùn)練模型的參數(shù)是如何在預(yù)訓(xùn)練語言模型的基礎(chǔ)上變動的,并研究了每一個預(yù)訓(xùn)練模型能解決的任務(wù);
- 多模態(tài)的任務(wù)最好采用單流的架構(gòu),并精心設(shè)計預(yù)訓(xùn)練任務(wù)來保持預(yù)訓(xùn)練語言模型的知識。
知識遷移和知識蒸餾:[ACL ARR] Leveraging Visual Knowledge in Language Tasks An Empirical Study on Intermediate Pre-training for Cross-Modal Knowledge Transfer
目前的大規(guī)模語言模型在理解日常物品屬性方面的能力還很缺乏,因為它們的預(yù)訓(xùn)練語料中很少有這樣的事實性知識,即所謂的reporting bias,下圖即是一個例子:
因此本文嘗試通過以下兩種方法來彌補PLM在這方面的缺陷:
(1) text knowledge transfer: 即使用image caption進行知識遷移,設(shè)計了如下兩個訓(xùn)練目標:
- MLM:在image caption上進行MLM,相當(dāng)于進行了domain adaptive的預(yù)訓(xùn)練;
- Text Contrastive Learning (TCL): 采用和SimCSE一樣的方式,進行對比學(xué)習(xí)。
(2) cross-modal knowledge transfer: 即使用圖片和文本以及V&L的訓(xùn)練來進行知識遷移,設(shè)計了如下幾個訓(xùn)練目標:
- Voken Classification: voken[4]采用token層面的text2image檢索來遷移視覺知識,它假設(shè)每一個token都有一個視覺域的voken與其對應(yīng),訓(xùn)練目標就是在所有預(yù)先設(shè)定好的voken中將正確的voken檢索出來;
- Masked Language Modeling with Visual Clues: 給定圖片作為線索,預(yù)測mask掉的token,比MLM多了圖片作為輸入,目標函數(shù)是一樣的;
- Cross-Modal Contrastive Learning (CMCL): 和CLIP一樣,是跨模態(tài)的對比學(xué)習(xí);
- Cross-Modal Knowledge Distillation (CMKD): 將在MSCOCO數(shù)據(jù)集上進行對比學(xué)習(xí)的多模態(tài)模型作為teacher model,將一個語言模型作為student,在純文本語料Wiki103上進行知識蒸餾。
[ACL ARR] Enabling Multimodal Generation on CLIP via Vision-Language Knowledge Distillation
目前大部分大規(guī)模的多模態(tài)預(yù)訓(xùn)練模型(如CLIP, ALIGN[5])等文本編碼器較弱,而大規(guī)模的NLG模型(如BART, T5)具有很強的生成能力,因此考慮用NLG模型彌補VLP模型生成能力的不足。本文將CLIP的知識蒸餾到BART中,得到的模型在多模態(tài)生成任務(wù)以及純NLP任務(wù)上具有很強的zero-shot性能。
具體而言,本文使用了三個目標函數(shù)進行蒸餾:
- Text-Text Distance Minimization (TTDM): 最小化BART編碼器和CLIP文本編碼器得到的text embedding之間的距離;
- Image-Text Contrastive Learning (ITCL): 在BART編碼的文本和CLIP編碼的圖片表示之間進行跨模態(tài)的對比學(xué)習(xí);
- Image-Conditioned Text Infilling (ITCL): 上面兩個目標只是對BART的編碼器進行了更新,沒有動****。此處在(image, text) pair數(shù)據(jù)集上將CLIP的視覺表示和BART編碼器的文本表示投影到與BART****相同的維度上,然后進行conditional text generation,使得BART的編碼器也能理解視覺表示。
文章測試了蒸餾后的BART在VQA和image caption上的微調(diào)和zero-shot能力,以及在GLUE和XSUM上微調(diào)的表現(xiàn)。
參考文獻
[1] Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer
[2] Language Models are Few-shot Learners
[3] Prefix-Tuning: Optimizing Continuous Prompts for Generation
[4] Vokenization: Improving Language Understanding with Contextualized, Visual-Grounded Supervision
[5] Scaling Up Visual and Vision-Language Representation Learning With Noisy Text Supervision
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。