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