IJCAI 2022 | 图-文预训练综述
© 作者|刘子康
机构|中国人民大学
研究方向|多模态
本文调研了现有的多模态预训练工作,从方法,任务,架构等角度进行了总结,并提出了一些可能的未来研究方向。文章也同步发布在AI Box知乎专栏(知乎搜索 AI Box专栏),欢迎大家在知乎专栏的文章下方评论留言,交流探讨!
论文题目:A Survey of Vision-Language Pre-Trained Models
论文链接:https://arxiv.org/abs/2202.10936
1、引言
我们生活在一个包含多种模态信息的世界里(声音,视觉,气味等等),其中视觉与语言是最重要的模态之一。视觉-语言任务一直是人工智能领域的聚焦点之一。深度学习的快速发展使得大量的神经网络模型被运用在视觉-语言任务上,如循环神经网络(RNN),卷积神经网络(CNN)或自注意力网络(Transformer)。尽管这些模型取得了相当大的成功,但他们大多数只关注于特定任务,不具备良好的任务迁移性,为相关研究的发展造成了阻碍。
随着预训练方法在CV与NLP领域的成功,预训练-微调的范式也被运用在了视觉-语言任务上。通过在大规模标注好的图-文对上进行预训练,视觉-语言预训练模型(Vision-Language pretrained models, VL-PTMs)可以学到通用的视觉-语言信息。VL-PTMs在大量的视觉-语言任务上显著的超过了传统模型,也使得预训练方法逐步成为了视觉-语言领域的主流范式。
总的来讲,对VL-PTM的预训练可以分为三个步骤:(1)将图像与文本信息编码成隐向量表示 (2)设计一个合适的架构来建模视觉信息与语言信息之间的交互 ) (3)设计若干个有效的预训练任务来进行后续的预训练。在学习到通用的视觉-语言语义信息后,模型可以在下游任务上微调来适配下游任务。我们在图1中给出了对当下主流视觉-语言预训练模型的总结,我们的综述也将从这些点来对视觉-语言预训练模型进行详细的介绍。
2、学习视觉-语言特征
对图像与文本信息的向量化编码是预训练的第一步,接下来我们将分别介绍对视觉与文本特征的编码方法:
文本特征:绝大多数的VL-PTMs都采用BERT[1]来对文本信息进行编码。对于一个文本序列 ,它首先被切割成若干个文本token,通过 来表示。每个token会被映射到一个词向量。此外,为了表示每个token在句子中的位置,一个位置向量与一个段向量会被添加到词向量表示中。这三个向量的和将会作为最终的向量表示。
视觉特征:为了与对应的文本特征表示对齐,每张图片 也会被表示成一个向量序列,这样就可以将视觉特征与文本特征统一用一个向量序列表示出来。与文本信息不同的是,对视觉特征的编码有许多种方式。早期的工作如ViLBERT[2]与LXMERT[3]采用了一个目标检测器来检测到一系列的物体区域特征,并将它们编码到一个序列中。其他的一些工作不依赖于目标检测器,而是直接通过像素级别的网格特征来表示视觉信息,如Pixel-BERT[4]与SOHO[5],这样的方法可以更好的关注到全局的信息。除了这两种方法外,还有一些工作希望复制ViT[6]的成功,直接将图片切割为若干二维的图片块,这些图片块会被展平为一维向量表示,最终也会得到一个向量序列。ALBEF[7]与SimVLM[8]均采用这种方法,并在单一的Transformer结构内完成了VL-PTM的实现。
3、对视觉-语言的交互建模
在对视觉与文本信息进行第一步的向量化后,下一个步骤是设计一个编码器来聚合来自于两个不同模态的信息。根据聚合方式的不同,我们将这些编码器分为Fusion Encoder与Dual Encoder。
3.1 Fusion Encoder
Fusion encoder的输入是上一步处理得到的视觉与文本向量。在自注意力或跨注意力的计算后,最后一层得到的隐表示将会被视作不同模态的聚合表示。通常来说有两种辅助融合信息的架构:单流架构与双流架构。
单流架构:单流架构假设两种模态之间潜在的关联是浅显的,可以通过一个简单的Transformer编码器学到。因此视觉特征与文本特征被简单的拼接在一起并送入一个Transformer编码器中。VisualBERT[9]是采取了这种架构的早期模型,并取得了优异的效果。尽管如此,单流架构直接在两种模态的信息上做自注意力计算,而忽略了对每个模态自身的内模态注意力计算。
双流架构:与单流架构不同的是,双流架构采用了交叉注意力来建模视觉-语言信息的交互。在交叉注意力中,query向量来自其中一种模态,而key与value向量则来自于另外一种模态。交叉注意力模块能够在两种模态之间交换信息,并对齐它们的语义。其假设为内模态与跨模态的注意力计算需要分别进行。ViL-BERT与LXMERT是这种架构的典型代表。双流架构由于需要额外的内模态注意力层,其参数量会相对较大,不利于模型的轻量化,并拖慢了推理速度。
3.2 Dual Encoder
尽管Fusion encoder可以在不同层面上建模视觉-语言信息的交互,并在许多下游任务上取得了Sota的结果,但它往往依赖于一个大型的transformer来进行信息交互的建模。对于检索任务,Fusion encoder需要将所有可能的图-文对进行编码,严重降低了推理速度。
与之不同的是Dual encoder架构。其利用两个单模态的编码器去分别编码视觉与文本信息。Dual encoder采用非常简单的方式来建模两种模态信息间的交互,如简单的注意力模块或者点乘来讲视觉向量与文本向量映射到同一个空间中,并计算两者的相似度分数。CLIP是典型的Dual encoder模型,由于抛弃掉了复杂的交叉注意力或自注意力模块,CLIP在图文检索任务上非常快速且有效,但其在复杂的图-文理解任务如视觉语言推理(NLVR2)上的表现则相对较差。
3.3 Combination of Fusion Encoder and Dual Encoder
由于Fusion encoder与Dual encoder在不同的任务类型上有各自的优势,一个很自然的想法就是将两者结合起来。FLAVA首先同时使用了两种架构,用Dual encoder去进行单模态的编码再用Fusion encoder去进行后续的理解任务,这样在进行图文检索时可以只采用前一部分,速度相对较快,进行理解任务时再采用后面一部分,也保持了在理解任务上的性能。VLMo[10]则采用了混合专家系统,将Fusion encoder与Dual encoder集成到了一个框架中,再根据不同任务类型进行不同模块的路由,并保持了两种架构各自的优点。
4、跨模态预训练任务
设计出一个良好的架构后,下一步即是设计合适的预训练任务来辅助预训练进程。一般而言预训练是在大规模的图-文对数据集上进行的,在图2中我们给出了常用的预训练数据集,接下来我们将介绍几个常见的视觉-语言预训练任务。
4.1 跨模态掩码语言建模(Cross-Modal Masked Language Modeling, MLM)
跨模态MLM与Bert中的MLM类似。在跨模态MLM中,VL-PTMs不仅仅从未被掩码的tokens中预测被掩码的tokens,同时也考虑对应的视觉特征信息。MLM被证明是有效的,因为它帮助模型很好地完成了视觉与语言信息的对齐。MLM的目标函数可以表示如下:
其中 分别表示掩码与非掩码的tokens,而 表示从数据集中抽样出的一组图-文对数据。
4.2 跨模态区域预测(Cross-Modal Masked Region Prediction, MRP)
与跨模态MLM类似,跨模态MRP将部分的区域特征进行零填充(类似于掩码处理),再通过未被掩码的视觉特征对该区域进行预测。跨模态MRP同样会考虑对应的文本特征信息。目前有两种常用的目标函数:掩码区域分类(Masked Region Classification, MRC)与掩码区域特征回归(Masked Region Feature Regression, MRFR)。
掩码区域分类:MRC对每个被掩码的区域的语义类别进行预测,此前的研究显示VL-PTMs通常只会在文本输入中学习到高层次的视觉语义信息,而不是像素级别的低层次信息。为了对每个区域进行预测,每个被掩盖区域的隐状态 被送入一个全连接层中,再通过一个softmax函数得到一个区域类别的概率分布。最终的目标函数是最小化预测的分布与目标检测器检测到的实际类别的分布的交叉熵(cross-entropy, CE),如下所示:
其中 是被掩盖区域的个数, 表示被掩盖区域的实际标签。
掩码区域特征回归:与MRC不同,MRFR直接对区域特征 进行回归,并希望它接近原始的区域特征 。其形式化表示如下:
在本式中,区域 的特征表示 通过未被掩码的图像部分来预测,而 表示被掩盖区域的个数。MRFR要求模型能够对被掩码区域特征对应的高维向量进行预测,而不仅仅是其的语义类别。对于采用目标检测器来提取视觉特征的VL-PTMs,该方法被证明是有效的。但对于采用像素级别的网格特征或图像块特征的模型而言,随机掩码方法则不那么有效,因为模型会直接复制被掩码部分周围的像素值作为预测特征。对于该类模型,SOHO[5]预训练了一个视觉字典,并掩码掉具有相同索引的所有视觉tokens来防止信息泄露问题,而Visual Parsing[11]采用了图像块特征,首先随机的掩码掉一个视觉token,再掩盖掉其他k个与其注意力值最大的视觉token来保证图像中被掩盖的部分具有最相关的语义信息。
4.3 图像-文本匹配(Image-Text Matching, ITM)
跨模态MLM与MRP帮助VL-PTMs学习到图-文之间细粒度的关联特征,而ITM则能学习在更粗粒度的层面上将两种模态的信息进行对齐。给定一个图-文对,ITM采用一个得分函数 来衡量图-文相关联的可能性。具体的目标函数如下:
其中 表示图片 与 文本 是否关联,而 与 分别是 和 对应的向量表示。
4.4 跨模态对比学习( Cross-Modal Contrastive Learning, CMCL)
CMCL的目标是将匹配的图-文对中图像与文本的向量尽可能的拉近,而使不匹配的图像与文本向量尽可能的远离。这项任务能够帮助模型学到更加普遍的图-文关联知识。图像到文本的对比损失函数可以表示如下:
其中 表示 图片 的负采样,, 和 分别是 , 和 的向量表示。 是一个衡量图-文相似度的得分函数。文本到图像的对比损失函数也可以用类似的方式表示出来。
5、跨模态下游任务
跨模态预训练任务能够帮助VL-PTMs学习到更加优秀的视觉与文本特征,帮助模型更好的去下游任务。本节中我们将介绍若干个常用的视觉-文本下游任务以及VL-PTMs如何被应用在这些下游任务上。
5.1 跨模态匹配
跨模态匹配任务要求模型学习不同模态之间的关联知识。有两种常用的跨模态匹配任务:图-文匹配任务以及视觉文本定位。
图-文匹配(Image Text Retrieval, ITR): ITR是一个典型的跨模态匹配任务,该任务要求依据给定的图像检索出最相关的文本或是从给定文本中检索出最相关的图像。早期的视觉-语言预训练模型采取了Fusion encoder架构,并将最终得到的一个模态融合的向量表示映射到一个相似度分数,并检索出最终结果。Dual encoder架构如CLIP可以直接通过编码得到的两个模态的最终向量表示进行相似度计算,在处理ITR任务上更为高效。
视觉文本定位(Visual Referring Expression, VRE): VRE要求模型根据给定的文本描述定位图像中给定的若干个区域。绝大多数VL-PTMs也会采用对目标检测器提取出的区域经编码后的最终表示作为输入,并学习一个到最终匹配分数的线性映射。最终由该分数决定定位的区域与文本描述是否匹配。
5.2 跨模态推理
跨模态推理要求VL-PTM基于给定的视觉信息进行语言推理,这里我们介绍三个常用的跨模态推理任务。
视觉问答(Visual Question Answering, VQA): 视觉问答是一个常见的跨模态推理任务,该任务要求模型根据给定图像回答不同的问题。由于所有答案均来自于一个答案池,大多数模型会将该任务视作一个分类任务,将对问题与给定图像输入模型中,并根据得到的最终的一个跨模态的表示来学习一个分类层,计算最终的各个标签的概率分布并得到最后的答案。目前也有一些模型将VQA视作一个生成式的任务,这类模型能够在真实世界的开放问答中具有更好的泛化性。
视觉语言推理(Natural Language for Visual Reasoning, NLVR): NLVR提供一个图像对与一个文本描述,模型需要根据图像对决定该文本描述是否是正确的,因此可以将该任务视作一个二元分类任务。绝大多数的模型将两个图-文对分别编码,将两个最终的跨模态表示拼接,并用类似VQA的方法来得到最终的预测结果。
视觉常识推理(Visual Commonsense Reasoning, VCR): VCR也是一种特别的视觉问答任务,VCR与VQA的核心区别在于VCR的问题更加注重于视觉常识方面。VCR任务可以被分解为两个多项选择任务,首先需要从四个答案中选出正确的,同时要给出正确的选择该答案的原因。这两个子任务均通过与VQA类似的方法解决。
5.3 视觉与文本生成
根据源模态与目标生成模态的不同,生成任务可以分为文本-图像生成与图像-文本生成。
文本-图像生成(Text-to-Image Generation): 文本-图像生成要求从一个给定的文本生成一张对应的图像。DALL-E[12]将图像离散化成若干个tokens,并将该任务建模为一个自回归的生成任务。DALLE-2[13]则更进一步,利用扩散模型进行了图像的生成工作。
图像-文本生成(Multimodal Text Generation): 图像-文本生成一般被看作一种特殊的条件文本生成任务,限制文本生成的条件不仅仅是其余文本,也包括给定的视觉信息。与传统的文本生成任务类似,图像-文本生成也依赖于一个解码器架构,XGPT[14]与VL-T5[15]均采用了类似的架构来完成该项任务。
6、未来展望
尽管视觉-语言预训练模型在众多下游任务以及现实应用中取得了极大的突破,仍有许多问题与挑战亟待解决与探索。
统一的模型架构:基于Transformer架构的模型在NLP,CV等各个领域取得了极大的突破,也预示着用一个统一的Transformer架构学习到不同模态知识解决不同领域任务的可能性。UNIMO[16]和FLAVA[17]做出了一些早期尝试,将视觉任务,语言任务与视觉-语言任务统一在一起。Data2vec[18]则在自监督学习的框架下统一了视觉,语言与文本模态。尽管这些模型在一些任务上取得了成果,但仍可以去探索一个更强大,更通用的模型。
模型压缩与推理加速:视觉-语言预训练模型与其他领域的预训练模型一样都面临着一个问题:过多的参数量与过大的数据集规模限制了模型的训练与现实部署,由此引出了模型压缩与推理加速方向的研究。在模型压缩方向,已经有一些工作采用知识蒸馏的方式让模型变得更小,但量化,剪枝等方式却鲜有研究。而在推理加速方向的研究则更需进一步推进。
更先进的预训练方法:尽管现在的预训练-微调范式显得简单而有效,但仍可能存在更加先进高效的预训练方法。利用对抗样本来增强预训练被证实是可行的[],帮助模型克服了过拟合的问题。VLMo[5]提出了分阶段的预训练方式,辅助模型学到更加优势的单模态表示。尽管如此,预训练本身仍然有很多可以挖掘的地方,其潜能还未被完全发掘,值得进一步探索。
参考文献
[1] Devlin, Jacob, et al. "Bert: Pre-training of deep bidirectional transformers for language understanding." arXiv preprint arXiv:1810.04805 (2018).
[2] Jiasen Lu, Dhruv Batra, Devi Parikh, and Stefan Lee. Vilbert: Pretraining task-agnostic visiolinguistic representations for vision-and-language tasks. arXiv preprint arXiv:1908.02265, 2019.
[3] Hao Tan and Mohit Bansal. Lxmert: Learning cross-modality encoder representations from transformers. arXiv preprint arXiv:1908.07490, 2019.
[4] Zhicheng Huang, Zhaoyang Zeng, Bei Liu, Dongmei Fu, and Jianlong Fu. Pixel-bert: Aligning image pixels with text by deep multi-modal transformers. arXiv preprint arXiv:2004.00849, 2020.
[5] Zhicheng Huang, Zhaoyang Zeng, Yupan Huang, Bei Liu, Dongmei Fu, and Jianlong Fu. Seeing out of the box: End-to-end pre-training for vision-language representation learning. In CVPR, pages 12976–12985, 2021.
[6] Dosovitskiy, Alexey, et al. "An image is worth 16x16 words: Transformers for image recognition at scale." arXiv preprint arXiv:2010.11929 (2020).
[7] Junnan Li, Ramprasaath Selvaraju, Akhilesh Gotmare, Shafiq Joty, Caiming Xiong, and Steven Chu Hong Hoi. Align before fuse: Vision and language representation learning with momentum distillation. NeurIPS, 2021.
[8] Zirui Wang, Jiahui Yu, Adams Wei Yu, Zihang Dai, Yulia Tsvetkov, and Yuan Cao. Simvlm: Simple visual language model pretraining with weak supervision. arXiv preprint arXiv:2108.10904, 2021.
[9] Liunian Harold Li, Mark Yatskar, Da Yin, Cho-Jui Hsieh, and Kai-Wei Chang. Visualbert: A simple and performant baseline for vision and language. arXiv preprint arXiv:1908.03557, 2019.
[10] Wenhui Wang, Hangbo Bao, Li Dong, and Furu Wei. Vlmo: Unified vision-language pretraining with mixture-of-modality-experts. arXiv preprint arXiv:2111.02358, 2021.
[11] Hongwei Xue, Yupan Huang, Bei Liu, Houwen Peng, Jianlong Fu, Houqiang Li, and Jiebo Luo. Probing inter-modality: Visual parsing with self-attention for vision-and-language pre-training. NeurIPS, 2021.
[12] Ramesh, Aditya, et al. "Zero-shot text-to-image generation." International Conference on Machine Learning. PMLR, 2021.
[13] Ramesh, Aditya, et al. "Hierarchical text-conditional image generation with clip latents." arXiv preprint arXiv:2204.06125 (2022).
[14] Qiaolin Xia, Haoyang Huang, Nan Duan, Dongdong Zhang, Lei Ji, Zhifang Sui, Edward Cui, Taroon Bharti, and Ming Zhou. Xgpt: Cross-modal generative pre-training for image captioning. In NLPCC, pages 786–797, 2021.
[15] Jaemin Cho, Jie Lei, Hao Tan, and Mohit Bansal. Unifying vision-and-language tasks via text generation. arXiv preprint arXiv:2102.02779, 2021.
[16] Wei Li, Can Gao, Guocheng Niu, Xinyan Xiao, Hao Liu, Jiachen Liu, Hua Wu, and Haifeng Wang. Unimo: Towards unified-modal understanding and generation via cross-modal contrastive learning. arXiv preprint arXiv:2012.15409, 2020.
[17] Amanpreet Singh, Ronghang Hu, Vedanuj Goswami, Guillaume Couairon, Wojciech Galuba, Marcus Rohrbach, and Douwe Kiela. Flava: A foundational language and vision alignment model. arXiv preprint arXiv:2112.04482, 2021.
[18] Alexei Baevski, Wei-Ning Hsu, Qiantong Xu, Arun Babu, Jiatao Gu, and Michael Auli. Data2vec: A general framework for self-supervised learning in speech, vision and language. URL https://ai. facebook. com/research/data2veca-general-frameworkfor-self-supervi sed-learning-in speech-vision-and-language/. Accessed, 2022.
更多推荐
脉络梳理:推荐系统中的多任务学习
十篇文章速览多模态语言生成的研究进展
ACL 2022 | 无监督句表示的去偏对比学习