所谓多模态就是融合了不止一种模态的信息,比如图像、文本、音频和视频等,现阶段最常见的就是Vision+Language的形式。
本文记录一下基于Transformer 的图文多模态预训练(Vision-and-Language Pre-training (VLP) )基础模型(该模型一旦训练好就可以用于VL下游任务,比如图文检索、视觉问答等,还有比较实用的Document Understanding,分析文档布局、提取文档信息并结构化输出)。
本文分析了几个经典模型(CLIP、ViLT、ALBEF、VLMo)的架构:视觉编码器、文本编码器和特征融合,以及使用的目标函数、主要贡献等等。
CLIP
论文于2021年2月26号挂在Arxiv上(代码在2021年1月6号首次提交),论文题目《Learning Transferable Visual Models From Natural Language Supervision》。
关于clip的应用(零样本图像分类、提示词工程),可参见之前的文章CLIP论文笔记及简单的使用示例。
主要内容:
创建了一个包含4亿条(图像,文本)对的数据,这些数据从因特网上获取得到。
假设给定一个批大小为N的(图像,文本)对,CLIP联合训练图像编码器和文本编码器,学习一个多模态的向量空间,最大化N对真实的图文向量的余弦相似度,最小化N方-N对不正确的图文向量的余弦相似度。
最大的ResNet模型RN50x6在592张V100 GPU上训练了18天,最大的Vision Transformer模型在256张V100 GPU上训练12天。
文本编码器采用GPT2,视觉编码器采用ViT或者ResNet,采用跨模态对比学习目标进行模型训练。架构:
ViLT
代码于2021年3月25日首次提交。v1版本论文于2021年2月5号挂在Arxiv上,2021年6月10号更新v2版本,论文题目《ViLT: Vision-and-Language Transformer Without Convolution or Region Supervision》。
主要贡献:
ViLT采用Transformer模块作为视觉编码器,获得高效的运行时间和参数量。
没有使用区域特征或者卷积视觉编码器,在VL任务上首次获得了具有竞争力的性能。
对于视觉-语言两种模态来说,视觉模块通常需要更大的网络才能提取较好的特征,但两种模态的交互也很重要。
视觉编码模块是大多数Vision-and-Language Pre-training (VLP) 模型的瓶颈。
ViLT基于两点标准将视觉语言模型分为四类,两点标准是:两种模态的表达能力(根据参数和计算量衡量)是否相同。两种模态在深层网络中是否有交互。
ViLT在四个数据集上进行预训练:Microsoft COCO (MSCOCO),Visual Genome (VG),SBU Captions (SBU) Google Conceptual Captions (GCC)。
ALBEF
代码2021年7月16首次提交。v1版本论文于2021年7月16日挂在Arxiv上,v2版本2021年10月7号更新,论文《Align before Fuse: Vision and Language Representation Learning with Momentum Distillation》。
主要有两点贡献:align before fusion(模态融合前先对齐),momentum model(动量蒸馏)。
一、提出背景:
许多现有的方法采用基于Transformer的多模态编码器,联合编码视觉特征和文本特征,因为两者是没有对齐的(所以需要先对齐)
为了从网络上获取得到的噪声数据中体征学习性能,提出了动量蒸馏,一种从动量模型产生的伪标签中进行学习的自训练方法(动量蒸馏解决网络脏数据问题)
二、怎么做?
解决对齐:
首先使用一个图像编码器和一个文本编码器分别对图像和文本进行独立编码,然后使用多模态编码器通过跨模态注意力将图像特征和文本特征进行融合。
在单模态编码器的特征表示上引入了中间的ITC损失,有三个目的:
(1)将图像特征和文本特征进行对齐,使多模态编码器更容易的进行跨模态学习;
(2)提升单模态编码器更好的理解图像和文本的语义信息;
(3)学习一个低维空间编码图像和文本,使得图文匹配目标通过对比学习得到的困难负样本挖掘找到信息丰富的样例。
解决脏数据:
提出动量蒸馏(MoD),训练时,通过模型参数的移动平均保留一个动量版本的模型,然后使用动量模型生成伪标签作为额外的监督信号。
网络结构:文本编码器为BERT,视觉编码器为ViT。如下图所示:
图像编码器使用12层的ViT-B/16,文本编码器和多模态编码器采用6层的transformer。
三个优化目标:单模态编码器的ITC、多模态 编码器的MLM和ITM,使用online contrastive hard negative mining提升ITM。
动量模型是一个持续进化的teacher,包含单模态和多模态编码器的指数移动平均(ema)版本。
使用MoD得到的伪标签样例(图示所给例子可以看到,top5伪标签比原始的GT更能准确的描述图像内容。):
消融实验结果(加入ITC的提升是非常明显的):
VLMo