文章idea
- 多模态架构中,
dual-encoder对图文检索任务非常友好,因为其可以分别encode图文特征;fusion-encoder对图文分类任务更加友好,因为其可以对图文特征进行深入融合。 - 为了更好的利用这两种架构的优势,作者提出了新的
transformer模块:MoME;以及基于这种模块的新模型:VLMo;
文章主旨
- 提出了新的
transformer结构MoME,其中的self-attention结构可以对齐不同的模态信息,模态expert可以获取特定的模态信息。 - 提出了基于
MoME结构的多模态模型VLMo。也提出了预训练分阶段的预训练方案,提高多模态效果。
模型细节

dual encoder: 分别encode图像和文本,常见于检索任务。fusion encoder:同时encode图文对,其目的是模态更好的融合。
输入表征
- 图像表征:由于输入使用的模型是
vit,所以处理方式是标准的path处理。$V{image} = V{embedding} + V{pos} + V{type}$.这里的$V_{type}$ 指的是输入类型:图像or文本。 - 文本表征:由于文本
encoder使用的是BERT,所以此处使用的也是wordPiece。$V{text} = V{embedding} + V{pos} + V{type}$. - 图像文本表征:$V=[ V{text},V{image}]$
MoME
- 详细图表示如下:

公式表示如下:

图中的
MoME-FFN,共有三种类型:V-FFN,L-FFN,VL-FFN.其中V-FFN只有输入均是图像的时候使用,L-FFN只有输入均是文本的时候使用,VL-FFN当输入是两个模态的时候使用,而且分别经过V-FFN和L-FFN 获取特征以后,再经过VL-FFN获取模态之间的交互。
损失
预训练任务有3个:
- 图文对比损失
- MLM
- ITM
Stagewise Pre-Training

- 只使用
image数据训练模型,调整方式与BEiT相同,我们直接使用了BEiT模型参数初始化attention模块和expert参数。 - 只使用
text数据训练模型,此时冻结了attention模块的参数,使用MLM优化调整文本expert的参数。 - 使用
image-text pair训练整个模型
模型实验
数据集
Conceptual Captions (CC) , SBU Captions , COCO and Visual Genome (VG) datasets. There are about 4M images and 10M image-text pairs in the pre-training data
下游任务
Vision-Language Classification
取最后[T_CLS]作为输入表征,后再接入task-specific分类层。
- Visual Question Answering (VQA)
- Natural Language for Visual Reasoning (NLVR2)

Vision-Language Retrieval
将VLMo作为 dual encoder使用,分别计算两个塔的输出表征。