本文主要是介绍VLP: A Survey on Vision-Language Pre-training,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
在计算机视觉与自然语言处理预训练模型层出不穷的今天,多模态预训练模型也悄然浮出水面。本篇综述是第一篇关于视觉-语言预训练(Vision-Language Pretraining)的综述,介绍了VLP的最新进展和新领域,包括了图像-文本和视频-文本的预训练。整篇综述从以下5个方面对视觉-语言预训练进行了详细的阐释:
特征提取
模型架构
预训练目标
预训练数据集
下游任务
VLP主要通过对大规模数据的预训练来学习不同模态之间的语义对应关系。例如,在图文预训练中,我们希望模型将文本中的“狗”与图像中的“狗”联系起来。在视频文本预训练中,我们期望模型将文本中的对象/动作映射到视频中的对象/动作。为了实现这一目标,需要巧妙地设计VLP对象和模型体系结构,以允许模型挖掘不同模式之间的关联。
特征提取
图像特征提取
(1)OD-based Region Features (OD-RFs).
目前大部分VLP使用预训练的目标检测模型来提取视觉特征。这里使用最多的目标检测模型是Faster R-CNN。
(2)CNN-based Grid Features (CNN-GFs)
VLP模型通过利用卷积神经网络(CNN)提取视觉特征来获得网格特征。一方面,VLP模型可以直接利用网格特征进行端到端的CNN训练。另一方面,VLP模型也可以首先使用学习到的vision dictionary离散化网格特征,然后将它们送到跨模态模块。
(3) ViT-based Patch Features (ViT-PFs)
ViT将图片压平成序列。这对于Transformer的输入非常友好。
视频特征提取
我们一般把视频视作由M帧组成的图像信息。
VLP模型利用上述图像特征提取方法提取frame的特征。两个最常用的功能是CNN-GFs和VIT-PFs。对于CNN-GFs,VLP模型首先使用在ImageNet上预训练的ResNet和预先训练好的SlowFast来提取每个视频帧的2D和3D视觉特征。这些特征被串联为视觉特征,并通过全连接(FC)层被投影到与token embeddings相同的低维空间。对于ViT-PFs而言,一段视频clip 包含了 帧分别率为 的图像,按照ViT和Timesformer的协议条件来看,输入的视频clip被分割为 的无重叠的spatial-temporal patches,大小为 ,在这里 。
文本特征提取
对于文本特征,以BERT为例,VLP模型首先将输入的句子分割成一系列的子词。然后,在序列的开头和结尾处插入序列开始标记和序列结束标记,以生成输入文本序列。文本输入表示通过将对应的单词嵌入、文本位置嵌入和文本类型嵌入相加来计算。
特征表示
为了充分利用单模态的预训练模型,VLP模型可以将视觉或文本特征发送到Transformer Encoder。具体地说,VLP模型利用具有随机初始化的标准Transformer Encoder来生成视觉或文本表示。此外,VLP模型可以利用预先训练的ViT来编码VIT-PF。VLP模型可以使用预先训练好的文本Transformer来编码文本特征,例如BERT。为简单起见,我们将这些转换器命名为Xformer。
模型架构
模型架构主要从以下两个方面展开
(1)Single-stream vs Dual-stream
(2)Encoder-only vs Encoder-decoder
VLP的两种结构
Single-stream vs Dual-stream
单流架构是指将文本和视觉特征连接在一起,然后馈送到单个Transformer块中。
双流架构是指文本和视觉特征不是串联在一起而是独立地发送到两个不同的Transformer块中。
单流架构一般来说更加parameter-efficient。双流架构一般采用上图虚线所表示的cross attention进行特征交互。
Encoder-only vs Encoder-decoder
许多VLP模型采用encoder-only的体系结构,其中跨模态表示被直接馈送到输出层以生成最终输出。相比之下,其他VLP模型主张使用encoder-decoder体系结构,其中跨模态表示首先被馈送到decoder,然后被馈送到输出层。
预训练目标
这一部分介绍了我们如何通过使用不同的预训练目标来预训练VLP模型,这对于学习视觉语言的普适表示是至关重要的。我们将预训目标归纳为四类:Completion、Matching、Temporal和Particular。
Completion
Completion是通过利用未masked的元素来重建masked元素以理解模态。包括Masked Language Modeling,Prefix Language Modeling和Masked Vision Modeling。
Masked Language Modeling
掩蔽语言建模(MLM)最早是由Talyeller[1953]在文献( Wilson L Taylor. “Cloze procedure”: A new tool for measuring readability. Journalism quarterly, 30(4):415–433, 1953.)中提出的,由于Bert模型将其作为一种新的预训练任务而被广泛采用。VLP中的MLM类似于BERT中的MLM,但也有所不同。BERT的MLM是利用上下文的可见的词向量预测masked词向量;而VLP中则使用上下文可见的词向量和视觉向量表征去预测masked的视觉或者词向量,小编感觉像是MAE+BERT的融合版。根据经验,和BERT一样,VLP模型以15%的概率随机mask每个文本输入token,并通过80%的时间使用特殊的标记[MASK]来替换被mask的标记,10%的时间使用随机的文本标记和10%的时间使用原始标记来执行masking。
Prefix Language Modeling
前缀语言建模(Prefix Language Model,Prefix LM)是屏蔽语言模型和语言建模(Language Model,简称LM)的统一。前缀模型的提出是为了使模型具有实体生成能力,使得文本诱导的zero-shot具有无需fine-tuning的泛化性。前缀语言建模不同于标准的语言建模,它允许对前缀序列进行双向关注,并且只对剩余的tokens进行自回归因式分解。在Sequence-to-Sequence(Seq2seq)框架下的前缀语言建模不仅可以享受MLM中的双向语境化表示,而且还可以执行类似于语言建模的文本生成。
Masked Vision Modeling
与MLM类似,MVM对视觉(图像或视频)区域或块进行采样,并通常以15%的概率mask其视觉特征。在给定剩余视觉特征和所有文本特征的情况下,VLP模型需要重建mask的视觉特征。被mask的视觉特征被设置为零。由于视觉特征是高维的和连续的,VLP模型针对MVM提出了两种变体。
(1)Masked Features Regression 学习将masked特征的模型输出回归到其原始视觉特征。VLP模型首先将masked特征的模型输出转换为与原始视觉特征相同维度的向量,然后在原始视觉特征与该向量之间进行L2回归。
(2)Masked Feature Classification 学习预测masked特征的object semantic class。VLP模型首先将被屏蔽特征的输出反馈到FC层来预测对象类的得分,然后通过Softmax函数将其转换为预测归一化分布。请注意,没有ground-truth标签。VLP模型的训练方法有两种。一种是VLP模型将对象检测模型中最可能的对象类作为hard label(0或1),假设检测到的对象类是masked特征的ground-truth标签,并应用交叉熵损失来最小化prediction class和pseudo class之间的差距。另一种是VLP模型使用soft label作为监督信号,它是检测器的原始输出(即对象类的分布),并最小化两个分布之间的KL散度。
Matching
Matching是将视觉和语言统一到一个共享的隐层,生成通用的视觉语言表征。包括Vision-Language Matching, Vision-Language Contrastive Learning, Word-Region Alignment。
Vision-Language Matching
视觉语言匹配(VLM)是最常见的预训练模型的目标,以实现视觉和语言的匹配。在单流VLP模型中,他们使用特殊符号[CLS]的表示作为两种模态的融合表示。在双流VLP模型中,它们将特殊视觉标记[CLSV]的视觉表征和特殊文本标记[CLST]的文本表征串联起来,作为两种模式的融合表征。VLP模型将两种模式的融合表示提供给FC层和sigmoid函数,以预测0到1之间的分数,其中0表示视觉和语言不匹配,1表示视觉和语言匹配。在训练过程中,VLP模型在每一步从数据集中抽样正或负对。负对是通过从其他样本中随机选择替换成对样本中的视觉或文本来创建的。
Vision-Language Contrastive Learning
视觉语言对比学习(VLC)从N × N个可能的视觉语言对中预测出匹配的视觉语言对。请注意,在一批训练中有N ~ N个负视觉语言对。VLP模型分别使用特殊视觉标记[CLSV]的视觉表示和特殊文本标记[CLST]的文本表示来表示视觉和语言的聚合表示。VLP模型计算 softmax-normalized 的视觉(图像或视频)到文本的相似性和文本到视觉的相似性,并利用视觉到文本和文本到视觉相似性的交叉熵损失来更新自己。相似度通常用点积来实现。
Word-Region Alignment
单词-区域对齐(WRA)是一种无监督的预训练目标,用于对齐视觉区域(视觉patch)和单词。VLP模型利用最优传输来学习视觉和语言之间的对齐。经验上,VLP模型使用IPOT算法来近似OT距离,因为精确的最小化在计算上是困难的。在求解极小化后,将OT距离作为训练VLP模型的WRA损失。
Temporal
Temporal是通过对中断的输入序列重新排序来学习良好的representation。
Frame Order Modeling
为了更好地模拟视频的时序,VLP模型随机扰乱一些输入帧的顺序,然后预测每一帧的实际位置。在实践中,帧顺序建模(FOM)被建模为一种分类任务。
Particular
Particular types由其他预训练目标组成,例如视觉问题回答和视觉字幕。
VLP模型有时也使用一些下游任务的训练对象,如视觉问答(VQA)和视觉字幕(VC)作为预训练目标。对于VQA,VLP模型采用上述融合表示,应用FC层,并使用转换后的表示来预测预定义答案候选的分类。除了VLP模型作为对预定义答案候选的分类来处理该任务之外,VLP模型还可以直接生成原始文本格式的答案。对于VC,为了使VLP模型具有生成能力来重构输入语句,VLP模型使用自回归解码器来生成相应的图像或视频的文本描述。
预训练数据集
预训练数据集
下游任务
分类任务
视觉问答 Visual Question Answering (VQA).
视觉推理和组合问答 Visual Reasoning and Compositional Question Answering (GQA).
视频语言推理 Video-Language Inference (VLI).
用于视觉推理的自然语言 Natural Language for Visual Reasoning (NLVR).
视觉蕴含 Visual Entailment (VE). 在VE任务中,图像是前提,文本是假设。我们的目标是预测文本是否为“蕴涵图像”。有三个标签:蕴含、中立和矛盾。
视觉常识推理 Visual Commonsense Reasoning (VCR).
Grounding Referring Expressions (GRE). GRE任务是在给定文本引用的情况下定位相关的图像区域。该模型可以输出每个区域的得分,得分最高的区域被用作预测区域。
类别识别 Category Recognition (CR). CR指的是识别产品的类别,这是描述产品的重要属性。
回归任务
视觉语言检索 Vision-Language Retrieval (VLR).
生成任务
视觉字幕 Visual Captioning (VC). VC的目标是为给定的可视(图像或视频)输入生成语义和语法上适当的文本描述。
Novel Object Captioning at Scale (NoCaps). NoCaps扩展了VC任务,以测试模型描述Open Images数据集中新对象的能力,这些对象在训练语料库中是看不到的。
视觉对话 Visual Dialogue (VD). VD的任务形式被赋予一幅图像(或视频)、一段对话历史和一个语言问题,并让模型生成问题的答案。
其他任务
多模态机器翻译 Multi-modal Machine Translation (MMT). MMT是一项翻译和文本生成的双重任务,将文本从一种语言翻译成另一种语言,并使用来自其他形式的附加信息,即图像。
视觉语言导航 Vision-Language Navigation (VLN). VLN是智能体运动的一项基础语言任务,因为它基于语言指令来查看和探索现实世界的动态。
光学字符识别 Optical Character Recognition (OCR).
SOTA VLP模型
SOTA VLP模型
结语
本文是第一篇关于VLP的调研综述。文章从特征提取、模型结构、预训练目标、预训练数据集和下游任务五个方面综述了其最新进展,并对具体的SOTA VLP模型进行了详细的总结。这能够帮助研究人员更好地了解VLP,并启发新的工作来推动这一领域的发展。未来,在现有工作的基础上,VLP可以从以下几个方面进一步发展:
整合声学信息。
知识性学习与认知性。
快速迁移学习。
这篇关于VLP: A Survey on Vision-Language Pre-training的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!