CVPR 2022,微软发表的文章An Empirical Study of Training End-to-End Vision and Language Transformers围绕Vision-and-Language Pre-training (VLP),提出了METER 模型(Multimodal End-to-end TransformER)。本文偏向综述性质,对现有的VLP模型的框架及预训练任务进行了总结对比,并在大量实验结果的基础上给出了端到端的基于transformer的VLP模型框架:METER。

(本篇博客也对论文中提到的相关VLP模型进行简单介绍并附上论文链接)

原文: An Empirical Study of Training End-to-End Vision-and-Language Transformers

1. Introduction

Vision-and-language方向的任务,比如VQA,image-text retrieval都需要模型去理解图像和文本的输入内容。而VLP现在已经成为了用来解决这些问题的常用的方法。

Transformer在NLP方向一直很流行,最近也在CV领域展示出了很大的潜力。几乎现有的VLP模型都使用Transformer作为模态融合模块的网络结构,使用预训练好的目标检测器从图像中提取区域特征(region feature)。

但这种使用目标检测器来处理图像的模型架构存在一定的问题:

  1. 目标检测器的效果并非完美,而且会在VLP阶段冻结,这会限制VLP模型的容量;
  2. 目标检测器提取图像中的区域特征十分耗时;

与此同时,视觉Transformer(ViTs)在处理计算机视觉方向的问题时的效果也展现了很大的前景。

那么,是否能够训练一个使用ViTs作为图像编码器,整个模型完全由Transformer构成的VLP模型呢?

最近一些试图使用视觉Transformer的模型并没有取得令人满意的效果,而且通常比SOTA水平的提取图像区域特征的VLP模型效果差。

为了缩小这两类模型的差距,微软提出了METER(Multimodal End-to-end TransformER)模型。在构建模型的过程中,微软详细调研了应该如何训练出一个完全由Transformer构成的端到端的VLP模型。

An overview of the proposed METER framework

如上图所示,微软从不同的模型设计角度进行实验对比,对比方向如下:

  • vision encoders (e.g., CLIP-ViT, Swin transformer)
  • text encoders (e.g., RoBERTa, DeBERTa)
  • multimodal fusion module (e.g., merged attention vs. co-attention)
  • architectural design (e.g., encoder-only vs. encoder-decoder)
  • pre-training objectives (e.g., masked image modeling)

经过大量的实验和测试,可以得出以下结论:

  1. Vision transformer (ViT) 在VLP中发挥的作用比language transformer大,而且transformer的在纯图像或纯文本任务上的表现并不能代表其在VL任务上的表现;
  2. 使用交叉注意力 (cross-attention) 有利于多模态融合,在下游任务中的表现也比单独使用自注意力机制的效果好;
  3. 对于VQA任务和零样本图文检索 (zero-shot image-text retrieval) 任务,只用Encoder的VLP模型要比使用Encoder-Decoder结构的VLP模型效果好;
  4. 在VL模型预训练时,添加masked image modeling损失函数并不会提高下游任务的表现效果。

根据这些建模技巧,本篇工作提出的METER模型,在VQAv2测试集上达到77.64 %的准确率,超过了先前最好的基于区域特征的VinVL模型1.04 %,超过了先前最好的基于ViT的模型 (ALBEF) 1.6%。

2. Glossary of VLP Models

本部分对VLP模型进行概述,并依据其对图像编码方式的不同将VLP模型分为三类

对VLP模型结构的特点总结如下表:

Glossary of representative VLP models

OD-based Reigon Features

之前的大多数模型都使用预训练好的目标检测器(pre-trained object detectors)来提取图像特征。

在这些模型之中,有的模型(如ViLBERT, LXMERT)用两个transformer分别处理图像和文本信息,再使用另一个co-attention transformer在后期对两种模态进行融合。

还有的模型(如Visual-BERT, VL-BERT, UNITER)将图像和文本信息一起送入一个transformer,实现模态融合。

OSCAR和VinVL将额外的图像标签送入transformer中,达到了VL任务的SOTA水平。

