VisualBert: 经过预训练EBET易博真人平台的多模态模型

  新闻资讯     |      2023-10-01 22:18

  我们提出了VisualBERT,这是一个简单而灵活的框架,用于为广泛的视觉和语言任务建模。VisualBERT由一堆Transformer层组成,这些Transformer层隐含地将输入文本的元素和相关输入图像中的区域以self-attention的方式对齐。我们进一步提出了两个以视觉为基础的语言模型目标,用于对图像标题数据进行VisualBERT的预训练。在四个视觉和语言任务(包括VQA、VCR、NLVR2和Flickr30K)上的实验表明,VisualBERT的性能优于或可与最先进的模型相媲美,同时又明显简单。进一步的分析表明,VisualBERT可以在没有任何明确监督的情况下将语言元素与图像区域联系起来,甚至对句法关系也很敏感,例如,跟踪动词与对应于其参数的图像区域之间的联系。

  结合视觉和自然语言的任务是评估视觉信息系统推理能力的一个丰富的测试平台。除了简单地识别哪些目标存在(Russakovsky等人,2015;Lin等人,2014),视觉和语言任务,如字幕(Chen等人,2015)、视觉问答(Antol等人,2015)和视觉推理(Suhr等人,2019;Zellers等人。2019年),挑战系统理解图像的广泛的详细语义,包括对象、属性、部分、空间关系、动作和意图,以及所有这些概念是如何在自然语言中被提及和建立的。

  在本文中,我们提出VisualBERT,这是一个简单而灵活的模型,旨在捕捉图像和相关文本中的丰富语义。VisualBERT整合了BERT(Devlin等人,2019年)、最近用于自然语言处理的基于Transformer的模型(Vaswani等人,2017年)和预训练的对象提议系统,如Faster-RCNN(Ren等人,2015年),它可以应用于各种视觉和语言任务。特别是,从目标建议中提取的图像特征被视为无序的输入token,并与文本一起送入VisualBERT。文本和图像输入由VisualBERT中的多个transformer层共同处理(见图2)。词语和对象建议之间的丰富互动使该模型能够捕捉到文本和图像之间错综复杂的联系。

  图2:VisualBERT的架构。图像区域和语言与一个transformer相结合,使self-attention发现语言和视觉之间的隐性排列。它在标题数据上用mask的语言模型(目标1)和句子-图像预测任务(目标2)进行预训练,然后针对不同的任务进行微调。更多细节见第3.3节。

  与BERT类似,在外部资源上预训练VisualBERT可以使下游的应用受益。为了学习图像和文本之间的关联,我们考虑在图像标题数据上预训练VisualBERT,其中图像的详细语义用自然语言表达。我们为预训练提出了两个以视觉为基础的语言模型目标。(1)部分文本被masked,模型学会根据剩余的文本和视觉背景来预测被masked的单词;(2)模型被训练来确定所提供的文本是否与图像匹配。我们表明,这种对图像标题数据的预训练对于VisualBERT学习可迁移的文本和视觉表示非常重要。

  我们对四个视觉和语言任务进行了综合实验。(1)视觉问答(VQA 2.0,Goyal等人(2017)),(2)视觉常识推理(VCR,Zellers等人(2019)),(3)视觉推理的自然语言(NLVR2,Suhr等人(2019)),以及(4)区域到短语蕴含(Flickr30K,Plummer等人(2015))。结果表明,通过在COCO图像标题数据集(Chen等人,2015)上预训练VisualBERT,VisualBERT的表现优于或与最先进的模型相媲美。我们进一步提供详细的消融研究来证明我们的设计选择。进一步的定量和定性分析揭示了VisualBERT如何在内部分配注意力权重以对齐单词和图像区域。我们证明,通过预训练,VisualBERT学会了对实体的定位,并对词和图像区域之间的某些依赖关系进行编码,这有助于提高模型对图像的详细语义的理解(见图1中的一个例子)。

  图1:VisualBERT中一些选定的头部的注意力权重。在高层(如第10层和第11层),VisualBERT能够隐含地将视觉概念(如 其他行人 和 穿白衬衫的人)作为基础。该模型还捕获了某些句法依赖关系(例如,行走 与第6层的男子区域相一致)。该模型还完善了对各层的理解,在第3层中错误地将 人 和 衬衫 对齐,但在更高的层中则将其纠正。(更多细节见第5.3节)。

  衔接视觉和语言的研究由来已久。各种任务,如视觉问答(Antol等人,2015年;Goyal等人,2017年)、文本基础(Kazemzadeh等人,2014年;Plummer等人,2015年)和视觉推理(Suhr等人,2019年;Zellers等人,2019年)已经被提出,并开发了各种模型(Yang等人,2016年;Anderson等人,2018年;Jiang等人,2018年)来解决它们。这些方法通常由一个文本编码器、一个图像特征提取器、一个多模态融合模块(通常带有注意力)和一个答案分类器组成。大多数模型是为特定的任务而设计的,而VisualBERT是通用的,可以很容易地适应新的任务或纳入其他特定任务的模型中。

  理解图像中描述的详细语义对视觉理解至关重要(Johnson等人,2015),之前的研究表明,对这种语义进行建模可以使视觉-语言模型受益。例如,视觉基因组中的属性标注(Krishna等人,2017)被用来增强VQA系统中的目标检测器(Anderson等人,2018)。Santoro等人(2017年)、NorcliffeBrown等人(2018年)和Cadene等人(2019年)探索使用注意力模块来隐含地模拟图像中目标之间的关系。Li等人(2019)更进一步,明确地建立一个图来编码目标关系。在VisualBERT中,self-attention机制允许模型捕捉目标之间的隐性关系。此外,我们认为,对图像标题数据进行预训练是教导模型如何捕捉这种关系的有效方法。

  我们的工作受到BERT(Devlin等人,2019)的启发,这是一个基于Transformer的自然语言表示模型。它属于一系列的工作(Peters等人,2018;Radford等人,2018;2019),通过预训练语言模型目标(即根据剩余的上下文预测被masked在输入中的词)来学习通用语言编码器。两个同时进行的研究与本文相似。VideoBERT(Sun等人,2019年)将视频转化为与一系列图像配对的口语单词,并应用Transformer来学习联合表示。他们的模型架构与我们类似。然而,VideoBERT的评估对象是烹饪视频的字幕,而我们对各种视觉和语言任务进行了综合分析。与我们的工作同时进行的ViLBERT(Jiasen等人,2019年)提出使用类似BERT的架构学习图像和文本的联合表示,但有单独的视觉和语言transformer,只能相互注意(导致两倍的参数)。他们在概念性标题上使用了稍微不同的预训练过程(Sharma等人,2018),并在四个数据集上进行评估,其中两个也是我们工作中考虑的。我们的结果与他们的一致(我们的模型在两个相交任务中的一个上表现出色),但由于使用了不同的视觉表示和预训练资源,这些方法并不完全可比。

  在这一节中,我们介绍VisualBERT,这是一个学习视觉和语言的联合上下文表示的模型。首先,我们介绍了BERT的背景(第3.1节),然后总结了我们为允许联合处理图像和文本所做的调整(第3.2节),如图2所示,最后解释了我们的训练程序(第3.3节)。

  BERT(Devlin等人,2019)是一个以子词(Wu等人,2016)为输入并使用语言模型目标进行训练的transformer(Vaswani等人,2017)。每个嵌入e∈E被计算为:1)token嵌入et,具体到子词;2)片段嵌入es,表示token来自文本的哪个部分(例如,来自蕴含对的假设);3)位置嵌入ep,表示token在句中的位置。然后,输入嵌入E被传递到一个多层transformer,该transformer建立了子词的上下文表示。

  BERT的训练通常有两个步:预训练和微调。预训练是使用两种语言模型目标的组合来完成的。(1) mask语言模型,即输入token的某些部分被随机地替换成一个特殊的token(即[MASK]),模型需要预测这些token的身份;(2) 下一句预测,即给模型一个句子对,训练它对它们是否是一个文件中的两个连续句子进行分类。最后,为了将BERT应用于一个特定的任务,引入了特定任务的输入、输出层和目标,并根据预训练的参数在任务数据上对模型进行微调。

  我们的想法的核心是重新利用Transformer中的self-attention机制来隐式地对齐输入文本的元素和输入图像中的区域。除了BERT的所有组件之外,我们还引入了一组视觉嵌入,即F,来模拟图像。每个f∈F对应于图像中的一个边界区域,由一个目标检测器得出。

  F中的每个嵌入都是通过三个嵌入相加计算出来的。(1) fo,是f的边界区域的视觉特征表示,由卷积神经网络计算;(2) fs,是一个片段嵌入,表明它是一个图像嵌入,而不是文本嵌入;(3) fp,是一个位置嵌入,当单词和边界区域之间的对齐作为输入的一部分被提供时,它被设置为对应于对齐单词的位置嵌入之和(见§4的VCR)。然后,视觉嵌入与原始文本嵌入一起被传递给多层transformer,允许模型隐含地发现两组输入之间的有用对齐,并建立一个新的联合表示。

  我们希望采用与BERT类似的训练程序,但VisualBERT必须学会适应语言和视觉输入。因此,我们达到了一个成对的数据资源。COCO(Chen等人,2015年),它包含了每个与5个独立标题配对的图像。我们的训练程序包含三个阶段。

  任务不可知的预训练这里我们使用两个视觉基础的语言模型目标在COCO上训练VisualBERT。(1) 用图像进行mask式语言模型。文本输入的一些元素被masked了,必须进行预测,但对应于图像区域的向量没有被masked。(2) 句子-图像预测。对于COCO,如果有多个标题对应于一个图像,我们提供一个由两个标题组成的文本段。其中一个标题是描述图像的,而另一个有50%的机会是另一个对应的标题,还有50%的机会是一个随机抽取的标题。该模型被训练来区分这两种情况。

  特定任务的预训练在对VisualBERT进行微调以适应下游任务之前,我们发现使用带有图像目标的masked语言模型的任务数据来训练模型是有益的。这一步使模型能够适应新的目标领域。

  微调这一步反映了BERT的微调,即引入特定任务的输入、输出和目标,并训练Transformer使其在该任务上的性能最大化。

  我们在四种不同类型的视觉和语言应用上评估VisualBERT。(1)视觉问答(VQA 2.0)(Goyal等人,2017),(2)视觉共感推理(VCR)(Zellers等人,2019),(3)视觉推理的自然语言(NLVR2)(Suhr等人,2019),以及(4)区域到短语接地(Flickr30K)(Plummer等人,2015),在以下章节和附录中都有详细的描述。对于所有的任务,我们使用COCO的Karpathy训练分割(Karpathy & Fei-Fei, 2015)进行任务诊断性的预训练,其中有大约10万张图片,每张有5个标题。所有模型中的Transformer编码器的配置与BERTBASE相同:12层,隐藏层大小为768,12个自注意力头。参数从Devlin等人(2019)发布的预训练的BERTBASE参数中初始化。

  对于图像表示,我们研究的每个数据集都有不同的标准目标检测器来生成区域建议和区域特征。为了与他们进行比较,我们遵循他们的设置,因此,不同的图像特征被用于不同的任务(详见各小节)。2 为了保持一致性,在COCO的任务诊断性预训练期间,我们使用与最终任务相同的图像特征。对于每个数据集,我们评估了我们模型的三种变体。

  VisualBERT:完整的模型,参数初始化来自BERT,经过COCO的预训练,任务数据的预训练,以及任务的微调。

  按照Devlin等人(2019)的做法,我们使用SGD与Adam(Kingma & Ba,2015)对所有模型进行优化。除非另有规定,我们将预热步数设置为总训练步数的10%。批次大小的选择是为了满足困难件限制,长度超过128的文本序列是有上限的。实验在Tesla V100s和GTX 1080Tis上进行,所有的实验最多可以在4个Tesla V100s上复制,每个都有16GB的GPU内存。在COCO上进行预训练一般需要在4张卡上花费不到一天的时间,而特定任务的预训练和微调通常需要更少的时间。其他特定任务的训练细节在相应的章节中。

  给定一个图像和一个问题,任务是正确回答问题。我们使用VQA 2.0(Goyal等人,2017),其中包括COCO中超过100万个关于图像的问题。我们训练模型来预测3,129个最常见的答案,EBET易博真人并使用基于ResNeXt的Faster RCNN在视觉基因组上预训练的图像特征(Jiang等人,2018)。更多细节见附录A。

  我们在表1中报告了结果,包括使用与我们的方法相同的视觉特征和边界区域建议数量的基线(第一节),我们的模型(第二节),以及其他不可比的方法(第三节),这些方法使用来自视觉基因组(+VG)的外部问题-答案对,多重检测器(Yu等人,2019a)(+Multiple Detectors)和其模型的集合。在可比较的环境中,我们的方法明显更简单,并优于现有工作。

  VCR由来自11万个电影场景的29万个问题组成,问题集中在视觉常识上。该任务被分解成两个多选子任务,我们在其中训练单独的模型:问答(Q → A)和答案证明(QA → R)。图像特征从ResNet50(He等人,2016)获得,并使用数据集中提供的 glod 检测边界框和分割3。该数据集还提供了文本中引用的单词和边界区域之间的对齐,我们通过对匹配的单词和区域使用相同的位置嵌入来利用这些对齐。更多细节见附录B。

  表2中列出了VCR的结果。我们将我们的方法与建立在BERT基础上的随数据集发布的模型(R2C)进行比较,并在排行榜上列出了表现最好的单一模型(B2T2)。我们的ablated VisualBERT w/o COCO Pre-training享有与R2C相同的资源,尽管明显更简单,但以很大的优势胜过它。完整的模型进一步提高了结果。尽管COCO和VCR之间有很大的领域差异,VCR涵盖了电影中的场景,但对COCO的预训练仍然有很大帮助。

  NLVR2是一个关于自然语言和图像联合推理的数据集,重点是语义多样性、构成性和视觉推理挑战。其任务是确定一个自然语言的标题对于一对图像是否线万个与网络图片配对的英文句子的例子组成。我们修改了VisualBERT中的段嵌入机制,并从不同的图像中分配了具有不同段嵌入的特征。我们使用Detectron(Girshick等人,2018)的一个现成的检测器来提供图像特征,并在每张图像上使用144个建议。 更多细节见附录C。

  Flickr30K实体数据集测试了系统将标题中的短语与图像中的边界区域相联系的能力。任务是,给定句子的跨度,选择它们对应的边界区域。该数据集包括3万张图片和近25万个标注。我们调整了BAN(Kim等人,2018)的设置,其中使用了在视觉基因组上预训练的Faster R-CNN的图像特征。对于特定任务的微调,我们引入了一个额外的self-attention块,并使用每个头的平均注意力权重来预测box和短语之间的对齐。对于要接地气的短语,我们把短语的最后一个子词中受到最多关注的那个box作为模型预测的对象。更多细节见附录D。

  结果列于表4。VisualBERT优于目前最先进的模型BAN。在这种情况下,我们没有观察到没有早期融合的消融模型和我们的完整模型之间的显著差异,认为也许一个较浅的架构足以完成这项任务。

  在这一节中,我们对我们的方法的哪些部分对VisualBERT的强大性能很重要进行了广泛的分析(§5.1)。然后,我们使用Flickr30K作为诊断数据集,以了解VisualBERT的预训练阶段是否真正允许模型学习边界区域和文本短语之间的隐式排列。我们表明,VisualBERT中的许多注意力头都能准确地跟踪基础信息,有些甚至对句法很敏感,从动词到句子中的参数所对应的边界区域(5.2节)。最后,我们展示了VisualBERT如何通过Transformer的多个层次来解决模糊的基础信息的定性例子(第5.3节)。

  我们在NLVR2上进行消融研究,并在第4节中包括两个消融模型和VisualBERT的四个额外变体进行比较。为了便于计算,所有这些模型都是用每幅图像(包括完整模型)的36个特征进行训练的。我们的分析(表5)旨在研究VisualBERT中以下四个部分的贡献。

  C1:任务无关的预训练。我们通过完全跳过这种预训练(VisualBERT w/o COCO Pre-training)和只用文本而不用COCO的图像进行预训练(VisualBERT w/o Grounded Pre-training)来研究任务诊断性预训练的贡献。这两个变体都表现不佳,表明对成对的视觉和语言数据进行预训练很重要。

  C2: 早期融合。我们包括在第4节中介绍的VisualBERT w/o Early Fusion,以验证允许图像和文本特征之间早期互动的重要性,再次确认视觉和语言之间的多个互动层是重要的。

  C3:BERT初始化。到目前为止讨论的所有模型都是用预训练好的BERT模型的参数来初始化的。为了了解BERT初始化的贡献,我们引入一个随机初始化参数的变体。然后,该模型被训练为完整的模型。虽然看起来只有语言预训练的BERT的权重很重要,但性能并没有像我们预期的那样下降,这说明该模型很可能在COCO预训练期间学习了许多关于语言的有用方面。

  C4:句子-图像预测的目标。我们在任务诊断性的预训练中引入了一个没有句子-图像预测目标的模型(VisualBERT w/o Objective 2)。结果表明,与其他组件相比,这个目标有积极的作用,但不太明显。

  总的来说,结果证实,最重要的设计选择是任务诊断性的预训练(C1)和视觉与语言的早期融合(C2)。在预训练中,包括额外的COCO数据和使用图像和说明都是最重要的。

  在这一节中,我们调查了在VisualBERT对任何任务进行微调之前,哪些边界区域是由单词关注的。

  实体定位首先,我们试图在VisualBERT中找到可以进行实体的注意力头,即注意句子中实体的相应边界区域。具体来说,我们使用来自Flickr30K评估集的ground truth对齐。对于句子中的每个实体和VisualBERT中的每个注意力头,我们看一下获得最多注意权重的边界区域。因为一个词很可能不仅关注图像区域,而且还关注文本中的单词,所以在这个评估中,我们掩盖了头对单词的关注,只保留对图像区域的关注。然后,我们计算一个特定的头的注意力与Flickr30K中的标注的吻合程度。

  我们在图3中报告了VisualBERT中所有144个注意力头的准确性,按层组织。我们还考虑了一个基线,它总是选择具有最高检测信心的区域。我们发现,尽管VisualBERT在实体方面没有受到任何直接的监督,但它还是取得了非常高的准确率。真实的准确性似乎也在更高的层中得到了改善,这表明模型在综合低层的两个输入时不太确定,但随后变得越来越清楚它们应该如何对齐。我们在第5.3节中展示了这种行为的例子。

  句法基础给定许多人已经观察到BERT的注意力头可以发现句法关系(Voita等人,2019;Clark等人,2019),我们还分析了基础信息如何通过VisualBERT可能发现的句法关系传递。特别是,给定两个用依存关系连接的词,w1 -→w2,我们想知道w2处的注意力头多长时间会去关注w1所对应的区域,反之亦然。例如,在图1中,我们想知道是否有一个注意力头,在 行走 这个词上,系统地注意到 人 所对应的区域,因为根据斯坦福依存关系解析形式(De Marneffe & Manning, 2008),人 和 行走 是通过一个 subj 关系联系起来的。

  为了评估VisualBERT中的这种句法敏感性,我们首先使用AllenNLP的依赖性分析器(Dozat & Manning, 2017; Gardner et al., 2018)解析Flickr30K中的所有句子。然后,对于VisualBERT中的每个注意力头,给定两个词有一个特定的依赖关系,其中一个在Flickr30K中有一个真实的标签,我们计算头部注意力权重预测ground-truth的准确性。对所有依赖关系的检查表明,在VisualBERT中,每一种关系至少存在一个头部,它明显优于猜测最自信的边界区域。我们在图4中强调了几个特别有趣的依赖关系。许多头似乎准确地将论据与动词联系起来(即 pobj,sub 和 dobj 依赖关系),认为VisualBERT正在将这些论据隐含地和没有监督地解析为视觉元素。

  最后,我们在图1和图5中展示了几个有趣的例子,说明VisualBERT在处理图像和文本时如何改变其对各层的关注。为了产生这些例子,对于每一个ground truth框,我们显示了一个最接近它的预测边界区域,并手动将边界区域归入不同的类别。我们还包括模型积极关注的区域,即使它们不存在于ground truth标注中(用星号标记)。然后,我们将注意力权重从单词汇总到同一类别的那些区域。我们展示了达到最高实体定位精度的6个层的最佳头。

  总的来说,我们观察到VisualBERT似乎通过连续的Transformer层来细化排列。例如,在图5的左下角图像中,最初 丈夫 这个词和 女人 这个词在对应于女人的区域都有很大的注意力权重。在计算结束时,VisualBERT已经将女人和男人拆开,正确地将两者对齐。此外,还有许多句法对齐的例子。例如,在同一张图片中,挑逗 这个词对准了男人和女人,而 由 这个词对准了男人。最后,一些核心推理似乎得到了解决,在同一张图片中,她 这个词被解决为女人。

  在本文中,我们提出了VisualBERT,一个用于联合视觉和语言表示的预训练模型。尽管VisualBERT很简单,但它在四个评估任务上取得了很强的性能。进一步的分析表明,该模型利用注意力机制以可解释的方式来捕捉信息。对于未来的工作,我们很好奇,我们是否可以将VisualBERT扩展到仅有图像的任务,如场景图解析和情况识别。在更大的标题数据集(如视觉基因组和概念性标题)上预训练VisualBERT也是一个有效的方向。