写在前面视觉语言预训练提高了很多视觉语言任务的性能。然而,大多数现有的预训练方法依赖于对象检测器来提取基于对象的视觉特征来学习细粒度的视觉和语言对齐,例如对象级别。然而,这种方法存在视觉概念识别有限、图像编码上下文信息丢失和计算效率低下等问题。在这篇论文中,字节跳动人工智能实验室提出了X-VLM,它以统一的方式学习多粒度视觉和语言对齐,不依赖于目标检测方法,不局限于学习图像级或对象级对齐。该方法在广泛的视觉语言任务上取得了最先进的结果,例如:图像文本检索(image-textretrieval)、视觉问答(VQA)、视觉推理(NLVR)、视觉接地(视觉接地),图片描述生成(图像字幕)。论文标题:Multi-GrainedVisionLanguagePre-Training:AligningTextswithVisualConcepts论文链接:https://arxiv.org/abs/2111.08276代码链接:https://github.com/zengyan-97/X-VLMResearch背景▲图1:现有的两类方法(a,b)和X-VLM(c)现有的多模态预训练模型大致分为两类:1)依靠目标检测器提取基于对象的视觉特征,学习细粒度的视觉和语言对齐,如图1(a)所示。这些方法要么直接利用预训练的目标检测器,要么将目标检测过程纳入多模态预训练;2)用CNN或visualTransformer对整幅图像进行编码,直接学习文本和图像特征之间的粗粒度对齐,如图1(b)所示。两种方法都存在问题。首先,基于对象检测的方法识别图片中所有可能的对象,其中一些与配对文本无关。此外,这种方法提取的基于对象的视觉特征可能会丢失对象之间的信息(可以认为是一种上下文信息)。而且,我们很难预先定义需要识别的对象类型。第二种方法更难学习细粒度的视觉和语言对齐,比如对象级对齐。这种细粒度的对齐关系已经被之前的工作证实,对视觉推理和视觉基础任务非常有帮助。实际上,对于多模态预训练,有以下几种模型训练的公共数据:1)图片和图片标题;2)区域标注,例如:图1中的文字“mancrossingthestreet”与图片的某个特定区域相关联。然而,之前的工作粗略地将区域注释与整个图像对齐;3)物体标签,例如“背包”,以前的工作使用这些标签来训练物体检测器。与之前的方法不同,本文作者提出X-VLM以统一的方式使用上述数据学习多粒度视觉和语言对齐,独立于对象检测方法,不限于学习图像级或对象级对齐.作者提出学习多粒度视觉和语言对齐的关键是,如图1(c)所示:1)给定文本,定位图片中的视觉概念,并用回归损失和交集比进行优化边界框丢失;2)同时对文本和对应的视觉概念进行对齐,使用常用的comparisonlearningloss、matchingloss、MLMloss优化。实验证明,X-VLM可以有效地利用下游任务预训练中学习到的多粒度视觉和语言对齐,在多种视觉语言任务上取得优异的性能。方法▲图2:X-VLM框架X-VLM由图像编码器、文本编码器和跨模态编码器组成。图2左侧展示了视觉概念V(可以是物体/区域/图片)的编码过程:图像编码器使用视觉Transformer将输入图像划分为patch进行编码。然后,给定一个任意边界框,通过取框中所有补丁表示的平均值,即可获得该区域的全局表示。然后将globalrepresentation和原始box中的所有patchrepresentations按照原来的顺序排列成一个sequence,作为boundingbox对应的视觉概念的representation。这样就得到了图片本身的编码()和图片中的视觉概念(,,,)。与视觉概念对应的文本由文本编码器逐一编码,如图片标题、区域描述、对象标签等。X-VLM采用通用的模型结构,区别在于预训练方式。作者通过以下两类loss进行优化:首先,给定文本,如:(text),(text1),(text2),(text3),预测图片中对应视觉概念的boundingbox:it是跨模态编码位置[CLS]处寄存器的输出向量。sigmoid函数用于归一化。ground-truth对应于(),后面是标准化的中心横坐标,中心纵坐标,宽,高。最后,这个损失是边界框的GIoU损失和L1损失的总和。作者认为,在同一张图片中,给定不同的文本,需要模型预测出对应的视觉概念,这可以使模型更有效地学习多粒度视觉语言对齐。这种损失也首次用于多模态预训练。第二,同时优化模型,对齐文本和相应的视觉概念,包括对象/区域/图片和文本的对齐。作者在多模态预训练中使用了三种常见的loss优化,依次为:1)Contrastivelearningloss:,为ground-truth相似度,对角线为1,其余为0,为基于模型计算的相似度关于文本编码器的输出和图像编码器的输出。2)匹配损失:基于跨模态编码器计算,预测给定的()对是否匹配(换句话说,0/1分类)。对于每对正例,作者抽取了一对负例。3)MaskedLanguageModelingloss:其中的一些词被随机替换成了[MASK],它是词位置cross-modalencoder的输出向量计算出来的词汇概率分布。实验作者使用多模态预训练中常见的4M图像数据集进行实验,同时也验证了模型在16M数据集下的效果,如下表所示:▲表1:两次预训练数据集,标注(#Ann)是区域标注和物体标注的总称。可以看到有的数据集是没有图片说明(Captions)的,比如VisualGenome,有的数据集是没有图片标注的,比如CC-3M/12M。▲表2:图像文本检索任务的实验结果表2显示了图像文本检索任务(MSCOCO和Flickr30K)的性能。可以看出在4M图像数据集下训练的X-VLM已经超越了之前的方法。▲表3:各种下游视觉语言任务的实验结果表3展示了模型在视觉推理(VQA2.0和NLVR2)、视觉定位(RefCOCO+)和图片描述生成(COCOCaptio)上的表现。结合表2和表3可以看出,与之前的方法相比,X-VLM支持更多种类的下游任务,并且在这些常见的视觉语言任务上取得了state-of-the-art的性能。总结在本文中,作者提出X-VLM以统一的方式学习多粒度视觉和语言对齐,独立于对象检测方法,不限于学习图像级或对象级对齐。这种预训练方法适用于广泛的下游任务,除了视觉推理,它还在图像文本检索、视觉定位和图像描述生成任务上取得了最先进的性能。所有代码均开源,可扫描下方二维码体验。
