(T2I) VILT

因为不同模态的输入都可以转化为一维序列,那么不同模态可以同时作为Transformer的输入来处理,这样子就能够解决多模态输入不统一的核心痛点。该文章将text和image两种模态统一转化成一维序列,然后巧妙的构造了标志位来区分不同模态。

这相比以前的直接送进神经网络的方法是有好处的,首先就是避免了对齐问题。多模态的数据很难获得对齐,所以以前一般就是每一个模态一股脑搞成一个向量然后拼起来,这样就很难从里面拿到模态之间的互补配合了。而transformer通过attention机制,自动的学习出不同模态之间的局部特征的相关,并提取有效的信息。



 

因为这篇清楚的归纳了各种多模态算法,可以当成一个小综述来看,然后还提出了一种非常简单的多模态Transformer方法ViLT。

先阐述一下4种不同类型的Vision-and-Language Pretraining(VLP),然后归纳2种模态相互作用方式和3种visual embedding方式,最后讲一下ViLT的设计思路。

(T2I) VILT_第1张图片

上图是4种不同类型的VLP模型示意图。其中每个矩形的高表示相对计算量大小,VE、TE和MI分别是visual embedding、text embedding和modality interaction的简写。

作者提出这4种类型的主要依据有两点:

1.在参数或者计算上,两种模态是否保持平衡。

2.在网络深层中,两种模态是否相互作用。

VSE、VSE++和SCAN属于(a)类型。对图像和文本独立使用encoder,图像的更重,文本的更轻,使用简单的点积或者浅层attention层来表示两种模态特征的相似性。

CLIP属于(b)类型。每个模态单独使用重的transformer encoder,使用池化后的图像特征点积计算特征相似性。

ViLBERT、UNTER和Pixel-BERT属于(c)类型。这些方法使用深层transformer进行交互作用,但是由于VE仍然使用重的卷积网络进行特征抽取,导致计算量依然很大。

作者提出的ViLT属于(d)类型。ViLT是首个将VE设计的如TE一样轻量的方法,该方法的主要计算量都集中在模态交互上。

模态交互方式

模态交互部分可以分成两种方式:一种是single-stream(如BERT和UNITER),另一种是dual-stream(如ViLBERT和LXMERT)。其中single-stream是对图像和文本concate然后进行交互操作,而dual-stream是不对图像和文本concate然后进行交互操作。ViLT延用single-stream的交互方式,因为dual-stream会引入额外的计算量。

视觉嵌入模式

(T2I) VILT_第2张图片

现有的VLP模型的text embedding基本上都使用类BERT结构,但是visual embedding存在着差异。在大多数情况下,visual embedding是现有VLP模型的瓶颈。visual embedding的方法总共有三大类,其中region feature方法通常采用Faster R-CNN二阶段检测器提取region的特征,grid feature方法直接使用CNN提取grid的特征,patch projection方法将输入图片切片投影提取特征。ViLT是首个使用patch projection来做visual embedding的方法。

VILT

模型概览

(T2I) VILT_第3张图片

作者提出的ViLT可以认为是目前最简单的多模态Transformer方法。ViLT使用预训练的ViT来初始化交互的transformer,这样就可以直接利用交互层来处理视觉特征,不需要额外增加一个视觉encoder。

文本特征输入部分,将文本看成一个词序列,通过word embedding matrix转化成word embedding,然后和position embedding进行相加,最后和modal-type embedding进行concate。

图像特征输入部分,将图像切块看成一个图像块序列,通过linear projection转化成visual embedding,然后和postion embedding进行相加,最后和modal-type embedding进行concate。

其中word embedding和visual embedding通过可学习的modal-type embedding标志位来区分,其中0标志位表示word embedding部分,1标志位表示visual embedding部分。

wrod embedding和visual embedding分别都嵌入了一个额外的可学习[class] embedding,方便和下游任务对接。

Pretraining Objectives

