多模态大模型:VILT(Vision-and-Language Transformer)
本文提出了一种极简的视觉-语言预训练架构——视觉-语言Transformer(ViLT)。ViLT能够与依赖复杂卷积视觉嵌入网络(如Faster R-CNN和ResNets)的模型竞争。我们呼吁未来视觉-语言预训练研究更关注Transformer模块内的多模态交互设计,而非陷入仅提升单模态嵌入能力的“军备竞赛”。
本文首发于微信公众号:人工智能与图像处理
多模态大模型:VILT(Vision-and-Language Transformer) (qq.com)
一,VILT
1,概述:
ViLT(Vision-and-Language Transformer)是2021年ICML会议上提出的一种多模态预训练模型,旨在通过简化视觉特征提取过程,显著提升视觉-语言任务的效率和性能。其核心创新在于完全摒弃传统视觉语言模型(VLM)中依赖的卷积神经网络(CNN)或区域监督(如目标检测),首次实现了仅通过轻量化的线性投影层处理图像输入,与文本输入统一由Transformer进行模态交互。以下从背景、方法、实验与贡献等方面进行介绍:
A 研究背景与动机
传统VLM模型(如VisualBERT、ViLBERT等)依赖复杂的视觉特征提取模块,例如基于Faster R-CNN的区域特征或ResNet的网格特征。这些方法存在两大问题:
-
效率瓶颈:视觉特征提取耗时远超模态交互步骤,例如区域特征需通过目标检测器生成,计算成本高;
-
表达能力受限:模型性能受限于预训练视觉嵌入器的能力,例如目标检测器预定义的1600个对象类可能无法覆盖所有下游任务需求。
ViLT的提出旨在解决上述问题,通过将视觉输入简化为与文本相同的处理方式,实现高效且轻量的多模态学习。
B 模型架构与创新点
1)统一模态处理
ViLT采用单流(single-stream)Transformer架构,将图像和文本输入统一处理:
-
文本嵌入:使用BERT的Tokenizer生成词嵌入,并添加位置编码和模态类型嵌;
-
图像嵌入:将图像分割为32×32的块(patch),通过线性投影(仅需2.4M参数)映射为向量,并添加位置编码和模态类型嵌入;
-
模态交互:拼接文本和图像嵌入序列,输入多层Transformer进行跨模态交互。
2)轻量化视觉处理
ViLT完全移除了传统VLP中的卷积或目标检测模块,仅需0.4ms即可完成图像嵌入,速度比基于区域特征的模型快数十倍,比基于网格特征的模型快。
3)预训练目标
ViLT采用两种预训练任务:
-
图像-文本匹配(ITM):以50%概率替换图文对中的图像,通过二分类任务判断图文是否匹配;
-
掩码语言建模(MLM):随机掩码15%的文本token,结合图像信息预测被掩码内容,并引入全词掩码(Whole Word Masking)技术,强制模型依赖视觉信息而非局部文本上下文。
4)训练技巧
-
图像增强:在微调阶段使用RandAugment(排除颜色反转和切除操作),提升模型泛化能力;
-
长时训练:增加训练步数(如从100K到200K)可显著提升下游任务性能。
C 实验与性能
1)下游任务表现
-
分类任务:在VQAv2(视觉问答)和NLVR2(视觉推理)任务中,ViLT分别达到71.26%和75.70%的准确率,与依赖卷积的模型相当;
-
检索任务:在Flickr30K数据集上,ViLT的零样本文本检索R@1达73.2%,图像检索R@1达55.0%。
2)效率优势
ViLT的推理速度比基于区域特征的模型快60倍,参数量显著减少(例如ViLT-B/32仅需12层Transformer),适合实时应用。
D 主要贡献与意义
1)轻量化架构:首次实现无需卷积或区域监督的VLP模型,极大降低计算成本;
2)模态交互优化:通过单流Transformer集中计算资源于跨模态交互,而非单模态特征提取;
3)训练方法创新:验证了全词掩码和图像增强在多模态预训练中的有效性;
4)推动研究方向:为后续工作(如更大规模的ViLT变体、视觉掩码建模)奠定了基础。
E) 未来方向
扩展模型规模:如训练更大参数的ViLT-L或ViLT-H,以提升性能;
视觉掩码目标:借鉴无监督学习,设计无需区域监督的视觉掩码预训练任务;
增强策略优化:研究更适合多模态任务的文本和图像数据增强方法。
ViLT的提出标志着多模态模型从依赖复杂视觉特征转向高效统一的Transformer架构,为后续研究提供了重要参考。
二,论文翻译:
摘要 视觉与语言预训练(VLP)在各种视觉与语言联合的下游任务上提升了性能。当前的视觉与语言预训练方法严重依赖图像特征提取过程,其中大部分涉及区域监督(如目标检测)和卷积架构(如残差网络ResNet)。尽管在文献中被忽视了,但我们发现它存在两方面的问题:(1)效率/速度方面,单纯提取输入特征所需的计算量比多模态交互步骤要多得多;(2)表达能力方面,其上限受制于视觉嵌入器的表达能力以及其预定义的视觉词汇。 在本文中,我们提出了一个极简的视觉与语言预训练模型——视觉与语言Transformer(ViLT)。从处理视觉输入的方式被大幅简化为与处理文本输入相同的无卷积方式这一角度来看,它是一体化的。我们证明了ViLT比先前的视觉与语言预训练模型快数十倍,同时在下游任务上具有相当甚至更好的性能。我们的代码和预训练权重可在https://github.com/dandelin/vilt获取。
1.引言
预训练加微调的范式已扩展至视觉与语言的交叉领域,催生了一类视觉与语言预训练(Vision-and-Language Pre-training, VLP)模型。这些模型通过图像文本匹配和掩码语言建模目标,在图像及其对应描述的语料库上进行预训练,最终在涉及双模态输入的视觉-语言下游任务中进行微调。
迄今,多数VLP研究聚焦于通过增强视觉编码器提升模型性能。虽然学术实验中常通过预先缓存区域特征缓解计算负担,但重型视觉编码器的缺陷在真实场景中依然显著——实际应用时仍需经历耗时的特征提取流程。
为此,我们转向探索轻量化、高效率的视觉嵌入方案。近期研究表明,通过简单的图像块线性投影即可有效实现像素嵌入,继而输入Transformer架构。尽管Transformer在文本领域已成为主流,其在视觉领域的应用方兴未艾。我们推测,VLP模型中负责多模态交互的Transformer模块同样具备处理视觉特征的能力,可替代传统卷积式视觉编码器。
本文提出视觉与语言统一Transformer(ViLT),其核心创新在于对像素输入采用浅层、无卷积的轻量化嵌入方式。通过摒弃专用于视觉输入的深度编码器,模型规模与推理速度得到显著优化。如图1所示,这种参数高效的模型在视觉-语言下游任务中取得相当甚至更优性能的同时,其推理速度比采用区域特征的VLP模型快数十倍,较使用网格特征的模型也至少提升四倍。

