扔掉目标检测器,实现真正的端到端多模态预训练!阿里提出E2E-VLP(ACL2021)

2022-03-23 08:32:52 浏览数 (1)

写在前面

基于大规模图文对的视觉-语言预训练(VLP)已经让许多跨模态的下游任务取得了巨大的性能提升。现有的大多数预训练方法主要采用两步 训练过程,即首先使用预训练的目标检测器提取基于区域的视觉特征,然后将图像表示和文本嵌入串联起来作为Transformer的输入进行训练

然而,这些方法面临着使用基于目标检测任务的视觉表示泛化能力弱、以及二阶段pipeline计算效率低下的问题。

在本文中,作者提出了第一个用于V L理解和生成的端到端视觉语言预训练模型(E2E-VLP),在该模型中,作者建立了一个统一的Transformer框架,用于联合学习视觉表示和图像与文本之间的语义对齐。

通过统一的Transformer编码器-解码器架构将目标检测(Object Detection)图像字幕(Image Captioning) 处理任务整合到预训练中,以增强视觉学习。为了证明这一新的视觉语言范式的有效性,作者在大量的视觉语言下游任务上进行了一系列广泛的实验。

1. 论文和代码地址

E2E-VLP: End-to-End Vision-Language Pre-training Enhanced by Visual Learning

论文地址:https://arxiv.org/abs/2106.01804

代码地址:未开源

2. Motivation

自监督的预训练在自然语言理解和生成任务上都取得了很大的成功。目前的工作也开始在视觉和语言任务上,基于大量图文对进行自监督预训练,并在各种下游任务上进行微调,从而达到SOTA的性能。

现有的主流VLP模型大多采用两步的训练方法,首先使用预训练的目标检测模型提取语义视觉特征,然后将视觉特征和文本嵌入作为Transformer的输入进行跨模态预训练。尽管大规模图文对预训练带来了不错的性能,但两阶段解决方案存在以下缺点:

1)第一步中的目标检测模型在特定视觉数据集上训练,并且在第二步中视觉表示没有针对更一般的跨模态理解进行优化。当目标检测模型无法识别某些重要信息时,可能会遇到错误。(即,目标检测的知识受限,导致了整个预训练模型的性能上限

2)使用目标检测模型提取区域特征非常耗时,以至于大多数SOTA模型都是在缓存的视觉特征上直接训练和评估的。这种做法不仅对模型设计施加了不必要的约束,而且在预测阶段还面临着运行低效的问题。(即,目标检测阶段非常耗时,给模型带来了额外的约束

最近,一些研究也已经开始重新审视grid特征来进行跨模态理解,并发现grid特征也可以表现的很好,同时使模型设计和训练过程变得更加简单。但是目标检测提取的对象级特征对于VLP模型来说确实也是非常重要的。

因此,在本文中,作者提出了一种端到端的像素级视觉语言预训练范式,即E2E-VLP,通过细粒度的视觉学习来增强跨模态交互。在预训练过程中,E2E-VLP基于统一的Transformer编码器-解码器结构,直接从图像像素学习视觉区域特征和跨模态表示。

除了掩蔽语言建模(Masked Language Modeling,MLM)图文匹配(Image-Text Matching,ITM) 等典型的预训练任务外,作者还通过细粒度的视觉语义学习来增强视觉语言预训练。具体地说,包括两个端到端的预训练任务:

1) 目标检测 :受DETR模型的启发,作者将目标检测视为一个集合预测问题。通过联合学习跨模态Transformer编码器和图像编码器来融合像素中的跨模态数据,而解码器通过预测目标和ground truth目标的二部匹配来捕捉细粒度的视觉信息;

2) 图像字幕 :为了更好地理解图像内部的语义,作者还使用了成对的文本来指导图像特征的学习。作者使用编码器网络来表示图像,并使用解码器从左到右来生成字幕文本。