但是,提取区域特征十分耗时,预训练好的目标检测器通常在预训练的时候参数固定,这会限制VLP模型的效果。

  • ViLBERT (NeurIPS 2019)

    模型简介

    以BERT模型作为基础,将模型拓展为多模态双流模型(multi-modal two-stream model),分别处理视觉和文本信息的输入,通过co-attention的transformer层进行交互。在大规模的自动收集的概念描述的数据集上通过两个代理任务来进行模型的预训练,然后仅对基础模型做微小的改进后,将模型迁移到众多VL任务上,如VQA,视觉常识推理(visual commonsense reasoning),指称表达(referring expression) 和基于描述的图像检索(caption-based image-retrieval)。实验结果表明ViLBERT模型比单独面向各个任务的特定模型的效果都更好。

    模型结构图

    下面分别是ViLBERT模型结构图和模型中使用的co-attention的transformer层结构图:

    ViLBERT model

    ViLBERT co-attention transformer

  • LXMERT (EMNLP 2019)

    模型简介:

    视觉语言推理任务需要模型学习视觉概念、文本语义以及两种模态之间的对齐和理解。LXMERT (Learning Cross-Modality Encoder Representations from Transformers) 模型就可以学习这些视觉-语言之间的关联。

    模型结构图:

    LXMERT model

  • VL-BERT (ICLR 2020)

    模型简介:

    VL-BERT在BERT基础上进行改进,将文本信息和RoI图像信息送入一个BERT中。

    模型结构图:

    LXMERT model

  • OSCAR (ECCV 2020)

    OSCAR提出一种新的VLP方法:可以将VL模型的输入变成一个三元组形式,分别由Word Tokens,Object Tags和Region Features构成。可以帮助模型快速掌握文本和图像之间的语义对齐。本篇工作还提出了OSCAR模型,在多个VL任务上达到了新的SOTA。

    OSCAR预训练范式

    OSCAR预训练模型

CNN-based Grid Features

为了解决上面提到的两个问题,人们一直在尝试使用不同的方法来实现端到端的预训练VL模型。

Pixel-BERT和CLIP-ViL将从CNN中提取的网格特征和文本信息直接送入Transformer中训练。

SOHO提出先根据视觉词典(vision dictionary)将网格特征离散化,然后再将这些离散化特征送入跨模态模块。虽然直接使用网格特征高效,但不一致的优化器通常用于CNN和transformer。

比如,Pixel-BERT和CLIP-ViL对transformer部分使用AdamW优化器,CNN部分使用SGD。最近关于vision transformers的工作表明,使用CNN比使用ViT的VLP模型的精度要略差一些,这也促使人们开发基于ViT的VLP模型。

  • Pixel-BERT (arXiv 2020)

    模型简介:

    使用图像-句子对作为输入,输出每个输入元素的注意力特征。图像送入一个像素级特征embedding模块逐个像素运算,句子则被送入一个句子特征embedding模块逐个token运算。预训练方式使用MLM和ITM(Image-Text Matching)任务。

    模型结构图:

    ViLBERT model

  • CLIP-ViL (ICLR 2022)

    模型简介:

    将CLIP直接应用于特定的任务的模型,称为CLIP-ViL,并对三个任务(VQA,Image Captioning,Vision-and-Language Navigation)进行微调。

ViT-based Patch Features

ViLT直接将图像的patch features和文本token embeddings送入预训练的ViT模型中,然后在图像字幕的数据集上进行微调。但这些模型在诸如VQA的下游任务上的表现都逊于SOTA水平。

在本文中,主要研究如何以端到端的方式预训练一个基于ViT的模型,让其在保持快速推理的同时缩小性能上的差距。

  • ViLT (ICML 2021)

    模型简介:

    ViLT将Visual Embedding模块和Text Embedding都设计成轻量模块,将主要的计算都放在模态交互部分。ViLT首先直接使用预训练的ViT来初始化交互的Transformer,这样就可以直接利用交互层来处理图像特征。对于视觉模态,将图像分割成图像块,通过Linear Projection转化成Patch position embedding。对于文本模态,直接使用word embedding将文本转换成Token position embedding。两个模态得到的embedding分别和modal-type embedding进行concate,再和额外的[class] embedding进行concate,并于对接下游任务。将得到的embedding输入Transformer Encoder中。

    预训练过程中使用了两个优化目标:ITM(image text matching) 和MLM(masked language embedding)。

    模型结构图:

    ViLT model

    Visual Embedding Schema:

    VLP模型中textual embedder大多是都是BERT或者BERT的改进形式,但是visual embedders却不尽相同。绝大多是情况下,visual embedding是现有VLP模型的瓶颈部分。现有的visual embedding多数是提取region features或者grid features。ViLT模型使用Patch Projection(introduced by ViT)来减小计算开销,以便实现轻量目标。

    VL模型的分类:

    注:下图中各长方形的高代表了相关计算量大小。

    four categories of vision-and-language models