图1. 传统VLP架构与本文提出的ViLT模型对比示意图
我们完全移除了VLP处理流程中的卷积神经网络,且未影响下游任务性能。ViLT是首个各模态专用模块的计算量低于多模态交互Transformer组件的VLP模型。
我们的核心贡献可总结如下:
-
ViLT是迄今为止视觉-语言模型中结构最简化的架构。它摒弃了独立的深度视觉编码器,转而通过Transformer模块直接提取并处理视觉特征。这一设计显著提升了模型的运行效率并降低了参数量。
-
首次在未依赖区域特征或深度卷积视觉编码器的条件下,于视觉-语言任务中实现优异性能。
-
首次通过实验验证,在VLP训练框架中引入全词掩码(whole word masking)与图像增强(image augmentations)策略(此前未被应用于VLP训练)可进一步提升下游任务表现。
2. 背景
2.1 视觉-语言模型的分类体系
我们提出一种基于以下两点的视觉-语言模型分类方法:
-
模态表达能力是否均衡——即两种模态是否具有相近的专用参数量和计算量;
-
模态间是否存在深层网络交互。

图2. 视觉-语言模型的四种类别 各矩形的高度表示其相对计算量大小。VE(视觉嵌入器)、TE(文本嵌入器)和MI(模态交互)分别为视觉嵌入模块、文本嵌入模块和模态交互模块的缩写。
基于这两点标准,可归纳出图2所示的四种模型原型:
-
图2a类型:以视觉语义嵌入(Visual Semantic Embedding, VSE)模型为代表,例如VSE++和SCAN。这类模型对图像和文本使用独立的编码器(通常视觉编码器计算量显著更大),并通过简单的点积或浅层注意力层计算跨模态特征相似性。
-
图2b类型:以CLIP模型为代表。该模型为图像和文本分别使用独立但计算代价相当的Transformer编码器,但模态间交互仍停留在浅层(如特征向量的点积)。尽管CLIP在图像-文本检索任务上展现出卓越的零样本性能,但在其他视觉-语言下游任务中表现欠佳。例如:将CLIP提取的视觉与文本向量点积作为多模态表征,并微调NLVR2任务的MLP头部时,开发集准确率仅为50.99 ± 0.38(三次随机种子实验均值)。由于随机基线准确率为50%,这表明此类表征无法有效学习该任务。这一结果与Suhr等人的研究结论一致——仅通过简单融合多模态表征的模型均无法有效学习NLVR2任务。
此现象印证了我们的推测:即使使用高性能单模态编码器,其输出的简单融合仍不足以应对复杂视觉-语言任务,进一步凸显了设计深度跨模态交互机制的必要性。
-
图2c类型:与浅层交互模型不同,近年来的VLP模型(如多数基于区域特征的方法)通过深层Transformer建模图像与文本特征的交互。然而,此类模型仍依赖卷积网络提取图像特征(如图1所示,这部分占据主要计算量)。此外,基于调制的视觉-语言模型也属于此类型:其视觉CNN主干作为视觉编码器,RNN生成文本编码器的调制参数,而调制后的CNN则负责模态交互。
-
图2d类型:本文提出的ViLT模型首次属于图2d类型,其图像像素嵌入层与文本标记嵌入层同样采用浅层、轻量化的设计,从而将主要计算资源集中于多模态交互建模。
2.2 模态交互模式
当代VLP模型的核心在于Transformer架构。其工作流程可概括为:接收视觉与文本嵌入序列作为输入,通过各层级联建模模态间交互(以及可选的模态内交互),最终输出上下文关联的特征序列。
Bugliarello等人(2020)将交互模式分为两类:
-
单流方法(如Visual-BERT、UNITER):图像与文本输入的嵌入序列在输入层直接拼接,各Transformer层共同处理混合模态信息;
-
双流方法(如ViLBERT、LXMERT):两种模态的嵌入序列在输入层保持独立,通过交叉注意力机制进行交互。
2.3 视觉嵌入方案
尽管所有高性能视觉语言预训练(VLP)模型都共享相同的文本嵌入器 —— 来自预训练 BERT 的分词器,以及类似于 BERT 的词嵌入和位置嵌入,但它们在视觉嵌入器上存在差异。不过,在大多数(如果不是全部)情况下,视觉嵌入是现有 VLP 模型的瓶颈。我们通过引入补丁投影(patch projection)来简化这一步骤,而不是使用需要重型提取模块的区域特征或网格特征。
区域特征:VLP 模型主要利用区域特征(也称为自底向上特征)。这些特征通过现成的目标检测器(如 Faster R-CNN)获取。
生成区域特征的一般流程如下:首先,区域提议网络(RPN)基于 CNN 主干网络池化后的网格特征提出感兴趣区域(RoI)。然后,非极大值抑制(NMS)将 RoI 的数量减少到几千个。经过 RoI 对齐(RoI Align)等操作池化后,RoI 通过 RoI 头层处理成为区域特征。最后,对每个类别再次应用 NMS,将特征数量减少到一百个以下。
上述过程涉及多个影响性能和运行时间的因素:主干网络、NMS 的类型、RoI 头层。以往的研究对这些因素的控制较为宽松,不同研究的选择差异如表 7 所示。
- 主干网络:
ResNet-101和 ResNext-152是两种常用的主干网络。
- 非极大值抑制(NMS):
NMS 通常按类别进行。当类别数量较多时(如 VG 数据集中的 1.6K 类),对每个类别应用 NMS 会成为主要的运行时间瓶颈。最近提出的类不可知 NMS(class-agnostic NMS)旨在解决这一问题。
- RoI 头层:
最初使用 C4 头层,后来引入了 FPN-MLP 头层。由于头层需要对每个 RoI 进行操作,因此会带来显著的运行时间负担。
虽然目标检测器较为轻量级,但其运行速度仍难以超越主干网络或单层卷积操作。冻结视觉主干网络并预先缓存区域特征的做法仅在训练阶段有效,对推理过程无实质帮助,更可能对模型性能形成制约。
网格特征:除检测头外,卷积神经网络(如ResNet)输出的特征网格也可作为视觉-语言预训练的视觉特征。网格特征的直接应用最早见于VQA专用模型,主要目的是规避区域选择操作导致的严重效率损耗。X-LXMERT通过将区域建议固定为网格而非区域建议网络生成的方式重新探索了网格特征,但其特征缓存策略限制了主干网络的进一步调优。Pixel-BERT作为唯一采用ImageNet分类预训练的ResNet变体替代VG预训练目标检测器的VLP模型,其主干网络在视觉-语言预训练阶段可调参。尽管使用ResNet-50时下游任务表现不及基于区域特征的VLP模型,但采用计算量更大的ResNeXt-152时仍能与其他竞争者持平。需要指出的是,深度卷积神经网络仍较为耗时(如图1所示),其计算量占比显著,因此网格特征并非理想选择。
补丁投影:为最大限度降低计算开销,我们采用极简的视觉嵌入方案:基于图像块的线性投影。该技术由ViT率先引入图像分类任务,将视觉嵌入复杂度降至与文本嵌入(仅需简单投影/查找操作)相当的水平。我们采用32×32的补丁投影方案,仅需240万参数,这与复杂的ResNe(X)t主干网络和检测组件形成鲜明对比。如图1所示,其运行时间亦可忽略不计。
3. 视觉-语言Transformer
3.1 模型概览
ViLT作为一种视觉-语言预训练(VLP)模型,采用极简架构设计:其视觉嵌入流程高度精简,并遵循单流交互模式(视觉与语言输入共享统一处理流)。
与现有研究不同,我们选择从预训练的ViT(Vision Transformer)而非BERT中初始化交互式Transformer的权重。这种初始化策略充分利用交互层的视觉特征处理能力,从而无需依赖独立的深度视觉嵌入器(如传统方法中的CNN主干网络)。