这两个任务可以帮助学习高质量的视觉表征,检测任务可以学习对象级的视觉语义,而图像字幕任务可以捕获文本对齐的视觉语义。这两种视觉语义在VLP跨模态融合中具有重要意义。在微调过程中,E2E-VLP可以灵活地应用于基于编码器模块的视觉语言理解任务基于编码器-解码器模块的视觉语言生成任务

作者在多个的视觉语言任务上对E2E-VLP进行了评估,包括VQA、自然语言视觉推理、跨模态检索和图像字幕。使用端到端预训练范式,本文的模型可以在不同的V L任务上获得不错的性能,并且使用一阶段解决方案可以大大减少推理时间。

3. 方法

3.1 Model Architecture

E2E-VLP的结构如上图所示,作者提出了Transformer编码器-解码器框架进行跨模态学习,并使用简单的CNN主干网络作为图像编码器,用于从像素中提取视觉表示。整个模型以端到端的方式联合训练,以便同时学习通用的视觉表示和跨模态对齐。此外,作者设计了不同的V L预训练任务,进一步提高了跨通道的理解和生成能力。

3.1.1 Input Representations

Sentence Embeddings

每个句子首先由WordPiess tokenizer拆分成一个子词序列。然后,类似于BERT,每个

被分配三种类型的嵌入:token、segment和position embeddings。对这三个嵌入进行求和并进行层归一化,来将输入语句表示为嵌入向量的序列 ,其中[CLS]和[SEP]是BERT中的特殊token。

Image Representations

在图像特征表示方面,大多数现有的VLP模型遵循自下而上和自上而下的注意(Bottom-Up and Top-Down Attention),通过在Visual Genome数据集上训练Faster R-CNN来提取区域特征。

该检测器通过检测预定义类别下的区域来提取区域特征,然后使用最终分类器之前的特征作为输出。这种方式视觉特征受限于特定数据集的目标检测模型,从而会影响预训练模型的泛化能力。

为了提高图像表示的泛化能力,作者提出了一种新的图像表示方法,用CNN主干网络来从图片中提取低分辨率的特征图。然后在使用一个1x1的卷积将通道维度降低,得到新的特征图。

由于Transformer编码器需要输入一个一维的序列,因此还需要把特征图在空间维度上进行flatten得到。由于Transformer编码器对位置信息不敏感,因此作者还加入了位置信息,得到最终的图像表示。

3.1.2 Cross-modal Encoder Pre-training

给定句子嵌入和序列图像表示,作者采用Transformer编码器来学习图像grid特征和语言token之间的跨模态注意。为了实现细粒度的特征级语义融合,作者将描述的图像特征和文本嵌入直接concat起来构成输入序列,其表达式为:。

用于视觉表征学习的CNN主干网络和用于跨模态语义融合的Transformer被组合成一个可端到端训练的单一模型。这样,学习到的视觉特征表征更适合于一般跨模态理解的预训练任务。为了促进跨模态理解,作者在编码器端进行了两个常用的预训练任务,包括掩蔽语言建模(MLM)和图文匹配(ITM)。

Masked Language Modeling

任务设置与BERT基本相同,即,随机mask文本中15%的token,并要求模型根据输出文本和视觉表示预测这些mask的单词。与BERT中的MLM任务仅依赖文本模态周围的文本进行预测不同,本文中的MLM任务还将借助视觉模态的图像特征映射对被mask的词进行预测,以解决歧义问题。

Image-Text Matching

随机采样50%不匹配的图文对和50%匹配的对,并基于encoder最后一层的[CLS] token,来训练分类器进行预测图像和句子是否相互匹配。

3.1.3 Visual-enhanced Decoder

由于CNN特征图没有对象级语义,很难将CNN特征图与语言嵌入之间的跨模态语义直接对齐。因此,作者进一步增加了Transformer解码器来帮助捕捉视觉特征的细粒度语义,其中结合了目标检测图像字幕生成 两个具体的预训练任务。

解码器采用Transformer的标准结构,具有多头自注意力、交叉注意力和前馈网络(FFN)。两个任务共享相同的解码器注意参数,但使用不同的head。目标检测任务更侧重于理解图像中细粒度的目标信息 ,而图像字幕任务则有助于指导关于文本语义的视觉特征的学习