3. The METER Framework

根据之前的调研工作,我们定义了VLP模型中一些比较重要的模块,如下图。在这小节,我们会详细介绍METER的框架结构,以及相关默认设置。

An overview of the proposed METER framework

METER framework overview:(参考上图)

给出文本语句l和图像v,VLP模型首先通过vision encoder和text encoder获取图像和文本的特征。然后将这些特征输入到多模态融合模块以生成跨模态的表示,接下来可以选择是否将其输入到decoder中或者直接生成最终想要的输出结果。

3.1 Model Architecture

Vision Encoder

在本文中,我们关注patch features以及探索将ViTs作为vision encoder的情况。ViT中,首先将图像先分割成patch,在将patches送入transformer中。但是,使用了ViTs的VLP模型并没有达到region-feature-based的VLP模型的SOTA水平。因此本文对系统性地对不同的ViTs进行实验,看哪一种更加适合VLP模型。

本文中进行实验对比的ViT模型有:original ViT, DeiT, Distilled-DeiT, CaiT, VOLO, BeiT, Swin Transformer和CLIP-ViT.

Text Encoder

按照BERT和RoBERTa的做法,VLP模型通常将输入语句拆分成一系列的子词 (subwords),然后再句首和句尾插入两个特别的token,得到输入文本序列。在得到text embedding之后,要么直接将其送入模态融合模块,或者在融合前先将其送入专门处理文本的网络层中。对于前者,因为文本编码和多模态融合的角色融合在一起,所以通常使用一个单独的BERT模型。但在本文中,我们希望将这一模块拆分成两个部分,先用一个text encoder对文本进行编码,再将得到的结果送入模态融合模块。

虽然有很多不同的预训练LM种类,但大多数VLP模型仍然使用BERT来实现文本信息的初始化。在本文中,作者将BERT, RoBERTa, ELECTRA, ALBERT和DeBERTa作为text encoder进行实验。除此之外,也对由BERT初始化的word embedding look-up layer进行实验。

Multimodal Fusion

对两种模态融合方式进行研究,分别是merged attention和co-attention(如下图)。

merged attention & co-attention

对于merged attention方式,只需将文本和图像信息拼接在一起,就可以送入一个transformer中进行训练。这种方式的优点是参数的高效性,对于两种模态使用一套参数即可。

对于co-attention方式,需要先将文本和图像分别送入不同的transformer模块进行训练,然后再利用co-attention的方式让不同模态之间的信息实现交互。

在reigon-based的VLP模型中,两种模态融合的方式实现的效果差不多,但随着端到端的VLP模型热度逐渐升高,这篇工作对两种模态融合方式得到的效果重新实验。

Encoder-Only vs. Encoder-Decoder

许多VLP模型会使用encoder-only结构,将得到的跨模态表示直接送入输出层生成最终结果。但最近有一些模型(如:VL-T5, SimVLM)提倡使用encoder-decoder结构,即先将跨模态表示先送入decoder再送入输出层。在这种模型架构中,decoder既关注来自于encoder的representation,也关注之前生成的tokens。

下图展示这两种结构在实现预训练MLM任务时的不同之处。

encoder-only & encoder-decoder

3.2 Pre-training Objectives

本部分先介绍广泛应用于VLP模型的MLM和ITM预训练任务,再介绍如何探索设计MIM任务。

Masked Language Modeling

MLM任务一开始是应用在纯文本的预训练中的,但其在VLP中的有效性也得到认可。对于image-caption pair,我们随机遮盖一些输入token,训练模型根据被遮盖的字符以及相应的图像输入去还原文本。

Image-Text Matching

在ITM任务中,模型需要在一系列image-caption pairs中判别哪些是匹配的,哪些不是。大多数VLP模型都将ITM看作一个二分类任务。

Masked Image Modeling

类比MLM,研究人员尝试在图像端使用masked image modeling。比如,在之前的一些工作中(如LXMERT, UNITER)遮盖一些输入图像区域,然后训练模型去预测region feature,属于回归任务。也可以先用能够获得高层的语义信息的预训练目标检测器对每个区域生成一个对象标签,然后训练模型根据被遮盖的区域去直接预测标签,而不是预测region feature。