ViT架构组成
ViT由堆叠的Transformer块构成,每个块包含多头自注意力(MSA)层和MLP层。其与BERT的唯一差异在于层归一化(LN)的位置:BERT采用“后归一化”(LN置于MSA和MLP之后),而ViT采用“前归一化”(LN置于MSA和MLP之前)。
文本嵌入 输入文本
![]()
通过词嵌入矩阵
![]()
和位置嵌入矩阵
![]()
嵌入为
![]()
。
图像嵌入 输入图像
![]()
被切分为图像块并展平为
![]()
,其中 (P, P) 为块分辨率,N = HW/(P^2)。随后通过线性投影矩阵
![]()
和位置嵌入矩阵
![]()
,将 v 嵌入为
![]()
。
模态融合与处理 文本和图像嵌入分别与对应的**模态类型嵌入向量t_type, v_type∈ {R}^{H} 相加,随后拼接为联合输入序列 z_0。该序列经过深度为 D的Transformer层迭代更新,最终得到上下文序列 z_D。整个多模态输入的池化表征p通过线性投影矩阵W_pool ∈ {R}^{H} 作用于z_D的首个索引,并应用双曲正切函数获得。
实验配置 所有实验均采用ImageNet预训练的ViT-B/32权重,故模型命名为ViLT-B/32。具体参数如下:
-
- 隐藏层维度H = 768
-
- Transformer层深度 D = 12
-
- 图像块尺寸 P = 32
-
- MLP维度 3,072
-
- 注意力头数 12
3.2 预训练目标
ViLT采用视觉-语言预训练模型中常见的两个目标进行训练:图文匹配(ITM)与掩码语言建模(MLM)。
图文匹配(ITM):以50%的概率随机将原图替换为无关图像,通过线性分类层(ITM Head)将池化输出特征 P 映射为二分类logits,并计算负对数似然损失作为ITM损失。
此外,受Chen等人(2019)词-区域对齐目标的启发,我们设计词-块对齐(WPA)目标,通过近似最优传输的IPOT方法,计算最终上下文序列 z_D 的两个子集 z_D|t(文本子集)与 z_D|v(视觉子集)之间的对齐分数。IPOT超参数设置与Chen等人(2019)一致(β=0.5,N=50),并将近似Wasserstein距离的0.1倍加权后加入ITM损失。
掩码语言建模(MLM): 该目标通过上下文向量
![]()
预测被掩码文本标记 t_masked 的真实标签。遵循Devlin等人(2019)的启发式策略,以15%的概率随机掩码文本输入。
我们采用与BERT的MLM目标相同的结构:使用两层MLP组成的MLM头,输入被掩码标记的上下文向量
![]()
,输出词汇表上的logits,并通过计算被掩码标记的负对数似然损失得到MLM损失。
3.3 全词掩码
全词掩码是一种掩码技术,其将组成完整单词的连续子词标记全部掩码。研究表明,该技术对原始BERT及中文BERT的下游任务性能提升显著。
我们假设全词掩码对视觉-语言预训练尤为重要,因为它能迫使模型充分利用跨模态信息。例如,单词“giraffe”通过预训练的bert-base-uncased分词器被拆分为三个子词标记["gi", "##raf", "##fe"]。若未掩码全部子词(如["gi", "[MASK]", "##fe"]),模型可能仅依赖相邻文本标记["gi", "##fe"]预测被掩码的"##raf",而忽略图像信息。
在预训练中,我们以15%的概率对完整单词进行全词掩码。。
3.4 图像增强
研究表明,图像增强能提升视觉模型的泛化能力。基于ViT的DeiT通过实验验证了多种增强策略(如随机裁剪、旋转等)对ViT训练的益处。然而,图像增强在VLP模型中的作用尚未被充分探索。基于区域特征的VLP模型因特征缓存限制无法应用图像增强,而Pixel-BERT虽具备应用条件却未研究其效果。
为此,我们在微调阶段引入RandAugment策略。除以下两项外,其余原始策略均被采用:
-
颜色反转:因文本常包含颜色信息,保留原色有助于跨模态对齐;
-
随机擦除:可能掩盖图像中分散但重要的细小物体。
超参数设置为N=2(每次增强操作数)、 M=9(增强强度)。
4. 实验
4.1 概览
我们采用四个数据集进行预训练:
-
Microsoft COCO (MSCOCO)(Lin等人,2014)
-
Visual Genome (VG)(Krishna等人,2017)
-
SBU Captions (SBU)(Ordonez等人,2011)
-
Google Conceptual Captions (GCC)(Sharma等人,2018)
表1列出了各数据集的统计信息。

