多模态(Multimodality)是指在信息处理、传递和表达中涉及多种不同的感知模态或信息来源。这些感知模态可以包括语言、视觉、听觉、触觉等,它们共同作用来传递更丰富、更全面的信息。在多模态系统中,不同模态之间的信息可以相互补充、交互作用,从而提供更深入、更全面的理解和沟通。
以人类的感知为例,我们在日常生活中通常会同时接收多种感知信息。当我们观看一部电影时,我们不仅仅依靠视觉信息来理解情节和角色,还借助于听觉信息(对话、音效)、语言信息(字幕或对白)、以及情感上的触觉体验等,这些信息相互交织,共同构成我们对电影的感知和理解。
在计算机科学和人工智能领域,多模态的概念也得到广泛应用。例如,在自然语言处理中,多模态模型可以结合文本和图像信息,使得计算机能够更好地理解和生成丰富的内容。在人机交互中,多模态界面可以通过语音、触控和手势等方式,让用户更自然、更便捷地与计算机进行交互。此外,多模态也在自动驾驶、医疗诊断、情感分析等领域有着广泛的应用前景。
正文:
不同模态语义的对齐问题一直是多模态人工智能研究的一个重点课题。传统意义上的多模态数据包括有:视觉数据、文字数据、声音数据、触觉数据等等;在不断地研究与发展中,多模态数据又细化为图像数据、视频数据、语言文字数据、其他文字数据(如代码等)、声音数据、语音数据、红外数据、3d点云数据等等众多的数据形式。
1 引言
图1. Vision Transformer Overview
不同模态数据的语义密度不同、信噪比不同、能覆盖的知识范围也不同。因此不同模态数据的对齐就面临着巨大的困难。以视觉-语言数据的语义对齐为例,对齐不同模态数据需要解决形式对齐和内容对齐两个问题。
首先是形式对齐的问题。NLP领域的经典工作ELMo[3]提出用上下文双向预测来提取词元底层语义向量的方法,Bert[4]中改善为类似完型填空的语句重建任务,利用Transformer[5]的高并行性和更深的深度为大模型时代的到来解决了语言数据的人工标注成本问题。NLP领域的高速发展同样也刺激着计算机视觉领域学者们的眼球,探索Transformer在视觉领域的潜力,其中影响力最大的便是来自Google的Vision Transformer[6],此工作将一张分辨率为224*224的图片分割为16*16个分辨率为14*14的patch,每个patch当做一个token交给Transformer Encoder模块进行运算。至此,Transformer统一了语言数据和视觉数据的数据格式和计算方式,解决了形式对齐的问题。
今天要给大家分享的论文,ViLT: Vision-and-Language Transformer Without Convolution or Region Supervision,就是基于以上工作的Transformer多模态先导性工作。
2 相关工作
图2. 四类视觉语言模型
在论文的第一部分作者总结了截止到2021年为止的多模态方法,并以计算量进行了分类。如图2所示,其中VE代表视觉编码,TE代表文字编码,MI代表模态融合,方框的面积代表计算量。
在ViT出现之前,视觉-语言模型的视觉部分由CNN[8] Backbone统治,VE部分也几乎都是以基于像素和CNN的模型进行嵌入,如Pixel-Bert[7]等工作。本文提到,大多数视觉-语言模型的研究都集中在提高VE部分的性能和计算量,又由于区域特征通常在训练时提前缓存,以减轻特征提取的负担,因此在学术严重中往往会忽略了过重的VE部分的缺点,比如在实际的应用场景中,需要极大的开销和推理时间用于提取视觉特征,其推理过于缓慢,十分影响其真实可用性。同时笔者也认为,此类方法过于依赖CNN Backbone的泛化性和训练数据量,有很大的优化空间。
因此,在此篇工作中作者们专注于研究视觉嵌入的轻量化和快速化,并只使用Transformer作为网络主体,以一种统一的方式处理两种模态。区别于以往的视觉-语言模型,ViLT模型是没有卷积网络的,通过特殊的设计,去除了专门用于视觉输入的深度嵌入器显著减少了模型大小和运行时间,从图3中可以看出此工作的参数有效模型(parameter-efficient model)的运行速度比使用区域特征的VLP(Vision-Language Pretrain)模型要快几十倍,比使用网格特征的VLP模型要快四倍以上,同时在性能上,并没有比上述模型有明显下降,甚至在某些任务上要优于上述模型。
图3.推理代价对比图
ViLT工作的主要贡献被作者总结为如下:
ViLT是迄今为止最简单的视觉-语言模型架构,它统一使用Transformer来处理视觉和语言特征,这种设计显著降低了运行时间并提高了参数效率。
ViLT首次证明了CNN不是视觉-语言任务上的唯一解,在不适用任何CNN网络的情况下,在视觉和语言任务上取得了令人满意的性能。视觉语义嵌入(VSE)模型,如VSE++(Faghri等人,2017年)和SCAN(Lee等人,2018年)属于图2a。他们对图像和文本使用不同的嵌入器,前者要重得多。然后,它们用简单的点积或浅的注意层来表示两种模态中嵌入特征的相似性。
ViLT证明了,在多模态任务的训练中,使用整词掩蔽和图像增强能进一步增强模型的性能。
3 背景
3.1 视觉语言模型的分类方式
作者提出视觉和语言模型的分类法基于两点:( 1 )两种模态在专用参数和,或计算方面是否具有均匀的表达能力;( 2 )两种模态在深度网络中是否存在相互作用。这些点的组合导致了图2中的四个原型。
视觉语义嵌入(VSE)模型,如VSE++[9]和SCAN[10]属于图2a。他们对图像和文本使用不同的嵌入器,前者要重得多。然后,它们用简单的点积或浅的注意层来表示两种模态中嵌入特征的相似性。
CLIP[11](雷德福等人,2021年)属于图2b,因为它为每种模态使用单独但同样昂贵的Transformer model嵌入器。合并的图像矢量和文本矢量之间的交互仍然很浅(点积)。尽管CLIP在图像到文本检索方面表现出色,但我们无法在其他视觉和语言下游任务中观察到相同水平的表现。例如,使用来自CLIP的汇集的视觉和文本向量的点积作为多模态表示来微调NLVR2[12]上的MLP头,给出了50.99±0.38的低dev精度(用三种不同的种子运行);由于机会水平准确度为0.5,我们得出结论,表示不能学习这项任务。这也符合Suhr[13]等人的发现。(2018)所有简单融合多模态表示的模型都无法学习NLVR2。
这一结果支持了作者的推测,即使来自高性能单模态Embedder的输出的简单融合也可能不足以学习复杂的视觉和语言任务,这体现了对更严格的模态间交互方案的需求。
与具有浅层交互的模型不同,图2c中较新的VLP模型使用深层transformer来模拟图像和文本特征的交互。然而,除了交互模块之外,卷积网络仍然参与提取和嵌入图像特征,这占了图3所示的大部分计算。Modulation-based视觉和语言模型[14]也属于图2c,它们的视觉CNN词干对应于视觉嵌入器,RNN产生文本嵌入器的调制参数,调制CNN产生模态交互。
本文提出的ViLT是属于图2d的第一个模型,其中原始像素的嵌入层很浅,并且与文本标记相比计算量很轻。因此,这种架构将大部分计算集中在建模模态交互上。
3.2 模态交互
Transformer技术是当前VLP模型的核心,它们用视觉和文本嵌入序列作为输入,在整个层中模拟模态内和模态间的交互,然后输出上下文相关的特征序列。
布利亚雷罗等人[15]将交互模式分为两类:(1)单流方法(如VisualBERT[16]、UNITER[17]),其中各层集体操作图像和文本输入的串联;以及(2)双流方法(例如,ViLBERT[18],LXMERT[19]),其中两种模式在输入级别上没有连接。对于交互Transformer model模块,作者遵循单流方法,因为双流方法引入了额外的参数。
3.3 视觉Embedding
所有高性能的VLP模型都共享相同的Text Embedding——BERT但它们在视觉嵌入器上有所不同。尽管如此,在大多数(如果不是全部)情况下,视觉嵌入仍然是现有VLP模型的瓶颈。我们通过引入Patch Projection而不是使用区域或网格特征来减少这一瓶颈,因为区域或网格特征使用了更大的提取模块。
区域特征。VLP模型主要利用区域特征,也称为自下而上特征[20]。它们是从现成的物体检测器如Faster R-CNN[21]获得的。
生成区域特征的一般流程如下。首先,使用RPN基于从CNN主干网汇集的网格特征来建议感兴趣的区域(RoI)。然后,非最大抑制(NMS)将ROI的数量减少到几千个。在被RoI Align[22]等操作汇集后,RoI通过RoI头并成为区域特征。NMS再次应用于每个类,最终将特征的数量减少到100个以下。
上述过程涉及几个影响性能和运行时的因素:主干、NMS的风格、RoI头.以前的工作对控制这些因素很宽容,如下所示:
•骨干网:ResNet-101[1]和ResNext-152[1]是两种常用的骨干网。
•NMS:NMS通常以逐类的方式完成。在每个类中应用NMS成为运行时一个主要的瓶颈,例如在VG数据集[23]中有1.6 K的类。为了解决这个问题,最近引入了分类NMS[24]。
•RoI头:最初使用的是C4[20]。头是后来引入的[25]。当heads为所有RoI工作时,带来了巨大的运行时间负担。
然而轻量级的目标检测模型不太可能比backbone或单层卷积更快。提前冻结视觉backbone和缓存区域特征只在训练时有帮助,在推理期间没有帮助,更不用说它本就抑制性能。
网格特征。除了目标检测头,卷积神经网络(如ResNets)的输出特征网格也可以用作视觉和语言预训练的视觉特征。直接使用网格特征首先是由特定模型提出的[26],主要是为了避免使用严重缓慢的区域选择操作。
X-LXMERT[27]通过将目标区域固定为网格而不是来自区域建议网络的网格来重新研究网格特征。然而,他们对特征的缓存排除了对主干网的进一步调整。
Pixel - BERT是唯一一个将VG预训练的目标检测器替换为预训练ImageNet分类的ResNet变体主干的VLP模型。与基于区域特征的VLP模型中的冻结检测器不同,Pixel - BERT的主干在视觉和语言预训练过程中进行了调整。Pixel - BERT与ResNet - 50的下游性能低于基于区域特征的VLP模型,但与其他竞争者相比,它使用了更重的ResNeXt - 152。
但作者声称网格特征不是首选项,由于深度卷积神经网络代价昂贵,它们占整个计算很大一部分,如图3所示。
Patch Projection.为了最小化开销,作者采用最简单的视觉Embedding方案:在图像块上操作的线性投影。针对图像分类任务,ViT引入了块投影Embedding。补丁投影将视觉Embedding步骤大大简化到文本Embedding的水平,同样由简单的投影(projection)操作组成。
作者使用32 × 32的面片投影,只需要2.4 M的参数。这与复杂的ResNe(X)t Backbone和目标检测元件形成鲜明对比。其运行时间也可忽略不计,如图3所示,在原文的4.6节做了详细的运行时分析。
4 ViLT
4.1 模型概述
本文所提出的ViLT模型是一个追求简洁的,单流视觉语言模型,具有本文所提所有方法中最小的VE模块。具体的结构可以参考图2。
比较反直觉的是,作者在实际的实验过程中对模型进行参数初始化以加速训练,直接使用bert进行参数初始化的时候效果很差,在多次的实验中作者又分别尝试了使用预训练的ViT初始化IM模块的参数和仅使用ViT的patch embedding初始化ViLT的patch embedding。最后作者发现,使用预训练的ViT初始化IM模块的效果最好,其中ViT和Bert模型的结构不同之处在于他们layer normalization(LN)的位置不同,在ViT中LN层位于多头注意力和FC层的前面,而在Bert中则位于此两层的后面。本工作所使用的预训练模型是ViT-B/32,在ImageNet上进行预训练。
4.2 预训练目标
作者使用两个常用于训练VLP模型的目标训练ViLT:图像文本匹配( ITM )和掩蔽语言建模( MLM )。
ITM.图像文本匹配。作者以0.5的概率将对齐后的图像随机替换为不同的图像。单个线性层ITM头将池化的输出特征p投影到二进制类上,我们计算负对数似然损失作为我们的ITM损失。
另外作者还使用基于最优运输原理的此块对齐思想,辅助ITM任务的训练。
MLM.掩蔽语言建模。作者在次任务中使用0.15的掩蔽概率进行随机掩蔽,进行掩蔽重建任务以计算损失,其方法同Bert。
同时作者使用了不同于Bert的整词掩蔽方式,使用视觉信息重建掩蔽词,以加强模态之间的交互性。
4.3 图像增强
在多模态任务中,由于图像增强方法经常会影响图像的语义,故很少使用,比如图片的裁剪可能会影响目标的数量,图像的归一化会影响图像本身的色彩。但图像增强本身作为一个很好的增强模型鲁棒性和泛化性的trick,故作者在微调过程中还是使用了部分不影响图像语义的数据增强方法。
5 实验
图4.数据集
具体的实验方法不在这里赘述,这里介绍一下本工作的数据集和评估效果。本工作使用了四个数据集共4M张图片和约10M条描述用于预训练,如图4所示。并在VQAv2和NLVR2上进行评估,评估效果如下图5-7所示。
图5.评估结果-1
图6.评估结果-2
图片所展示的效果很清晰,可以看到ViLT的主要提升在Time上,大幅提升了推理速度,在分数和效果上,ViLT并没有因为推理速度大幅度提高而降低,反而在某些任务上有小幅度提升。
图7.消融实验
图7所示的消融实验探究了模型的哪些设计提升了性能,可以看到整词掩蔽和图像增强都带来了几个点的效果提升。
6 可视化效果
图8.可视化多模态对齐展示
作者展示了ViLT的图像可视化对齐效果,可以看到把更多了计算量分配给IM模块时,模型会展现出强大的对齐能力。作者认为他们在WPA任务上的设计增强了模型的对齐能力。
审核编辑:彭菁
-
数据
+关注
关注
8文章
7002浏览量
88937 -
人工智能
+关注
关注
1791文章
47182浏览量
238199 -
Transformer
+关注
关注
0文章
143浏览量
5995 -
nlp
+关注
关注
1文章
488浏览量
22033 -
大模型
+关注
关注
2文章
2423浏览量
2637
原文标题:ViLT: 没有卷积和区域监督的视觉-语言Transformer模型
文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论