但最近一些SOTA的VLP模型(ALBEF, VinVL)没有使用MIM预训练任务。在ViLT这篇工作中,作者也提出masked patch regression对他们的设置并没有起到帮助。MIM对于VLP模型是否有效并不确定。为了进一步研究MIM的作用,我们将MIM看作一个masked patch classification任务,并提出两种实现方式。

1) Masked Patch Classification with In-batch Negatives

构建候选集,预测时直接从候选集中选择。

2) Masked Patch Classification with Discrete Code

受BEiT启发,获取输入patches的离散表示,然后训练模型去重构这些离散tokens。

3.3 Our Default Settings for METER

METER有很多不同的设计方式,在此部分介绍默认设置。

Model Architecture

使用co-attention方式实现模态融合。底部用一个预训练的visual encoder和一个text encoder。在每个encoder上叠加6个transformer编码层,每层都有一个自注意力模块,一个co-attention模块和一个前馈神经网络模块组成。模型中不包括decoder,图像和语言分支的参数也不共享。

Pre-training Objectives

用MLM和ITM作为预训练任务。

Pre-training Datasets

在四个最常用的数据集上进行预训练。数据集分别是:COCO, Conceptual Captions, SBU Captions, Visual Genome,一共约有4M图片。

Downstream Tasks

对于消融实验和分析部分,我们主要使用VQAv2进行实验。为了对比SOTA水平,也对其他任务进行评估,如visual reasoning(NLVR2),visual entailment(SNLI-VE),image-text retrieval(COO, Flickr30k)。

4. Experiments

论文本部分内容主要是实验对比,故在此主要给出实验结果和相关结论。

4.1 Impact of Vision and Language Encoders

without VLP

省去VLP预训练过程,底层使用预训练text encoder和vision encoder,顶层随机初始化后直接在具体的下游任务上进行微调测试。实验对比结果如下表所示

vision and text encoders without pre-training

结论:如果不进行VLP预训练,直接在下游任务上进行微调的话,text encoder中RoBERTa和Swin Transformer效果好,visual encoder中CLIP-ViT效果好。

with VLP

正如下表所示,加上VLP之后,text encoder方面BERT和RoBERTa之间的差距似乎消失了,但底层使用一个预训练好的text encoder还是十分必要的(对比Embed-only和BERT)。对于vision encoder来说,CLIP-ViT-224/16和Swin Transformer都能达到比较好的水平。

different encoders

Useful Tricks:

  • 随机初始化的参数使用的学习率可以比由预训练模型初始化的参数使用的学习率大一些。
  • 在微调过程中提高图片的分辨率,得到的效果更好。

4.2 Analysis of the Multimodal Fusion Module

结论:对比co-attention和merged attention,发现co-attention的效果更好一些,说明对于不同模态训练不同的参数是十分必要的。

co-att vs merged-att

4.3 Encoder-Only vs Encoder-Decoder

结论:根据4.2小节的表可以看出,encoder-only模型的效果比encoder-decoder的效果好。但是encoder-decoder模型更灵活,更适合处理image captioning等任务。

4.4 Ablations on Pre-training Objectives

结论:根据下表,MLM和ITM都可以提升下游任务的效果。但是本篇工作中提出的两种MIM预训练任务会让实验结果变差。

pre-training objectives

4.5 Comparison with Prior Arts

对METER最好的模型架构进行测试评估,并与之前的工作进行对比,结果如下表。

best-performing models:

RoBERTa-base+Swin Transformer and RoBERTbase+CLIP-ViT-224/16 with co-attention fusion module, and with image resolutions set to 384 and 288, respectively

evaluaion

除此之外,METER模型还具有可拓展性。如下表所示,模型可以在VQAv2上达到SOTA水平,超过了之前使用1.8B图像训练的模型的结果。

Scaling the Model

5. Conclusion

本篇工作提出了METER模型架构,基于此对如何训练一个端到端的全部由transformer构成的VLP模型进行了系统全面的实验。实验结果表明,可以用4M图像对模型进行预训练,得到的效果可以和SOTA水平的模型相媲美。进一步扩大模型规模时,METER可以实现新的SOTA水平。