多模态——这个概念初听或许有些抽象,但简单来说,就是我们在处理信息时,视觉、听觉、触觉甚至语言等不同感知通道协同运作。比如,观看一部电影时,画面、对白、音效、字幕等元素相互配合,才能让你完整理解剧情并感受情绪。如果只有画面没有声音,观影体验将大打折扣。
在计算机科学与人工智能领域,多模态思想同样被广泛应用。自然语言处理中,模型可以同时分析文本与图像,实现更立体的理解;人机交互中,语音、触控、手势等多通道结合,让用户操作更自然流畅。自动驾驶、医疗诊断、情感分析等前沿方向,都离不开多模态技术的支撑。
好了,铺垫结束,我们直接进入正题。
1 引言

图1. Vision Transformer 概览
不同模态间的语义对齐——这一直是多模态AI研究的核心挑战。传统上,多模态数据包括图像、文字、声音、触觉等,后来进一步细分为图像、视频、语言文字、代码、语音、红外、3D点云等,形式日益丰富。但随之而来的问题是:每种模态的数据在语义密度、信噪比、知识覆盖范围上都存在差异。要实现对齐,必须同时解决两个关键问题:形式对齐与内容对齐。
先谈形式对齐。在NLP领域,ELMo通过上下文双向预测提取词元语义,BERT则采用完形填空式的语句重建任务,结合Transformer的高并行性与深层结构,解决了语言数据人工标注成本高的问题。NLP的进步也推动了计算机视觉——Google的Vision Transformer(ViT)将一张224×224的图片分割成16×16个patch,每个patch当作一个token交由Transformer处理。这样一来,语言数据与视觉数据在数据格式与计算方式上实现了统一,形式对齐这一难题得到了初步突破。
今天要介绍的这篇论文——ViLT: Vision-and-Language Transformer Without Convolution or Region Supervision,正是基于上述工作的多模态先行者。
2 相关工作
图2. 四类视觉语言模型
论文第一部分总结了截至2021年的多模态方法,并按照计算量进行了分类。如图2所示,VE代表视觉编码,TE代表文字编码,MI代表模态融合,方框面积表示计算量。
在ViT出现之前,视觉语言模型的视觉部分主要由CNN骨干统治,VE部分几乎都基于像素和CNN嵌入,例如Pixel-BERT。大多数研究聚焦于提升VE部分的性能与计算量,并且区域特征通常在训练时提前缓存,以减轻特征提取负担。因此,学术界容易忽略VE部分过重的缺点——但在实际应用中,视觉特征提取的开销与推理时间非常可观,直接影响模型可用性。同时,这类方法过度依赖CNN骨干的泛化能力与训练数据量,优化空间有限。
为此,该工作的作者将重点放在视觉嵌入的轻量化和快速化上,仅使用Transformer作为网络主体,以统一方式处理两种模态。与以往的视觉语言模型不同,ViLT不包含卷积网络——通过特殊设计去掉了专门的深度视觉嵌入器,显著减小了模型大小与运行时间。从图3可以看出,参数有效模型的运行速度比使用区域特征的VLP模型快几十倍,比使用网格特征的快四倍以上;性能方面也没有明显下降,甚至在部分任务上表现更优。
图3. 推理代价对比图
ViLT的主要贡献,论文作者总结为以下几点:
- 它是迄今为止最简单的视觉语言模型架构,统一使用Transformer处理视觉与语言特征,大幅降低了运行时间并提升了参数效率。
- 首次证明CNN并非视觉语言任务的唯一选择——在不使用任何CNN的情况下,仍能取得令人满意的性能。
- 证明了在多模态任务训练中,整词掩蔽与图像增强能进一步提升模型性能。
3 背景
3.1 视觉语言模型的分类方式
作者提出的分类依据两点:(1)两种模态在专用参数或计算上是否具有均匀的表达能力;(2)两种模态在深度网络中是否存在相互作用。这两个维度的组合形成了图2中的四种原型。
视觉语义嵌入模型(如VSE++和SCAN)属于图2a——对图像和文本使用不同的嵌入器,前者明显更重,然后通过简单的点积或浅层注意力层表示相似性。
CLIP属于图2b——每种模态使用单独但同样昂贵的Transformer嵌入器,合并后的交互仍然很浅(点积)。虽然CLIP在图像到文本检索上表现出色,但在其他下游任务中表现一般。例如,用CLIP的池化向量点积作为多模态表示来微调NLVR2上的MLP头,仅能达到50.99±0.38的低精度(机会水平准确度为0.5),说明简单融合无法学习该任务。这支持了作者的推断:即使单模态嵌入器输出性能很高,简单融合仍可能不足以学习复杂的视觉语言任务——需要更严格的模态间交互方案。
与浅层交互模型不同,图2c中的较新VLP模型使用深层Transformer模拟图文交互。但除了交互模块,卷积网络仍参与提取和嵌入图像特征,占据了大部分计算量。调制型视觉语言模型也属于图2c,其视觉CNN词干对应视觉嵌入器,RNN产生文本嵌入器的调制参数,调制CNN产生模态交互。
本文提出的ViLT属于图2d——第一个模型,其中原始像素的嵌入层很浅,计算量比文本标记轻得多,将大部分计算集中在模态交互上。
3.2 模态交互
Transformer技术是当前VLP模型的核心——它们以视觉和文本嵌入序列作为输入,模拟模态内与模态间的交互,输出上下文相关的特征序列。
Bria等人将交互模式分为两类:(1)单流方法(如VisualBERT、UNITER),各层对图像和文本输入的串联进行集体操作;(2)双流方法(如ViLBERT、LXMERT),两种模式在输入级别上不连接。本文作者采用单流方法,因为双流会引入额外参数。
3.3 视觉Embedding
所有高性能VLP模型都共享相同的Text Embedding(BERT),但在视觉嵌入器上各不相同。然而,视觉嵌入仍然是现有VLP模型的瓶颈。ViLT通过引入Patch Projection(而非区域或网格特征)来缓解这一瓶颈,因为区域或网格特征使用了更大的提取模块。
区域特征。VLP模型主要利用区域特征(也称自下而上特征),从现成的物体检测器如Faster R-CNN获得。生成流程:先用RPN基于CNN骨干的网格特征建议感兴趣区域(RoI),然后用NMS(非极大值抑制)将RoI减少到几千个,再通过RoI Align等操作池化后成为区域特征,最后再次应用NMS将特征数量减少到100以下。该过程涉及多个影响性能和运行时的因素:骨干网络、NMS风格、RoI头。以往工作对这些因素比较宽容,例如常用ResNet-101和ResNext-152作为骨干;NMS通常以逐类方式完成,在类别数量大的数据集(如VG有1.6K类)中成为瓶颈;RoI头最初用C4,后来引入heads,但所有RoI共同工作带来了巨大运行时负担。轻量级目标检测模型也不太可能比骨干或单层卷积更快。提前冻结视觉骨干并缓存区域特征仅在训练时有帮助,推理期间无效,且会抑制性能。
网格特征。除了目标检测头,CNN(如ResNets)的输出特征网格也可用作视觉特征。直接使用网格特征首先由特定模型提出,主要是为了避免区域选择操作。X-LXMERT通过固定目标区域为网格来重新研究网格特征,但特征缓存排除了对骨干的进一步调整。Pixel-BERT是唯一将VG预训练的目标检测器替换为预训练ImageNet分类的ResNet变体主干的VLP模型,并且主干在预训练过程中进行了调整,但下游性能低于基于区域特征的模型,而且使用了更重的ResNeXt-152。作者声称网格特征并非首选,因为深度CNN代价昂贵,占整个计算的一大部分(如图3)。
Patch Projection。为了最小化开销,作者采用了最简单的视觉Embedding方案:在图像块上操作的线性投影。ViT针对图像分类引入了块投影Embedding,它将视觉Embedding步骤大大简化到文本Embedding的水平——同样由简单的投影操作组成。作者使用32×32的面片投影,仅需2.4M参数,与复杂的ResNe(X)t骨干和目标检测元件形成鲜明对比,运行时间也可忽略不计(如图3和原文4.6节的分析)。
4 ViLT
4.1 模型概述
ViLT模型是一个追求简洁的单流视觉语言模型,拥有最小化的VE模块。具体结构参考图2。比较反直觉的是,作者在实际实验中对模型参数进行初始化以加速训练:直接使用BERT初始化效果很差;在多次实验中,作者分别尝试了用预训练ViT初始化IM模块的参数,以及仅用ViT的patch embedding初始化ViLT的patch embedding。最后发现,用预训练ViT初始化IM模块效果最好。ViT和BERT模型的结构区别在于层归一化(LN)的位置:ViT中LN位于多头注意力和全连接层前面,BERT中位于后面。本工作使用的预训练模型是ViT-B/32,在ImageNet上预训练。
4.2 预训练目标
作者使用两个常用目标训练ViLT:图像文本匹配(ITM)和掩蔽语言建模(MLM)。
ITM。图像文本匹配。以0.5的概率将对齐后的图像随机替换为不同的图像。单个线性层ITM头将池化的输出特征p投影到二进制类上,计算负对数似然损失作为ITM损失。另外还使用基于最优运输原理的此块对齐思想辅助ITM训练。
MLM。掩蔽语言建模。以0.15的掩蔽概率进行随机掩蔽,进行掩蔽重建任务计算损失,方法同BERT。同时使用了不同于BERT的整词掩蔽方式,用视觉信息重建掩蔽词,以加强模态间交互。
4.3 图像增强
在多模态任务中,图像增强方法经常会影响语义,所以很少使用——比如裁剪可能影响目标数量,归一化会影响色彩。但图像增强本身是提升模型鲁棒性和泛化性的有效技巧,作者在微调过程中仍然使用了部分不影响图像语义的数据增强方法。
5 实验

图4. 数据集
具体实验方法不再展开,这里主要介绍数据集和评估效果。本工作使用了四个数据集共4M张图片和约10M条描述用于预训练(如图4)。在VQA v2和NLVR2上进行评估,评估结果如图5-7。
图5. 评估结果-1
图6. 评估结果-2
结果很清晰:ViLT的主要提升体现在Time上——推理速度大幅提高,而在分数和效果上并未下降,反而在某些任务上实现了小幅提升。
图7. 消融实验
图7的消融实验探究了哪些设计提升了性能——整词掩蔽和图像增强都带来了几个点的效果提升。
6 可视化效果

图8. 多模态对齐可视化展示
作者展示了ViLT的图像可视化对齐效果——当把更多计算量分配给IM模块时,模型展现出更强的对齐能力。作者认为在WPA任务上的设计增强了模型的对齐能力。
