How to选择多模态模型

2023-04-14  本文已影响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种类型。

对图中的各个目标region识别后生成表示,融入到Bert中。

本文主要研究的Visual Encoder是第三种,不需要依赖object detection模块或前置的CNN特征提取模块。

Text Encoder

包括诸如BERT,ALBERT等经典预训练语言模型结构。

Multimodel Fusion

主要指如何融合图像侧和文本侧Encoder输出表示。主流方法包括2种。

模型结构

主要包括Encoder-only和Encoder-Decoder两种类型。
一般比较常见的是Encoder-only的结构,对于Encoder-Deocder结构,将Encoder得到的多模态表示输入到Decoder中,递归解析出后续单词,


image.png
预训练目标

可以分为三大类。

下表汇总了一些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综述类的文章

想梳理清楚多模态模型,核心需要明确不同多模态模型在模型结构,Visual Encoder方法,预训练任务3个方面的差异。
模型结构主要分为单流模型和双流模型,(就是上文的co-attention和merged-attention)。

上一篇 下一篇

猜你喜欢

热点阅读