ViLT预训练的优化目标有两个:一个是image text matching(ITM),另一个是masked language modeling(MLM)。

ImageText Matching:随机以0.5的概率将文本对应的图片替换成不同的图片,然后对文本标志位对应输出使用一个线性的ITM head将输出feature映射成一个二值logits,用来判断图像文本是否匹配。另外ViLT还设计了一个word patch alignment (WPA)来计算teextual subset和visual subset的对齐分数。

Masked Language Modeling:MLM的目标是通过文本的上下文信息去预测masked的文本tokens。随机以0.15的概率mask掉tokens,然后文本输出接两层MLP与车mask掉的tokens。

Whole Word Masking:另外ViLT还使用了whole word masking技巧。whole word masking是将连续的子词tokens进行mask的技巧,避免了只通过单词上下文进行预测。比如将“giraffe”词tokenized成3个部分["gi", "##raf", "##fe"],可以mask成["gi", "[MASK]", "##fe"],模型会通过mask的上下文信息[“gi”,“##fe”]来预测mask的“##raf”,就会导致不利用图像信息。

实验结果

(T2I) VILT_第4张图片

如图所示,ViLT相比于region feature的方法速度快了60倍,相比于grid feature的方法快了4倍,而且下游任务表现出相似甚至更好的性能。

(T2I) VILT_第5张图片

(T2I) VILT_第6张图片

(T2I) VILT_第7张图片

从table2、table3和table4中可以看出,相对于region和grid的方法,ViLT在下游任务表现出相似甚至更好的性能。

可视化

(T2I) VILT_第8张图片

通过可视化可以看出,ViLT学到了word和image patch之间的对应关系。

总结

BERT和ViT给多模态Transformer提供了基础,通过巧妙的proxy task设计,ViLT成功将BERT和ViT应用于多模态Transformer。总体上来看基于patch projection的多模态方法速度优势非常大但是整体上性能还是略低于region feature的方法,期待未来会有更强的基于patch projection的多模态方法出现。

全文翻译

摘要

视觉和语言预训练(VLP)提高了各种视觉和语言联合下游任务的表现。目前的VLP方法严重依赖于图像特征提取过程,大多数涉及区域监督(如目标检测)和卷积结构(如ResNet)。尽管在文献中忽略了这一点,我们发现它在(1)效率/速度方面都存在问题,简单地提取输入特征比多模态交互步骤需要更多的计算;(2)表达能力,它受限于视觉编码器及其预定义视觉词汇的表达能力。在本文中,我们提出了一个最小的VLP模型,视觉和语言转换器(ViLT),从视觉输入的处理被极大地简化为与文本输入处理相同的无卷积方式的意义上来说,它是单片的。我们发现ViLT比以前的VLP模型快60倍,而且具有更好的下游任务性能。

1.介绍

        视觉-语言预处理模型(vision -and- language Pretraining, VLP)的范畴已经扩展到视觉和语言的联合领域。这些模型采用图像文本匹配进行预训练和掩码语言对图像及其对齐的描述进行目标建模,并在输入涉及两种模式的视觉和语言下游任务中进行微调。

        为了被输入到VLP模型中,图像像素最初需要以密集的形式和语言符号一同嵌入。自Krizhevsky等人(2012)的开创性工作以来,深度卷积网络被广泛认为是这种视觉编码步骤的关键。大多数VLP模型使用了一个在Visual Genome数据集上预训练的对象检测器,该数据集标注了1600个对象类和400个属性类,如Anderson等人(2018)。Pixel-BERT (Huang et al., 2020)是一个例外,它使用ResNet变体,对ImageNet分类进行预训练,而不是使用对象检测器。

        到目前为止,大多数工作都集中在通过增加可视嵌入的能力来提高性能上。在学术实验中,由于区域特征通常被预先缓存处理,以减轻特征提取对训练时间的负担,因此往往忽略了具有繁重的视觉嵌入的缺点。然而,在现实世界的应用程序中,这种限制仍然很明显,因为在野外的查询必须经历缓慢的提取过程

        为此,我们将注意力转移到视觉输入的轻量级和快速编码上。最近的研究(Dosovitskiy等人…2020年:Touvron等人…2020年)证明了对patch块使用一个简单的线性投影作为嵌入像素已经足够有效,然后把它们输入transformer中。我们假定用于VLP模型中模态交互的transformer模块也可以处理视觉特征,不是卷积视觉嵌入器,而是同处理文本特征一样。

        在本文中,我们提出了视觉和语言转换器(ViLT),以单一统一的方式处理两种模式。它与以前的VLP模型的主要区别在于它对像素级输入的浅层、无卷积编码。去掉专为视觉输入而设计的深度编码器,大大减少了模型的尺寸和运行时间。图1显示了我们的参数有效模型图1显示,我们的参数高效模型比带有区域特征的VLP模型快60倍,比带有网格特征的VLP模型快4倍,同时在视觉和语言下游任务上表现出相似甚至更好的性能。

(T2I) VILT_第9张图片

图1所示。传统VLP架构与我们提出的ViLT的视觉比较。我们已经完全从VLP管道中去除了卷积神经网络,而不会影响下游任务的性能。ViLT是第一个特定于模态组件的VLP模型,在多模态交互中比transformer组件需要更少的计算量

我们的主要贡献总结如下:

1.ViLT是视觉语言模型中可能最简单的架构,因为它委托transformer模块来提取和处理视觉特征,而不是单独的深度视觉编码器。这种设计本质上导致了重要的参数和运行时效率

2.我们首次在不使用区域特征或深度卷积视觉编码器的情况下,在视觉和语言任务中获得了良好的性能。

3.此外,我们第一次通过经验证明,VLP训练方案中前所未有的全词掩蔽和图像增强进一步提高了性能。

2.背景

2.1  视觉和语言模型的分类

我们提出了一种基于两点的视觉语言模型分类方法:

(1)两种模式在专用参数和/或计算方面是否具有均匀的表达能力;

(2)两种模式是否在深层网络中相互作用。这导致了图2中的四个原型。

(T2I) VILT_第10张图片

视觉语义嵌入(VSE)模型,比如VSE ++ (Faghri et al., 2017) 和 SCAN (Lee et al., 2018) 是属于图2a。它们对图像和文本使用单独的编码器,前者更重,然后用简单的点积浅层注意层来表示两种形式的编码特征的相似性。

CLIP (Radford et al., 2021)属于图2b,因为它对每个模态使用单独但同样费力的transformer编码器。池化后的图像向量和文本向量之间的交互仍然是浅的(点积)。尽管CLIP在图像到文本检索上有显著的零拍摄性能,但我们无法在其他视觉和语言下游任务上观察到相同水平的性能。举例来说,如果我们使用混合视觉和文本向量的点积作为多模表示,该NLVR2 (Suhr et al ., 2018)开发精度只有50.99±0.38:因为机会水平精度为0.5,我们得出这样的结论:该表示不能学习这一任务。这一结果也与Suhr等人(2018)的发现相吻合,即所有具有简单融合多模态表示的模型不能学习NLVR2。这支持了我们的推测,即使是高性能单模态编码器的输出,简单的融合可能也不足以学习复杂的视觉和语言任务,支持了更严格的多模态交互方案的需求。

与具有浅层交互的模型不同,图2c中较新的VLP模型使用一个深层transformer来建模图像和文本特征的交互。除了交互模块,卷积网络仍涉及图像特征的提取和编码。这占了大部分计算,如图1所示。

我们提出的ViLT是第一个图2d类型的模型,其中原始像素的嵌入层是浅的,并且“计算上像文本标记一样轻”。因此,该体系结构将大部分计算集中于建模模态交互。

2.2 模态交互模式

当代VLP模型的核心是transformer。他们得到图像和文本嵌入序列作为输入,对模态间和可选的模态内的建模交互贯穿整个层,然后输出上下文化特征序列。

Bugliarello等人(2020)将交互模式分为两类:

(1)单流方法(例如,VisualBERT (Li et al., 2019), UNITER (Chen et al., 2019)) 其中层共同对图像和文本输入的连接进行操作;

(2)双流方法(如ViLBERT(卢等人,2019年),LXMERT(坦和班萨尔,2019年))在哪里这两种模式在输入级没有连接。我们的交互transformer模块采用单流方法,因为双流方法引入了额外的参数。

vilbert:论文阅读_跨模态模型VILBERT - 知乎

双路结构的每个分支都由Transformer blocks(TRM)组成,并设计了一个结合两部分的Co-TRM,在两分支之间交换信息,图片的输入是v1…vt,文本的输入是w1…wt,输出是通过网络处理后的隐藏层hv1..hvt和hw1…hwt。从图中可以看到,图片特征直接送入Co-TRM,而文本特征多加了一层TRM,这是由于图片已经经过了深层网络的编码。

2.3  视觉嵌入模式

尽管所有的性能VLP模型共享相同的文本嵌入,但它们在视觉嵌入上存在差异。在大多数(如果不是所有)情况下,可视化嵌入仍然是现有VLP模型的瓶颈。在这一步骤中,我们通过引入patch投影,而不是使用大量提取模块的区域或网格特征来切割角。

区域特征。在VLP模型中,区域特征占主导地位。它们是从现成的目标检测器中获得的,例如通常在视觉基因组(VG)数据集上由Anderson等人(2018)预先训练的Faster R-CNN (Ren et al., 2016)

一个区域提议网络基于从CNN骨干中池化出的网格特征提出了数千个感兴趣区域(Rols)。然后,将这些区域的特征进行统一表示就变成了一个问题。非最大抑制(NMS)将rol的数量减少到1-2K。在被RoI Align (He et al., 2017)等业务合并后,Rol经过Rol头,成为区域特征。NMS再次应用于每个类,最终将特性的数量减少到100以下。这种单类的非并行NMS成为了一个巨大的运行时瓶颈。当有大量的类(例如,VG数据集中有1600个类)时,这个问题会更加严重。预先冻结视觉主干和预先缓存区域特征只会帮助训练时间,而不是推理,更不用说它会阻碍性能。

区域特征提取:ROI Pooling和ROI Align - 知乎

RoI Align :用最近的pixel对这一点虚拟pixel进行双线性插值,得到这个“pixel”的值,然后最大池化,输出我们想要大小的特征。

具有区域特性的VLP模型通常使用ResNet-101(Lu 等人,2019 年;Tan 和 Bansal,2019 年;Su 等人,2019 年)或ResNext-152 (Li et al., 2019;2020a;Zhang等人,2021年)作为CNN骨干。虽然主干网的选择明显影响性能,但以前的工作在控制可视嵌入器的能力方面比较宽松。为了更公平地进行比较,我们将推断时间与性能一并报告。

网格特征。在没有区域监督的情况下直接使用网格特征是由vqa特定模型首次提出的(Jiang et al., 2020;Nguyen等人,2020年)。这主要是为了避免使用非常缓慢的区域选择操作。

除了特定于任务的模型,Pixel-BERT是唯一使用网格特征的VLP模型。它使用ImageNet分类预训练的cnn,并在视觉和语言预训练上做调整。cnn网络的网格特征直接输入用于模态交互作用的transformer。使用ResNet50时PixelBERT低于基于区域特征的模型,但使用更繁琐的ResNeXt-152,其性能提升到其竞争对手同样的水平。

我们声称网格特性并不是首选,然而,因为cnn仍然很占计算量,它们占了整个计算的很大一部分,如图1所示。

Pixel-BERT:对图片进行卷积,池化,最后得到一个特征矩阵(元素为特征向量),对其进行采样后,每个元素与一个semantic embedding相加,相当于一种偏置。最后展平,得到最终的像素特征编码。

补丁投影。为了减少开销,我们采用了最简单的视觉嵌入方案:对图像块进行线性投影。ViT (Dosovitskiy et al., 2020)将patch投影嵌入引入图像分类任务中。分类任务。补丁投影将视觉嵌入步骤大大简化到文本嵌入的级别,文本嵌入也包含简单的投影(查找)操作。与复杂的ResNe(X)t骨干相比,一个32 × 32的Patch投影只需要2.4M参数。它的运行时间也是可以忽略的,如图1所示。

vit

(T2I) VILT_第11张图片

3.Vision-and-Language  transformer

3.1 模型概述

ViLT具有最小的可视化嵌入管道,并遵循单流方法,具有可能最简单的VLP模型体系结构。

我们偏离了文献,我们使用预先训练的ViT而不是BERT,初始化了的交互transformer的权值。这是为了在没有单独的深度视觉编码器利用交互层的强大功能来处理视觉特性。

(T2I) VILT_第12张图片

该ViT编码器由包括多头自注意(MSA)层和MLP层的堆叠块组成。层归一化(LN)在ViT中的位置是与BERT的唯一区别:LN在BERT中位于MSA和MLP之后(“post-norm”),在ViT中位于之前(“pre-norm”)。

将输入文本通过单词嵌入矩阵和位置嵌入矩阵嵌入到中。

将输入图像切成小块,平切到,其中(P, P)为小块分辨率,。然后将线性投影和位置嵌入嵌入,v最终嵌入到

文本和图像的嵌入和它们对应的模态类型嵌入向量进行求和,然后连接成一个组合序列z0。上下文化向量z通过D个 transformer的层迭代更新,直到最终的上下文化序列。p是整个多模态输入的一个集合表示,它是通过对序列zD的第一个指标应用线性投影和双曲切线得到的。

在所有的实验中,我们使用在ImageNet上预训练的ViT-B/32的权重,因此命名为ViLT-B/32.8 。Hidden’size H为768,layer depth D为12,patch size P为32,MLP size为3072,注意头数量为12。参数总数为86M。

3.2 Pretraining目标

我们训练ViLT的目标有两个:屏蔽语模型(MLM)和图像文本匹配(ITM),这两个目标通常用于训练VLP模型。

图像文本匹配。我们随机将匹配后的图像替换为另一幅图像,概率为0.5。一个单一的线性层ITM头将池化后的输出特征投影到二进制类上,我们计算负对数似然损失作为我们的ITM损失。

另外,受Chen et al.(2019)中单词区域对齐目标的启发,我们设计了单词补丁对齐(WPA),该对齐计算(文本子集)和(视觉子集)两个子集之间的对齐得分,使用不精确近端点优化运输(IPOT) (Xie et al., 2020)。我们设置IPOT的超参数跟随Chen et al. (2019) (B = 0.5, N = 50,而且将大约的瓦瑟斯坦距离乘以0.1加上ITM损失。

屏蔽语言模型。这个目标为了是从上下文化后向量预测屏蔽文本标记的的标注的图像标签。遵循Devlin等人(2018)的启发式,我们随机掩码t的概率为0.15。我们使用两层MLP MLM头,输入和输出在词汇表上的logit,就像BERT的MLM目标。MLM损失然后计算为负对数似然损失的掩蔽tokens

屏蔽语言建模中,我们通常屏蔽给定句子中特定百分比的单词,模型期望基于该句子中的其他单词预测这些被屏蔽的单词。这样的训练方案使这个模型在本质上是双向的,因为掩蔽词的表示是根据出现的词来学习的,不管是左还是右。你也可以把它想象成一个填空式的问题陈述。

3.3 全词掩码

整字屏蔽是一种屏蔽技术,它屏蔽组成整词的所有连续子字标记(预测某一词时屏蔽其中所有字)。结果表明,当应用于原始和中文BERT时,该方法对此类下游任务是有效的(Cui et al., 2019)。

为了充分利用来自其他模态的信息,我们假设整词掩蔽对于VLP尤为重要。例如,单词“giraffe”通过使用预先训练过的bert-base- uncased标记器被标记为三个单词标记[“gi”,“##raf”“##fe”],。如果不是所有的标记都是掩码的,比如["gi", " [MASK] ", "##fe"],那么模型可能仅仅依赖于附近的两个语言标记["gi", "##fe"]来预测掩码的"##raf",而不是使用来自图像的信息。在训练前,我们以0.15的掩码概率对整个单词进行掩码。我们将在第4.6节讨论其影响。

  如果the masked要掩码掉的WordPiece token属于一个完整的词,那么所有的WordPiece token(构成一个完整的单词)将被全部掩蔽。这将显式地迫使模型在掩码语言模型(MLM)的预训练任务中恢复整个单词,而不仅仅是恢复单个字。

3.4 图像增广

据报道,图像增强提高了视觉模型的泛化能力(Shorten & Khoshgoftaar, 2019)。基于ViT的DeiT (Touvron et al., 2020)实验了各种增强技术(Zhang et al., 2017;Yun等人,2019年;Berman等人,2019年;Hoffer等人,2020年;Cubuk等人,2020年),并发现它们对ViT训练有益。然而,在VLP模型中,图像增强的影响尚未被探讨。缓存视觉特征抑制了基于区域特征的VLP模型使用图像增强。尽管具有一定的适用性,但基于网格特征的Pixel-BERT也没有研究其效果。

为此,我们在微调期间应用RandAugment (Cubuk等人,2020)。我们使用了所有的原始策略,除了两个:颜色反转,因为文本通常也包含颜色信息,和裁剪,因为它可以清除分散在整个图像的小但重要的物体。我们使用N = 2,M = 9为超参数。我们在第4.6节和第5节讨论了它的影响。

4. 实验

4.1  概述

我们使用四个数据集进行预处理:Microsoft COCO(MSCOCO) (Lin et al., 2014),视觉基因组 (VG),SBU标题 (SBU) (奥多内斯等人, 2011) 和Google Conceptual Captions (GCC) (Sharma等人2018年)。表1报告了数据集的统计数据。

(T2I) VILT_第13张图片

表1:Pretraining数据集的统计数据。标题长度是来自预先训练的bert-base- uncased标记器的标记长度。GCC和SBU只提供图像url,所以我们从仍然可以访问的url中收集图像。

我们通过两种广泛探索的视觉和语言下游任务来评估ViLT:对于分类,我们使用VQAv2 (Goyal et al., 2017) 和 NLVR2,用于检索,我们使用MSCOCO和Flickr30K (F30K) (Plummer et al., 2015),由Karpathy和Fei-Fei(2015)重新拆分。对于分类任务,我们使用不同的初始化种子对头部和数据排序进行了三次微调,并报告所有运行的最大分数。对于检索任务,我们只微调一次。

4.2 实现细节

在所有实验中,我们使用AdamW优化器(Loshchilov & Hutter, 2017),基学习率为10-4,权重衰减为10-2。在总训练步骤的10%时,学习率被预热,在剩下的训练步骤中,学习率线性衰减到零。请注意,如果我们为每个任务定制超参数,下游性能可能会进一步提高。

我们将输入图像的短边调整为384,并将长边限制在640以下,同时保持高宽比。这种调整方案也在其他VLP模型的目标检测中使用,但他们对短边用了更大的尺寸(800)。对于分辨率为384 x 640的图像,ViLT-B/32的Patch投影产生12 x 20 = 240个Patch。由于这是一个很少达到的上限,我们采样出200个patch块,以供后续处理。我们对VIT-B/32的进行插值,以适应每个图像的大小,并填充长度为200的patch进行批量训练。请注意,得到的图像分辨率比800x1333小四倍,而800x1333是所有其他VLP模型用于视觉嵌入的输入尺寸。

我们对文本输入使用bert-base- uncased标记器。我们不是从预先训练的BERT进行微调,而是从头开始学习与文本嵌入相关的参数、T和

我们在64个NVIDIA V100 gpu上预先训练了100K个steps(3天),批量大小为4,096。对于所有下游任务,我们训练10个epoch, VOAv2/检索任务的批处理规模为256,NLVR2的批处理规模为128。

4.3  VLP模型的复杂性分析

图4报告了可视化嵌入器和transformer中的参数数量,以及整个管道的总运行时间,ViLT-B/32是这两方面的最佳模型。我们还在图5中观察到,长度在300以下的序列的开销占了bert-base-like transformer运行时的大部分。这保持了我们的模型的效率,尽管它对transformer模块的输入序列更长;结合图像和文本tokens,ViLT-B/32和Pixel-BERTtransformer接收约280tokens,而基于区域特征的VLP模型的变压器接收76-140tokens。

(T2I) VILT_第14张图片

图4:运行时间和各种VLP模型的参数的个数。运行时间在一个NVIDIA P40 GPU上平均超过10K次

(T2I) VILT_第15张图片

图5:根据输入序列长度得到的bert -base-like transformer的运行时间。

4.4 分类任务

我们在两个常用数据集:VQAv2和NLVR2上评估了ViLT-B/32。我们采用隐藏尺寸为1536的两层MLP作为微调后的下游头。

视觉问题回答。VQAv2任务要求以自然语言对一个图像和一个问题进行回答。带注释的答案最初是自由形式的自然语言,但通常的做法是将任务转换为包含3129个答案类的分类任务。根据这个实践,我们在VQAv2训练和验证集上对ViLT-B/32进行微调,同时为内部验证保留1000张验证图像及其相关问题。我们报告提交给评估服务器的测试开发分数结果。请注意,我们只使用VQAv2进行微调,而许多其他工作也使用VG-OA。

视觉推理的自然语言NLVR2任务是一个二值分类任务,由两幅图像和一个自然语言问题组成三组。由于有两个不同于训练前设置的输入图像,因此存在多种策略12;继OSCAR (Li et al., 2020b)和VinVL (Zhang et al., 2021)之后,我们使用配对方法。在这里,三元组输入被重新表述为两对:(question, imagel)和(question, image2)。head将两个(池化)集合表示(p)连接起来。

表2显示了结果。ViLT-B/32由于其显著的推理速度,在两个数据集上保持了竞争性能

(T2I) VILT_第16张图片

表2:ViLT-B/32与其他模型在下游分类任务上的比较。我们使用MCAN (Yu et al., 2019)和VQAv2 和 NLVR2 的 MaxEnt (苏尔等人, 2018) 无 Vlp 索塔结果。在训练前使用GQA、VQAv2、VG-QA。*使用开放图像数据集(Kuznetsova et al., 2020)来扩展区域特征嵌入的视觉词汇。@表示在微调期间应用RandAugment。

4.5 检索任务

我们微调了ViLT关于卡帕西和飞飞(2015)MSCOCO和F30K的拆分。用于图像到文本文本到图像检索时,我们测量了zero-shot和微调性能。我们从预先训练的ITM头初始化分数头;特别是计算真对对数的部分。我们选取15个随机文本作为负样本,并使用交叉熵损失调整模型,使真对的分数最大化。

我们在表3中报告了zero-shot的检索结果,在表4中报告了微调后的结果。在zero-shot检索时,ViLT-B/32总体上比ImageBERT表现更好,尽管ImageBERT在更大的(14M)数据集上进行了预训练。在微调检索时,ViLT-B/32的召回率远远高于第二快的模型(Pixel-BERT-R50)。

(T2I) VILT_第17张图片

表3:velt - b /32与其他VLP模型在下游zero-shot检索任务上的比较。我们排除了zero-shot检索性能未在其原始论文中报道的模型。除GCC+SBU的4M数据集外,还使用10M专用图像-文本数据集进行预训练。

4.6 烧蚀研究

在表5中,我们进行了各种烧蚀。更多的训练步骤,整词掩蔽和图像增广是有益的,而一个额外的训练目标没有帮助。

据报道,训练迭代次数影响自监督模型的性能(Devlin et al., 2018;Chen等,2020a;b)。由于VLP也是自我监督训练的一种形式,我们检验了训练时间的影响。不出所料,当我们训练模型进行更长的训练steps时(第1-3行),表现不断优化。掩蔽整词的传销目标(第3-4行)和微调增强(第6行)也驱动性能。

(T2I) VILT_第18张图片

在Chen等人(2019)的VLP模型中,一个额)外的掩蔽区域建模(MRM目标是提高性能的关键。我们使用掩蔽后的patch预测(MPP) (Dosovitskiy等人,2020)进行实验,该方法以与patch投影兼容的形式模拟MRM的效果。v的掩码概率为0.15,模型从上下文化的向量中预测掩码块的平均RGB值。然而,MPP对下游性能没有贡献(第4-5行)。这与MRM目标对目标检测的监督信号形成了鲜明的对比。

4.7 可视化

图6是一个跨模式对齐的示例。WPA的运输计划表达了一个文本标记的热图。每个正方形贴图代表一个patch,其不透明度表示从突出显示的单词标记传输了多少信息。

(T2I) VILT_第19张图片

更多的IPOT迭代(在训练阶段超过50次)有助于可视化热图收敛;根据经验,1000次迭代足以得到一个清晰可识别的热图。

我们对每个token的计划进行z-归一化,并将值夹在[-0.3,0.3]。

我们可以观察到,在实体物体(如“花”、“地毯”)的情况下,质量以精确的方式集中在少数patch上,而在背景词(“多云”)的情况下,质量则分散在更大的区域上。

5. 结论与未来工作

在本文中,我们提出了一种最小的VLP体系结构——视觉和语言转换器(ViLT),并展示了它对那些配备了大量卷积视觉嵌入网络(如Faster R-CNN和ResNets)的竞争对手的竞争力。我们要求VLP未来的工作更多地关注变压器模块内部的模态相互作用,而不是仅仅进行军备竞赛单模嵌入器

尽管它很了不起,ViLT-B/32更多的是一个概念的证明,即不需要卷积和区域监督的高效VLP模型仍然可以胜任。最后,我们指出了一些可能会增加ViLT家族的因素。

可伸缩性。如关于大规模transformer的论文所示(德夫林等人, 2018;多索维茨基等人,2020年),给定适当的数据量,预训练transformer的表现可以很好地伸缩。这为更好的ViLT变体(例如ViLT- l(大)和ViLT- h(大))铺平了道路。我们将训练更大的模型留到未来的工作中,因为对齐的视觉和语言数据集仍然稀缺。

蒙面建模的视觉输入。考虑到MRM的成功,我们推测视觉模态的掩蔽建模目标通过保存信息到变压器的最后一层来帮助。然而,正如在表5中观察到的那样,在图像补丁(MPP)上使用MRM的简单变体失败了。我们鼓励今后不使用区域监督的工作为视觉形态设计更复杂的掩蔽目标。

增强策略。先前关于对比视觉表示学习的研究(Chen等人,2020a;b)表明,RandAugment没有采用高斯模糊,与之相比,可以显著提高下游性能一个更简单的增量策略(He et al., 2020)。len对文本和视觉输入的适当增强策略的合理分配将是未来的重要工作。

基于patch projection的多模态方法速度优势非常大但是整体上性能还是略低于region feature的方法

你可能感兴趣的:(T2I,自然语言处理,深度学习,神经网络)