转载来自公众号:机器学习算法与自然语言处理
论文标题: VLP: A Survey on Vision-Language Pre-training 论文链接: https://arxiv.org/abs/2202.0906101
摘要 在过去几年中,预训练模型的出现将计算机视觉(CV)和自然语言处理(NLP)等单模态领域带入了一个新时代。大量工作表明它们有利于下游单模态任务,并可以避免从头开始训练新模型。那么这样的预训练模型能否应用于多模态任务呢?研究人员已经探索了这个问题并取得了重大进展。本文调查了视觉-语言预训练 (VLP) 的最新进展和新的前沿,包括图像-文本和视频-文本预训练。为了让读者更好地全面掌握 VLP,我们首先从特征提取、模型架构、预训练目标、预训练数据集和下游任务五个方面回顾其最近的进展。然后,我们详细总结了具体的 VLP 模型。最后,我们讨论了 VLP 的新领域。据我们所知,这是VLP 领域的第一个综述。我们希望这个综述能够为 VLP 领域的未来研究提供启示。
介绍
让机器以类似于人类的方式做出反应一直是人工智能研究人员的不懈目标。为了让机器能够感知和思考,研究人员提出了一系列相关任务,例如人脸识别、阅读理解和人机对话,以训练和评估机器在特定方面的智能。具体来说,领域专家手动构建标准数据集,然后在其上训练和评估相关模型。然而,由于相关技术的限制,往往需要在大量的标注数据上进行训练,以获得更好、更有能力的模型。最近出现的基于 Transformer 结构的预训练模型缓解了这个问题。它们首先通过自监督学习进行预训练,其通常利用辅助任务(预训练目标)从大规模未标记数据中自动挖掘监督信号来训练模型,从而学习通用表示。然后,他们可以通过仅在下游任务上使用少量人工标记数据进行微调就能实现令人惊讶的效果。自从 BERT在自然语言处理 (NLP) 中出现以来,各种预训练模型在单模态领域如雨后春笋般涌现,例如计算机视觉 (CV)领域的Vision Transformer (ViT) 和 语音领域的Wave2Vec。大量工作表明它们有利于下游单模态任务,并避免从头开始训练新模型。
与单模态领域类似,多模态领域也存在高质量标注数据较少的问题。一个很自然的问题是上述预训练方法能否应用于多模态任务?研究人员已经探索了这个问题并取得了重大进展。在本文中,我们关注主流的视觉-语言预训练(VLP),包括图像-文本和视频-文本预训练。VLP 主要通过基于大规模数据进行预训练来学习不同模态之间的语义对应关系。例如,在图像-文本预训练中,我们期望模型将文本中的“狗”与图像中的“狗”相关联。在视频-文本预训练中,我们期望模型将文本中的物体/动作映射到视频中的物体/动作。为了实现这一目标,需要巧妙地设计 VLP 目标和模型架构,以允许模型挖掘不同模态之间的关联。 为了让读者更好地了解 VLP,我们首先从5个重要方面全面回顾其最新进展:
然后我们详细总结了具体的最先进(SOTA)VLP 模型(参见第8节)。最后,我们总结论文并对 VLP 的新前沿进行了广泛的讨论(参见第9节)。 据我们所知,这是VLP领域的第一篇综述。我们希望我们的综述能够帮助研究人员更好地了解这一领域,并激发他们设计出更好的模型。
特征抽取
本节介绍 VLP 模型如何预处理和表示图像、视频和文本以获得对应特征。 特征预处理
图像特征预处理主要包括三种:基于目标检测的区域特征,基于CNN的网格特征以及基于ViT的patch特征。 视频特征预处理:主要先对视频分帧,得到图像序列,然后按照上述图像特征预处理方式进行处理。 文本特征预处理:主要遵循BERT的预处理方式,将输入句子切分为子词序列,然后收尾追加[CLS]和[SEP], 最后输入表示为词embedding+位置embedding+segment embedding。 特征表示
为了充分利用单模态预训练模型,VLP 模型可以将视觉或文本特征输入到Transformer编码器。具体来说,VLP 模型利用具有随机初始化的标准Transformer编码器来生成视觉或文本表示。此外,VLP 模型可以利用预训练的视觉Transformer对基于ViT的patch特征进行编码,例如 ViT 和 DeiT。VLP 模型也可以使用预训练的文本Transformer对文本特征进行编码,例如 BERT。为简单起见,我们将这些Transformer命名为 Xformer。 更多细节描述详见论文 Section 204 模型结构 在本节中,我们从两个不同的角度介绍 VLP 模型的架构:(1)从多模态融合的角度分为单流与双流,以及(2)从整体架构设计来看分为only-encoder与encoder-decoder。
Single-stream versus Dual-strea
单流架构是指将文本和视觉特征连接在一起,然后输入单个Transformer模块,如 Firgue 1 (a) 所示。 双流架构是指文本和视觉特征没有连接在一起,而是独立发送到两个不同的Transformer块,如 Firgue 1 (b) 所示。 Encoder-only versus Encoder-decoder
许多 VLP 模型采用仅编码器架构,其中跨模态表示直接馈入输出层以生成最终输出。相比之下,其他 VLP 模型提倡使用转换器编码器-解码器架构,其中跨模态表示首先馈入解码器,然后馈入输出层。 更多细节描述详见论文 Section 305 预训练目标 本节介绍我们如何通过使用不同的预训练目标来预训练 VLP 模型,这对于学习视觉-语言的通用表示至关重要。我们将预训练目标总结为四类:补全、匹配、时序和特定类型。 补全类型是通过利用未掩码的剩余部分来重建掩码元素从而理解模态,包括Masked LanguageModeling,Prefix Language Modeling,Masked Vision Modeling等; 匹配类型是将视觉和语言统一到一个共享的隐藏空间中,以生成通用的视觉-语言表示,包括Vision-Language Matching,Vision-LanguageContrastive Learning, Word-Region Alignment等; 时序类型是通过对中断的输入序列重新排序来学习良好的表示,主要针对视频相关的预训练,如FrameOrder Modeling等; 特殊类型由其他预训练目标组成,例如视觉问答和视觉描述等。 更多细节描述详见论文 Section 4.
预训练数据集
大多数 VLP 数据集是通过组合跨不同多模态任务的公共数据集构建的。然而,之前的一些工作,例如 VideoBERT、ImageBERT、ALIGN和 CLIP,处理从互联网收集的大量数据并使用他们自己构建的数据集进行训练。在这里,一些主流语料库及其规模信息如表 1所示。07 下游任务 各种各样的任务需要视觉和语言方面的合作知识。在本节中,我们将介绍此类任务的基本细节和目标,并将其分为五类:分类、回归、检索、生成和其他任务,其中分类、回归和检索任务也称为理解任务。 分类任务主要包括:Visual Question Answering (VQA)、Visual Question Answering (VQA)、NaturalLanguage for Visual Reasoning (NLVR).、VisualCommonsense Reasoning (VCR)等; 回归任务包括Multi-modal Sentiment Analysis (MSA); 检索任务主要指的是一些视觉-语言检索任务; 生成任务包括:Visual Dialogue (VD)、Visual Captioning (VC)等; 其他任务包括:Multi-modal Machine Translation (MMT)、Vision-Language Navigation (VLN).等。 更多细节描述详见论文 Section 6.08 SOTA VLP models 基于上述VLP模型的5大方面,我们对近几年的VLP模型进行了汇总整理:
更多细节描述详见论文 Section 7.09 总结和新前沿 在本文中,我们提供了第一个 VLP 综述。我们从特征提取、模型架构、预训练目标、预训练数据集和下游任务五个方面回顾了它的最新进展,并详细总结了具体的 SOTA VLP 模型。我们希望我们的综述能够帮助研究人员更好地了解 VLP,并激发新的工作来推动这一领域的发展。未来,在现有工作的基础上,VLP可以从以下几个方面进一步发展:
**Incorporating Acoustic Information.**以前关于多模态预训练的大多数工作都强调语言和视觉的联合建模,但忽略了隐藏在音频中的信息。尽管音频中的语义信息可能与语言重叠,但音频可以提供额外的情感信息、声学边界信息等。此外,使用音频进行预训练使模型能够处理具有声学输入的下游任务。到目前为止,跨文本、视觉和音频的联合建模和表示仍然是一个有待进一步研究的悬而未决的问题。一些前沿的工作已经阐明了这个研究领域的未来。与之前的 VLP 模型不同,VATT将原始音频作为输入,并通过噪声对比估计 (NCE) 学习多模态表示。与 VATT 不同,OPT 结合各种多级掩蔽策略学习跨文本、图像和音频的跨模态表示,并且它还能够生成文本和图像。其他一些工作,例如 AudioCLIP 和 MERLOT Reserve,也展示了他们在三种模态上学习跨模态表示的独特方法;
**Knowledgeable Learning and Cognitive.**虽然现有的 VLP 模型已经取得了显着的性能,但它们的本质是拟合大规模的多模态数据集。使 VLP 模型更具有知识性对于未来的 VLP 很重要。对于输入的视觉和文本,有丰富的相关外部常识世界知识和说明性情景知识,可以用来增强输入,加速模型训练和推理。解决这个问题需要统一的认知模型架构、知识引导的预训练目标以及与新知识交互的支持;
**Prompt Tuning.**目前,微调是将 VLP 的知识转移到下游任务的主要方法。然而,随着模型规模的增加,每个下游任务都有其微调参数,导致参数效率低下。此外,多样化的下游任务也使得预训练和微调阶段的设计变得繁琐,导致它们之间存在gap。最近,Prompt Tuning在 NLP 中越来越受到关注。通过设计离散或连续Prompt并将 MLM 用于特定的下游任务,这些模型可以a. 减少微调大量参数的计算成本;b. 弥合预训练和微调之间的差距。Prompt Tuning是激发 PLM 中分布的语言和世界知识的一种很有前途的方法。下一步可以改进并迁移到多模态场景,打破传统范式,解决VLP的痛点问题。