下游任务评估
我们在两类广泛研究的视觉-语言下游任务上评估ViLT:
-
分类任务
-
VQAv2(Goyal等人,2017):视觉问答任务
-
NLVR2(Suhr等人,2018):自然语言视觉推理任务
-
-
检索任务
-
MSCOCO
-
Flickr30K (F30K)(Plummer等人,2015),采用Karpathy & Fei-Fei(2015)重新划分的版本
-
训练细节
-
分类任务:采用不同初始化种子对头部模块及数据顺序进行三次微调,汇报平均性能。具体标准差及消融实验结果见表5。
-
检索任务:仅进行一次微调。
4.2 实现细节
所有实验采用AdamW优化器(Loshchilov & Hutter,2018),基础学习率为 1e-4,权重衰减系数为1e-2。学习率在总训练步数的前10%进行预热(warm-up),随后线性衰减至零。需注意,若针对各任务定制超参数,下游性能可能进一步提升。
图像处理 输入图像的短边统一调整为384像素,长边限制在640像素以内(保持原始宽高比)。该缩放策略与其他VLP模型的目标检测预处理一致,但其他模型通常采用更大的短边尺寸(如800像素)。ViLT-B/32的补丁投影对384×640分辨率图像生成12×20=240个图像块。由于实际输入分辨率很少达到此上限,预训练阶段最多采样200个图像块。我们对ViT-B/32的位置嵌入 V_pos 进行插值以适应不同图像尺寸,并对图像块进行填充以实现批量训练。值得注意的是,ViLT的图像分辨率(384×640)仅为其他VLP模型输入尺寸(800×1333)的1/4。
文本处理 使用bert-base-uncased分词器对文本输入进行分词。文本嵌入相关参数(包括类别标记 t_text{class}、词嵌入矩阵 T 和位置嵌入矩阵 \( T_text{pos}均从头开始训练,而非基于预训练BERT微调。尽管直觉上使用预训练文本模型可能有益,但Tan & Bansal(2019)的研究表明,在视觉-语言任务中,直接使用预训练BERT参数初始化可能导致性能弱于从头预训练。
训练配置
-
预训练:在64块NVIDIA V100 GPU上进行,批量大小为4,096,训练10万或20万步。
-
微调:
-
VQAv2/检索任务:批量256,训练10个epoch。
-
NLVR2任务:批量128,训练10个epoch。
-
4.3 分类任务评估
我们在两个常用数据集VQAv2和NLVR2上评估ViLT-B/32模型。使用具有1,536隐藏单元大小的双层多层感知机(MLP)作为微调的下游任务头部。
视觉问答任务(VQAv2):视觉问答任务(VQAv2):该任务要求根据图像与自然语言问题对给出答案。虽然标注答案原本是自由形式的自然语言,但通常将该任务转换为包含3,129个答案类别的分类任务。遵循这一惯例,我们在VQAv2的训练集和验证集上微调ViLT-B/32模型,同时预留1,000张验证图像及其相关问题用于内部验证。
通过向评估服务器提交获得的测试开发集得分结果显示,ViLT在VQA指标上落后于使用重型视觉编码器的其他视觉语言预训练(VLP)模型。我们推测,这是由于目标检测器生成的独立对象表征更便于VQA训练——因为VQA的问题通常围绕对象展开。
自然语言视觉推理(NLVR2):该任务是基于三元组(两张图像和一个自然语言问题)的二分类任务。由于与预训练设置不同,输入包含两张图像,存在多种处理策略。我们遵循OSCAR(Li等人,2020b)和VinVL(Zhang等人,2021)的"配对方法"——将三元组输入重构为两个独立对(问题,图像1)和(问题,图像2),每个配对分别通过ViLT模型处理。最终,头部网络将两个池化表示(p)的拼接结果作为输入,输出二分类预测。
如表2所示,ViLT-B/32在保持显著推理速度优势的同时,于两个数据集上均展现出竞争力。

4.4 检索任务评估
我们在MSCOCO(Karpathy & Fei-Fei 2015划分版)和F30K数据集上对ViLT-B/32进行微调。针对图像到文本和文本到图像的双向检索任务,我们同步评估了零样本检索与微调后检索的性能。具体实现上,相似度评分头基于预训练图文匹配(ITM)头部初始化——重点继承其正样本对(true-pair)的logits计算模块。在训练过程中,我们采用负采样策略(每个正样本随机选取15个文本作为负样本),通过交叉熵损失函数最大化正样本对的匹配得分。
如表3和表4所示,零样本检索方面,ViLT-B/32整体表现优于ImageBERT模型,尽管后者使用了更大规模(1400万样本)的预训练数据。在微调后检索任务中,ViLT-B/32的召回率较第二快的模型(Pixel-BERT-R50)展现出显著优势——这一结果验证了ViLT架构在保持高效推理(较基于目标检测器的VLP模型提速10倍以上)的同时,仍能实现具有竞争力的检索性能。

4.5 消融研究
如表5所示,我们进行了多项消融实验。结果表明:增加训练步数、使用全词掩码(whole word masking)以及图像增强策略均能提升模型性能,而添加额外的训练目标则未见明显增益。
已有研究指出,训练迭代次数会影响自监督模型的性能表现(Devlin等,2019;Chen等,2020a;b)。由于视觉语言预训练(VLP)本质上也是一种自监督训练范式,我们探究了训练时长的影响。实验结果显示,随着训练步数增加(第1-3行),模型性能持续提升,这符合预期。采用全词掩码策略实现MLM目标(第3-4行)以及微调阶段使用图像增强(第6行)也能显著提升性能。当训练步数增加至20万时,模型在VQAv2、NLVR2和零样本检索任务上的表现均有改进。我们未继续增加训练步数,因为文本检索任务的微调性能在此之后开始下降。
在Chen等(2019)的研究中,额外的掩码区域建模(MRM)目标是VLP模型性能提升的关键。我们尝试了与补丁投影兼容的掩码补丁预测(MPP)方法(Dosovitskiy等,2020),该方法以15%的概率掩码图像补丁v,并要求模型通过其上下文向量z_masked从D|v预测被掩码补丁的RGB均值。然而实验表明(第4-5行),MPP对下游任务性能并无贡献。这一结果与基于目标检测监督信号的MRM目标形成鲜明对比。
4.6 VLP模型复杂度分析
我们从多维度对视觉-语言预训练(VLP)模型的复杂度进行分析。表6展示了各模型的参数量、浮点运算次数(FLOPs)以及视觉嵌入模块与Transformer模块的推理延迟。由于所有VLP模型的文本嵌入模块共享相同结构,此处未计入统计。延迟数据基于Xeon E5-2650 CPU和NVIDIA P40 GPU进行10,000次推理的平均值。


输入尺寸(图像分辨率)及拼接后的多模态输入序列长度会影响FLOPs数量;我们同时标注了序列长度。具体输入设定如下:基于区域的VLP模型和Pixel-BERT-R50采用800×1333分辨率,Pixel-BERT-X152采用600×1000分辨率,ViLT-B/32采用384×640分辨率。
在Pixel-BERT和ViLT中,视觉标记在预训练阶段被采样,并在微调阶段完整使用。表中列出视觉标记的最大数量。
值得注意的是,当输入序列长度小于300时,类BERT-base结构的Transformer运行时间差异小于1毫秒。尽管ViLT-B/32需处理图像与文本标记的联合输入,但由于其补丁投影最多生成240个图像标记,模型仍能保持高效推理效率。
4.7 可视化
图4展示了跨模态对齐的示例。WPA(词-块对齐)的传输方案通过热力图呈现,其中粉色高亮的文本标记与图像块的关联强度通过热力图表达。每个方形网格代表一个图像块,其透明度反映了从高亮文本标记传输至该图像块的“质量”权重。
增加IPOT迭代次数(训练阶段通常超过50次)有助于热力图收敛;实验表明,1000次迭代足以生成清晰可辨的热力图。我们对每个文本标记的传输方案进行z标准化处理,并将数值截断至[1.0, 3.0]区间以增强可视化效果。

5. 结论与未来工作
本文提出了一种极简的视觉-语言预训练架构——视觉-语言Transformer(ViLT)。ViLT能够与依赖复杂卷积视觉嵌入网络(如Faster R-CNN和ResNets)的模型竞争。我们呼吁未来视觉-语言预训练研究更关注Transformer模块内的多模态交互设计,而非陷入仅提升单模态嵌入能力的“军备竞赛”。
尽管ViLT-B/32已表现出色,但它更多是验证一个概念:无需卷积操作和区域监督的高效视觉-语言预训练模型仍可具备竞争力。最后,我们提出几点可能推动ViLT系列模型发展的方向:
可扩展性:如大规模Transformer相关研究所示,在数据量充足的情况下,预训练Transformer的性能扩展性表现优异。这一发现为开发性能更强的ViLT变体(如ViLT-L(大型)和ViLT-H(超大型))提供了可能。由于当前对齐的视觉-语言数据集仍较稀缺,训练更大规模模型的工作将留待未来探索。
视觉输入的掩码建模:鉴于掩码区域建模(MRM)的成功,我们认为视觉模态的掩码建模目标有助于信息保留至Transformer的最后一层。然而,如表5所示,直接在图像块上应用掩码补丁预测(MPP)的简单变体效果不佳。Cho等人(2020)提出通过掩码目标分类(MOC)任务训练网格感兴趣区域(RoIs),但其视觉词汇聚类在视觉-语言联合预训练过程中与视觉主干网络一同被固定。对于可训练的视觉嵌入器,一次性聚类并非可行方案。我们认为,视觉无监督学习领域中的交替聚类或同步聚类方法可被借鉴应用。我们鼓励未来无需区域监督的研究,为视觉模态设计更精细的掩码目标。
增强策略:先前对比视觉表征学习研究表明,与简单增强策略相比,RandAugment未采用的高斯模糊能为下游任务带来显著性能提升。针对文本和视觉输入探索更合适的增强策略,将是未来有价值的研究方向。
三,相关地址:
论文地址:https://arxiv.org/pdf/2102.03334
代码地址:https://github.com/dandelin/vilt

更多推荐

所有评论(0)