美文网首页
How to选择多模态模型

How to选择多模态模型

作者: 菜根小友 | 来源:发表于2023-04-14 10:33 被阅读0次

本文以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)。

相关文章

网友评论

      本文标题:How to选择多模态模型

      本文链接:https://www.haomeiwen.com/subject/blpoddtx.html