大多现有的视觉语言预训练依赖通过对象检测器提取的以对象为中心的特征,并对提取的体征与文本进行细粒度对齐。这些方法对学习多个对象间的关系具有挑战性。为此,我们提出一种新的方法--X-VLM来执行多粒度视觉语言预训练。学习多粒度对齐的关键是在给定相关文本的图像中定位视觉概念,同时将文本与视觉概念对齐,其中对齐是多粒度的。实验结果表示X-VLM有效利用了学习到的多粒度对齐到许多下游的视觉语言任务,并始终由于最先进的方法。
现有的学习视觉语言对齐的方法可以分为两种,如图1,大多数检测图像中的对象,并将文本与细粒度(以对象为中心)的特征对齐。它们要么利用预训练好的对象检测器,或者在预训练过程中进行实时对象检测。其它方法不依赖于目标检测,而是只学习文本和图像的粗粒度特征之间的对齐。
细粒度和粗粒度的方法都有缺点,对象检测识别图像中所有可能的对象,其中一些对象可能与文本无关。以对象为中心的特性不能轻易地表示多个对象间的关系,如"man crossing the street"。此外,预先定义适合于下游任务的对象类别也具有挑战性。另一方面,粗粒度方法不能有效地学习视觉与语言之间的细粒度对齐,如对象级,这已被证明对一些下游任务很关键,如视觉推理、视觉接地和图像标注。
理想情况下,我们希望VLM在预训练中学习视觉与语言之间的多粒度对齐,这并不局限于对象级或图像级,并利用学习到的对齐到下游的V+L任务。而现有方法不能满意地处理视觉和语言之间的多粒度对齐。
本文,我们提出通过将文本描述与图像中相应的视觉概念对齐来进行多粒度视觉语言的预训练。以图1为例,我们有以下数据用于训练:1)描述整个图像的图像标注;2)区域注释,如man wearing backpack等,每个注释都与图像中的一个区域有关,而以前的方法大致将区域描述与整个图像对齐;3)对象标签,如packback,这被以前的方法用来训练对象检测器。我们重新制定数据,这样一个图像可能有多个边界框,并且一个文本直接与每个框中的视觉概念相关联。这种视觉概念可能是一个物体、一个区域或图像本身,如图1(c)的例子。通过这样做,我们的方法学习了与不同文本描述相关的不同的视觉概念,这些概念也不限于对象级或图像级。
我们的多粒度模型--X-VLM,由一个图像编码器用来产生图像的视觉概念(包括图像本身)的表示,一个文本编码器,和一个跨模态编码器用来在视觉特征和语言特征之间进行交叉注意,以学习视觉语言对齐。学习多粒度对齐的关键是通过以下优化X-VLM:1)通过结合框回归损失和共同损失的交集,在给定相关文本的图像中定位视觉概念;2)同时将文本与视觉概念对齐,如通过对比损失,一个匹配损失和一个掩码语言建模损失,其中对齐是多粒度的,如图1(c)所示。在微调和推理中,X-VLM可以利用学习到的多粒度对齐来执行下游的V+L任务,而无需在输入图像中添加便边界框注释。
我们演示了我们的方法在各种下游任务上的有效性。在视觉推理任务中,与VinVL相比,X-VLM在VQA上绝对提高了0.79%,在NLVR2上提高了1.06%(Zhang等人,2021年),推理速度要快得多。X-VLM的性能也超过了SimVLMbase(Wang等人,2021年),特别是在NLVR2上的2.4%。
本工作的贡献如下:1)我们建议执行多粒度视觉语言预训练来处理文本与视觉概念之间的对齐;2)我们建议优化模型(X-VLM),通过在给定相关文本的图像中定位视觉概念,同时将文本与视觉概念对齐,其中对齐是多粒度的;3)我们通过实验验证了我们的方法有效地利用了学习到的多粒度对齐进行微调。X-VLM在许多下游的V+L任务上始终优于现有的最先进的方法。
现有的视觉语言预训练工作通常可分为两类:细粒度和粗粒度。
大多现有方法属于细粒度方法,依赖于对象检测。如VinVL通过使用一个经过大量图像注释的强大目标检测器,在许多V+L任务上实现了SOTA性能。该方法的挑战是,以对象为中心的特征不能表示多个区域中的多个对象间的关系,而且,预定义对下游V+L任务有用的对象的类别并不容易。
粗粒度的方法通过使用卷积网络或视觉transformer提取和编码整个图像特征来构建VLMs。其性能通常不如细粒度的方法好,虽然以对象为中心的特征只与某些对象相关,但能学习细粒度的对齐,如对象级别,已被证明是一些下游任务的关键,如视觉推理和视觉接地。为解决此问题,SOHO采用在线聚类图像特征获得更全面的表示,ViLT使用更先进的视觉transformer如Swin-Transformer进行图像编码,和ALBEF采用对比学习和动量蒸馏学习图像-文本对齐。然而,这些改进仍然不能缩小与细粒度的方法之间的差距。
最近,出现了一些方法来同时学习对象级和图像级的对齐。然而,这些方法仍然依赖于对象检测器,因此存在上述问题。如VL-BERT将Faster R-CNN整合到预训练中;E2E-VLP增加了一个端到端的对象检测模块(DETR);Uni-EDEN使用Faster R-CNN作为视觉骨干;KD-VLP依赖外部对象检测器进行对象知识蒸馏。相比之下,X-VLM并不依赖于目标检测。此外,X-VLM学习多粒度的视觉语言对齐,它们并不局限于对象级或图像级。此外,与Uni-EDEN不同的是,它通过对象分类将对象与语言对齐,并通过标题生成将图像与语言对齐,X-VLM以统一的方式学习语言不同粒度上的视觉概念。我们将在实验中展示X-VLM的有效性。
X-VLM包含一个图像编码器(Itrans)、一个文本编码器(Ttrans)、和一个跨模态编码器(Xtrans)。所有的编码器都是基于transformer,跨模态编码器通过在每一层的交叉注意里融合视觉特征和语言特征。
我们重新制定了广泛使用的预训练数据集,这样一个图像可能有多个边界框,每个边界框都与描述一个对象或一个区域的文本相关联,表示为(I,T,{(Vj,Tj)}N)。有些图像没有相关的文本,即T是NaN,有些图像没有边界框,即N=0。这里,Vj是边界框bj=(cx,cy,w,h)中的一个对象或区域,由边界框的归一化中心坐标、宽度和高度表示。当图像本身代表一个视觉概念时,b=(0.5,0.5,1,1)。图2表示X-VLM的架构和预训练目标。
该图像编码器可以有效地在图像中产生多粒度的视觉概念表示,编码器是基于视觉transformer的。首先将一个图像分割成不重叠的补丁,并线性的嵌入所有的补丁,然后,这些补丁被传递到transformer层,产生{v1,...,vNI}。
我们假设vpi对相应的补丁pi的信息进行编码,因此,我们表示了一个视觉概念Vj(对象、区域或图像),它通过聚合在补丁之间的信息来对应于一组补丁,如图2所示。具体来说,我们在保留补丁特征位置信息的同时,对补丁特征进行重塑,表示为{vpj1,...,vpjM}。{pj1,...,pjM}是Vj的补丁。我们还计算特征的平均值来表示整个视觉概念,表示为vjcls,并预先准备好它。
然后,图像编码器以不同的粒度创建N+1个概念表示,表示为Itrans(Vj)={vjcls,vpj1,...,vpjM},j∈[0,N]。我们让Itrans(V0)表示所有补丁特征都被利用的图像表示。在下一节中,我们将描述如何在学习多粒度对齐中使用这些表示。
如图2所示,我们优化X-VLM,通过在给定相应文本的图像中定位视觉概念,同时对齐文本和视觉概念,其中对齐是多粒度的。
边界框预测 我们让模型预测视觉概念Vj的边界框bj,给定了图像表示和文本表示,其中bj=(cx,cy,w,h)。通过在同一图像中定位不同的视觉概念,我们期望模型更好地学习细粒度的视觉语言对齐。边界框的预测为:
其中sigmoid为归一化,MLP表示多层感知器,xjcls为给定I和Tj的跨模态编码器的输出[CLS]嵌入。
对于边界框预测,l1是最常用的loss。然而,对于小框和大框,它有不同的尺度,即使它们的相对误差是相似的。为了缓解这个问题,我们使用了l1损失和广义联合(IoU)损失的线性组合,这是尺度可变的。整体损失定义为:
同时,我们通过三个广泛应用于视觉语言预训练的目标来对齐文本和视觉概念。我们将目标扩展到在图像中包含多粒度的视觉概念。
对比学习 我们预测(视觉概念,文本)对,表示(V,T),从批内取负。请注意,视觉概念包括对象、区域和图像。与Radford等人(2021年)类似,我们随机抽取一小批N对,并计算成批视觉到文本相似度和文本到视觉相似度。
给定一对(V,T),T是V的正例,我们将小批处理中的其他(N−1)文本视为否定的例子。我们定义了余弦相似度s(V,T)=gv(vcls)>gw(wcls)。wcls是文本编码器的输出[CLS]嵌入。gv和gw是将[CLS]嵌入映射到规范化的低维表示的转换。然后,我们计算批处理视觉到文本、文本到视觉相似度为:
对比损失定义为p和y之间的交叉熵H:
匹配预测 我们确定一对视觉概念和文本是否匹配。对于小批中的每个视觉概念,我们按照公式3中的pv2t(V)对批内硬负文本进行采样。与该概念更相关的文本更有可能被抽样。我们还为每个文本采样了一个硬否定的视觉概念。我们使用xcls,即跨模态编码器的输出[CLS]嵌入,来预测匹配概率p匹配,损失为:
掩码语言建模 我们根据视觉概念来预测文本中的掩蔽词。我们以25%的概率随机屏蔽输入标记,替换为10%的随机标记,10%不变,80%[MASK]。我们使用跨模态编码器的输出,并附加一个线性层,然后是softmax进行预测。设Tˆ表示一个掩码文本,pj(V,Tˆ)表示掩码标记tj的预测概率。我们将交叉熵的损失最小化:
最终,X-VLM的预训练目标为:
在4M设置中,我们只使用来自COCO和VG的图像注释,其中包含250万个对象注释和3.7万个区域注释。我们将对象标签作为对象的文本描述,并重新制定图像注释,使一个图像有多个框,每个框与一个文本相关联。文本描述了方框中的视觉概念,它可以是对象、区域或图像本身。
由于大多数下游V+L任务都建立在COCO和VG之上,因此我们排除了所有也出现在下游任务的验证和测试集中的图像,以避免信息泄漏。
X-VLM的图像编码器是视觉transformer(多索维茨基等人,2020),它用Swin transformerbase初始化(Liu等人,2021b)。文本编码器和跨模态编码器分别由6个transformer层组成。文本编码器使用BERTbase的前六层初始化(Devlinetal.,2019),跨模态编码器使用最后六层初始化。X-VLM总共有215.6M参数用于预训练。
视觉问答 它要求模型预测给定一个图像和一个问题的答案。根据之前的工作,我们使用一个六层transformer解码器来基于跨模态编码器的输出生成答案。我们对模型进行了10个epoch。在推理过程中,我们限制解码器只从3,129个候选答案中生成,以便与现有的方法进行公平的比较。
具有中等模型大小和在较少实例上进行预训练的X-VLM(4M)的性能优于VinVL。具体来说,与VinVL相比,X-VLM(4M)在VQA上实现了1.52%,在NLVR2(平均指标)上实现了0.86%的绝对改进。同时,正如Li等人(2021a)所报道的,X-VLM对没有目标检测过程的图像进行编码,其推理速度比VinVL快10倍。结果表明,我们的X-VLM方法是既有效和高效的。X-VLM的性能也优于SimVLMbase,后者是在内部1.8B数据上进行预训练的,特别是在NLVR2上。
首先,我们评估了视觉概念在不同粒度下的有效性,即w/o对象和w/o区域。结果表明,没有任何一种方法的训练都会影响学习表现,这表明了学习多粒度对齐的必要性。此外,我们可以观察到,w/o区域比w/o对象的性能下降更剧烈。此外,消融研究表明,边界框预测是X-VLM的一个关键组成部分,因为没有bbox损失会导致最低的Meta-Sum。我们还报告了“w/o所有”的结果,其中上面所有的组件都被消融了。虽然在4M设置中,只有210K图像具有密集的注释,但X-VLM可以利用数据来学习多粒度视觉语言对齐,并显著提高下游V+L任务的性能(Meta-Sum从580.6到605.2)。
本文,我们提出了X-VLM,一种强大而高效的执行多粒度视觉语言预训练的方法。模型的训练是通过在给定相关文本的图像中定位视觉概念,并将文本与相关的视觉概念对齐来驱动的,其中对齐是多粒度的。我们用4M和16M的图像预先训练了X-VLM,它们是中等大小的。此外,X-VLM只由216M参数组成。之所以做出这些选择,是因为我们想让我们的实验成为“绿色”(施瓦茨等人,2020;Xu等人,2021b),并尽可能为更大的人群体使用。对下游V+L任务的实验,包括图像-文本检索、视觉推理、视觉接地和图像标题生成表明,X-VLM优于现有的方法,可以更大和/或在更多的数据上进行预训练。在X-VLM(4M)和X-VLM(16M)之间的比较中表明,添加更多的预训练数据集可能会导致进一步的性能提高。至于应用,X-VLM在理解细粒度的视觉语言对齐方面表现出了更好的性能。例如,它可以生成可能有更多对象细节的图像标题,这使得它成为帮助视力残疾人理解图像的更好的选择。另一方面,中等型号大小的X-VLM也更容易部署。