Enhanced by Object Detection

基于DETR,作者将目标检测定义为集合预测问题,并使用基于集合的全局损失,通过二部匹配强制进行唯一的预测。设代表ground-truth,代表预测的输出,基于集合的损失就是最小化匹配的损失,如下所示:

其中是ground truth和下标为σ的预测之间的成对匹配cost。

与最初的单模态学习DETR相比,本文的带有目标检测的跨模态预训练有两个方面的不同:在编码器端 ,本文将视觉表示和语言嵌入相结合作为输入,重用Transformer编码器进行跨模态融合。在解码器端 ,模型将可学习的位置嵌入作为多个L个Transformer解码器层的输入,在每个解码器层并行检测N个对象。

除了检测框坐标回归和类别预测任务外,作者还加入了Visual Genome数据集的对象属性预测任务,以增强细粒度语义的学习。最终,利用属性、类别预测的负对数似然损失和检测框回归损失来训练该模型,如下所示:

其中,是属性和类别的输出概率,归一化的检测框回归损失。

Enhanced by Image Captioning

为了指导视觉特征在文本语义方面的学习,作者使用语义密集的字幕来学习视觉表征,并使用序列到序列(Seq2Seq)图像到文本生成任务。解码器被预训练以基于来自图像编码器的上下文表示自动回归地生成目标文本。预训练的损失函数定义如下:

其中X表示视觉上下文序列,Y表示要生成的文本集,n是输出文本y中的token长度。

3.2 Joint Training

最终,作者用所有编码器和解码器的预训练任务(即掩蔽语言建模、图文匹配、目标检测、图像字幕)联合对E2E-VLP进行预训练,最小化以下四个损失函数:

4.实验

4.1. Main Results

上表展示了不同下游任务上本文模型和其他预训练模型的性能对比,可以看出,与基于两步的方法(如OSCAR和Ernie-VIL)相比,E2E-VLP可以获得相当的性能;此外,E2E-VLP方法可以显著地改进端到端的PixelBERT模型的性能。

4.2. Importance of Visual Learning

为了进一步研究本文方法中每个预训练任务的重要性,作者进行了消融研究,以评估不同视觉学习任务对VQA和NLVR2的影响。可以看出每个任务都是非常重要的,并且当他们一起训练时能够达到更好的效果。

4.3. Architecture Selection

上表展示了不同层和不同backbone在各种下游任务上的性能对比,可以看出添加更多的Transformer编码层和使用更复杂的主干网络都有助于提高下游任务的性能。

4.4. Impact of Input Image Size

上表展示了不同输入图片大小对模型性能和速度的影响。

4.5. Object Detection with Paired Text

上表展示了检测的结果,E2E-VLP模型也支持基于文本-图像对的目标检测任务,并且性能上优于DETR。

5. 总结

在本文中,作者提出了一种端到端的视觉语言预训练范式,用于联合学习图像和文本之间的视觉表示和语义对齐。不同于以往在两阶段pipeline中使用区域特征的方法,作者提出使用了可扩展性更强和更有效的grid特征来进行视觉语言预训练。

此外,作者进一步将目标检测和图像字幕的任务与统一的Transformer编-解码器结构结合,以增强视觉学习。在多个视觉语言下游任务上的实验,证明了E2E-VLP模型的有效性和效率。

本文的重点是去除了以前预训练模型中对目标检测器的依赖,因为目标检测器不仅降低了模型的预测速度 ,目标检测任务中预定义的类别也会成为各种多模态任务的瓶颈 ,此外,区域特征中对于区域外的上下文特征捕获能力也较差

因此作者采用了grid特征,但是采用grid特征就不能获取图像的对象级信息了,所以作者又提出了两个任务来克服这个缺点,即目标检测和图像字幕。目标检测用于捕获对象级的视觉特征,图像字幕用于将不同的对象与文本对齐,以增强跨模态表示。

0 人点赞