本文以VLP为基础,详细介绍VLP的各个组成部分,以及各个部分的不同配置对效果的影响。
1. VLP中的五大模块
VLP大多遵循同一个框架,包括五大模块,分别为Vision Encoder,Text Encoder,Multimodal Fusion,Encoder-only or Encoder-Decoder,以及预训练任务。不同的VLP论文主要针对这五个模块进行不同的设计。
image.png
Visual Encoder
Visual Encoder主要包括3种类型。
-
OD-based Region Features
使用object detection模型(一般为Faster RCNN)识别图像中的目标区域,并生成每个目标区域的特征表示。如下图,
image.png
对图中的各个目标region识别后生成表示,融入到Bert中。
-
CNN-based Grid Features
利用CNN提取grid feature作为图像输入。即在原始图像上提取信息,将CNN最终的输入特征平铺序列输入到多模态模型中。 -
ViT-based Patch Features
ViT采用的将图像分解成patch,每个patch生成embedding输入到模型中。随着Vision-Transformer的发展,第三种方式逐渐成为主流方法。
本文主要研究的Visual Encoder是第三种,不需要依赖object detection模块或前置的CNN特征提取模块。
Text Encoder
包括诸如BERT,ALBERT等经典预训练语言模型结构。
Multimodel Fusion
主要指如何融合图像侧和文本侧Encoder输出表示。主流方法包括2种。
- co-attention,图像侧和文本侧分别使用transformer编码,在每个Transformer编码,在每个Transformer模块间加入图像和文本之间的cross attention。
-
merged attention model,图像侧和文本侧最开始就被拼接到一起,输入到transformer的模型中。其中,merged attention model方法的参数量相对更少。
image.png
模型结构
主要包括Encoder-only和Encoder-Decoder两种类型。
一般比较常见的是Encoder-only的结构,对于Encoder-Deocder结构,将Encoder得到的多模态表示输入到Decoder中,递归解析出后续单词,
image.png
预训练目标
可以分为三大类。
- Masked Language Modeling(MLM),随机遮盖掉部分token,使用其它token以及图像信息预测被遮住的token,类似于Bert中的MLM。
- Masked Image Modeling(MIM),对输入的部分图像region或patch进行mask,然后预测被mask掉部分目标类别,或者基于回归任务还原被mask掉部分的像素。
- Image-Text Matching(ITM),预测image和text的pair对是否匹配。
- Vision-Language Matching:使用image和language的匹配任务作为预训练目标。
- Vision-Language Contrastive Learning:基于对比学习的图文任务
- Word-Region Alignment: 对齐vision patch和word
- Visual Question Answer:用下游任务,如预测给图问题预测答案这个任务来训练。
下表汇总了一些SOTA VLP模型这5个模块的配置。
image.png
2. 哪种VLP模型配置最好
文中进行了详细的对比实验,分析VLP模型5个模块采用不同配置的效果差异。最后,文中也列出了各种SOTA VLP的效果。
实验一:探索不同的Text/Image Encoder对效果的影响。
不进行VLP预训练对比不同Text Encoder,Vision Encoder效果。使用文本,图像单模态的模型各自的参数初始化对应的Encoder,在Encoder输出基础上接多层随机初始化Transformer,然后直接在下游任务上Finetune,效果如下表。
从表中数据可以看出,在不进行预训练的情况下,各个text Encoder效果差距不大,RoBERTa效果最稳定。对于Vision Transformer来说,Swin Transformer取得了最好的效果。
image.png
image.png
文中提出两个训练技巧,首先,对于随机初始化的参数和使用预训练初始化的参数,要使用不同的学习率,前者的学习率设置得大一些对效果有帮助。其次,finetune阶段增大图像分辨率会带来效果显著提高。
实验二 探索multimodal Fusion模块对效果的影响
实验结果表明,co-attention比merged-attention效果更好。这表明VLP任务中,最好是不同模态使用一套独立的参数。文中也提到,这个结论在rigion-based方法中并不使用。
image.png
实验三 Encoder-Only和Encoder-Decoder对比
从上图可以看到,Encoder-Only模型的效果更好,但是Encoder-Decoder模型更灵活。
可以解决image captioning等和文本生成有关的任务。
实验四 不同预训练任务的效果对比
通过下面任务可以看出,MLM任务和ITM任务都对模型效果有显著提升。其中MLM带来的提升更大。而MIM任务,即mask部分图像再进行预测,加入预训练后效果反而下降。
image.png
最后,文中也对比了各个SOTA方法的效果。文中采用最优配置进行模型训练,得到了VLP预训练框架METER,取得了非常显著的效果。
image.png
Visual-Language往事
两篇VLP综述类的文章
- VLP:A Survey on Vision-Language Pretraining
- An empirical study of training end-to-end vision-and-language Transformers
想梳理清楚多模态模型,核心需要明确不同多模态模型在模型结构,Visual Encoder方法,预训练任务3个方面的差异。
模型结构主要分为单流模型和双流模型,(就是上文的co-attention和merged-attention)。













网友评论