【预训练视觉-语言模型文献阅读】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)

【预训练视觉-语言模型文献阅读】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)

文章目录

  • 【预训练视觉-语言模型文献阅读】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)
    • ABSTRACT摘要
    • 1 INTRODUCTION介绍
    • 2 RELATED WORK相关工作
      • Pre-training for Computer Vision计算机视觉的预训练
      • Pre-training for Natural Language Processing (NLP) 自然语言处理(NLP)的预训练
      • Pre-training for Visual-Linguistic Tasks视觉语言任务的预训练
    • 3 VL-BERT
      • 3.1 REVISIT BERT MODEL
      • 3.2 MODEL ARCHITECTURE模型架构
        • Token Embedding
        • Visual Feature Embedding
        • Segment Embedding
        • Sequence Position Embedding
      • 3.3 PRE-TRAINING VL-BERT预训练VL-BERT
      • 3.4 FINE-TUNING VL-BERT微调
    • 4 EXPERIMENT实验
      • 4.1 PRE-TRAINING预训练
      • 4.2 FINE-TUNING ON DOWNSTREAM TASKS对下游任务进行微调
        • 4.2.1 VISUAL COMMONSENSE REASONING (VCR)视觉常识推理
        • 4.2.2 视觉问答(VQA)
        • 4.2.3 REFERRING EXPRESSION COMPREHENSION引用表达式理解
        • 4.3 ABLATION STUDY消融实验
    • 5 CONCLUSION结论
    • A. APPENDIX附录
      • A.1 COMPARISON AMONG VL-BERT AND OTHER WORKS(VL-BERT与其他作品的比较)
      • A.2 详细的实验设置
      • A.3 VL-BERT中可视化注意贴图

ABSTRACT摘要

我们为视觉语言任务引入了一种新的可预训练的通用表示形式,称为视觉语言BERT(简称VL-BERT)。VL-BERT采用简单但功能强大的Transformer模型作为主干,并将其扩展为将视觉和语言嵌入式功能都作为输入。在其中,输入的每个元素要么是输入句子中的单词,要么是输入图像中的关注区域(RoI)。 它旨在适应大多数可视语言的下游任务。为了更好地利用通用表示,我们在大规模的概念字幕数据集上对VL-BERT以及纯文本语料库进行了预训练。广泛的经验分析表明,预训练程序可以更好地对齐视觉语言线索,并有益于下游任务,例如视觉常识推理,视觉问题解答和参考表达理解。 值得注意的是,VL-BERT在VCR基准排行榜上获得了单一型号的第一名。代码在https://github.com/jackroos/VL-BERT上发布。

1 INTRODUCTION介绍

适用于域中各种任务的通用特征表示的预训练是深层网络成功的标志。首先,在计算机视觉中,为ImageNet分类设计并经过ImageNet训练的骨干网络被发现对于改善许多图像识别任务是有效的。最近在自然语言处理(NLP)中,使用大型语言语料库的“掩码语言模型”(MLM)目标(Devlin等人,2018)对Transformer网络(Vaswani等人,2017)进行了预训练NLP任务。

同时,对于视觉和语言交汇处的任务,例如图像字幕(Young等,2014; Chen等,2015; Sharma等,2018),视觉问题回答(VQA)(Antol等。 ,2015; Johnson等,2017; Goyal等,2017; Hudson&Manning,2019),视觉常识推理(VCR)(Zellers等,2019; Gao等,2019),缺乏这种预见性。训练的通用特征表示。先前的实践是以特定于任务的方式将经过预训练分别用于图像识别和NLP的基础网络进行组合。特定于任务的模型可以直接针对特定目标任务进行微调,而无需任何常规的视觉语言预训练。当目标任务的数据稀缺时,特定于任务的模型可能会遭受过度拟合的困扰。而且,由于特定于任务的模型设计,很难从预训练中受益,因为预训练任务可能与目标完全不同。通常,在研究视觉语言任务的功能设计和预训练方面缺乏共识。

在为不同的视觉语言任务设计的各种网络体系结构中,关键目标是在视觉和语言领域中有效地聚合多模式信息。例如,要在VQA任务中选择正确的答案,网络应允许从问题和答案中整合语言信息,并从输入图像中聚合视觉信息,并使语言含义与视觉线索保持一致。因此,我们寻求获得可以有效整合和对齐视觉和语言信息的通用表示形式。

同时,我们看到Transformer注意力机制(Vaswani等,2017)在NLP中的成功应用,以及在BERT中基于MLM的预训练技术(Devlin等,2018)。注意模块在聚合和对齐句子中嵌入单词的功能方面具有强大而灵活的功能,而BERT中的预训练则进一步增强了该功能。"

受此启发,我们开发了VL-BERT,这是一种用于视觉语言任务的可预训练的通用表示形式,如图1所示。VL-BERT的主干是(多模式)Transformer注意模块,以视觉和语言嵌入式功能作为输入。其中,每个元素要么是输入句子中的单词,要么是输入图像中的关注区域(RoI),以及某些特殊元素以消除不同的输入格式的歧义。每个元素都可以根据其内容,位置,类别等上定义的兼容性来自适应地聚合来自所有其他元素的信息。单词/ RoI的内容特征是特定于域的(WordPiece嵌入(Wu等人,2016)作为字词功能,请使用RoI的Fast R-CNN(Girshick,2015年)功能)。通过堆叠多层多模式Transformer注意模块,派生的表示在汇总和对齐视觉语言线索方面具有丰富的功能。并且可以在上面为特定的视觉语言任务添加特定于任务的分支。

为了更好地利用通用表示,我们在大型视觉语言语料库和纯文本数据集上都对VL-BERT进行了预训练。视觉语言语料库上的预训练损失是通过预测随机掩盖的单词或RoI引起的。这种预训练增强了VL-BERT汇总和对齐视觉语言线索的能力。虽然纯文本语料库的损失是BERT中标准MLM损失,但可以改善长而复杂的句子的泛化性。

全面的经验证据表明,所提出的VL-BERT在各种下游视觉语言任务(例如视觉常识推理,视觉问答和参考表达理解)上均达到了最新水平。特别是,我们在视觉常识推理的排行榜上获得了单一模型的第一名。

2 RELATED WORK相关工作

Pre-training for Computer Vision计算机视觉的预训练

在深度网络时代之前,在不同任务之间共享功能并通过预训练来改进功能还远远不成熟。用于各种计算机视觉任务的模型的设计选择过于多样化,无法获得通用表示。随着ImageNet(Deng等,2009)分类中AlexNet(Krizhevsky等,2012)的成功,我们看到了视觉社区中卷积神经网络(CNN)的复兴。不久之后,研究人员发现ImageNet预先训练的CNN可以很好地用作各种下游任务(Donahue等,2014)的通用特征表示,例如对象检测(Girshick等,2014),语义分割(Long等)。等人,2015年),实例细分(Hariharan等人,2014年)。用于ImageNet分类的骨干网的改进进一步改善了下游任务。最近,有研究工作在没有ImageNet预先训练的情况下从头开始直接在大规模目标数据集上训练CNN(He等人,2018)。他们获得了与ImageNet预培训相当的性能。他们还指出,对适当的海量数据集进行预培训对于提高具有稀疏数据的目标任务的性能至关重要。

Pre-training for Natural Language Processing (NLP) 自然语言处理(NLP)的预训练

有趣的是,NLP中的预训练技术的发展远远落后于计算机视觉。以前有一些有关改善单词嵌入的研究(Mikolov等,2013; Pennington等,2014; Kiros等,2015),这是一种低级的语言特征表示。最重要的是,为各种NLP任务设计了许多不同的体系结构。在Transformers的里程碑式工作中(Vaswani et al。,2017),提出了Transformer注意模块作为各种NLP任务的通用构建块。之后,提出了很多主要用于训练通用表示的方法,主要基于Transformers,例如GPT(Radford等人,2018),BERT(Devlin等人,2018),GPT-2( Radford等人,2019),XLNet(Yang等人,2019),XLM(Lample&Conneau,2019)和RoBERTa(Liu等人,2019)。其中,BERT由于其简单性和优越的性能可能是最受欢迎的一种。

Pre-training for Visual-Linguistic Tasks视觉语言任务的预训练

视觉语言任务模型的开发过程也与计算机视觉和NLP社区中的模型非常相似。"以前,任务设计特定的模型,其中将从现成的计算机视觉和NLP模型获得的功能以特定方式组合用于特定任务。仅针对特定任务在数据集上执行模型训练。

VideoBERT(Sun等,2019b)是寻求对视觉语言任务进行预训练的第一部作品。在其中,视频剪辑由现成的网络进行处理以进行动作识别,并根据派生的功能分配给不同的群集(视觉单词)。通过预测被掩盖的视频剪辑的群集ID,会引起预训练损失。由于视频剪辑的突然聚类,它会丢失大量的视觉内容信息,并会阻碍更新视觉网络参数。在CBT的以下工作中(Sun et al。,2019a),这种聚类机制被删除。这两部作品都应用于视频,视频在时间维度上具有线性结构,与句子相同。迫切需要研究完善的基于图像的视觉语言任务。

与我们的工作同时,最近在Arxiv上发行的多部作品也试图为视觉语言任务衍生出可预训练的通用表示形式。附录中的表5进行了比较。我们在这里简要讨论其中的一些作品。

在正在审查或刚刚被接受的ViLBERT(Lu等人,2019)和LXMERT(Tan&Bansal,2019)中,网络架构是分别应用于输入句子和图像的两个单模态网络,其后是交叉模式变压器,结合了来自两个来源的信息。跨模态Transformer中的注意力模式受到限制,作者认为该模式可以提高性能。ViLBERT的作者声称,这种两流设计比单流统一模型优越。同时,在提出的VL-BERT中,它是基于Transformers的统一体系结构,对注意力模式没有任何限制。视觉和语言内容作为输入输入VL-BERT,在其中它们可以自由地进行早期交互。我们发现,我们的VL-BERT统一模型优于这种两流设计。

正在开发或正在审查中的VisualBert(Li等人,2019b),B2T2(Alberti等人,2019)和Unicoder-VL(Li等人,2019a)也是统一的单流架构。表5比较了这些作品的差异。这些研究工作的同时发生,表明了为视觉语言任务推导通用的可预训练的表示形式的重要性。

此外,VL-BERT与其他并行工作之间在预训练方面存在三个明显的区别。其效果已在第4.3节中进行了验证。
(1)我们发现在所有其他并行工作(例如ViLBERT(Lu等人,2019)和LXMERT(Tan&Bansal,2019)中使用的句子-图像关系预测的任务没有帮助训练前的视觉语言表示。因此,此类任务未包含在VL-BERT中。
(2)我们在视觉语言和纯文本数据集上对VL-BERT进行了预训练。我们发现这种联合预训练可以改善长而复杂的句子的泛化性。
(3)改进了视觉表示的调整。在VL-BERT中,还将更新派生视觉功能的Fast R-CNN参数。为了避免在使用语言线索进行“掩码RoI分类”的预训练任务中出现视觉线索泄漏,对卷入的原始像素(而不是由卷积层生成的特征图)进行掩码操作。

3 VL-BERT

3.1 REVISIT BERT MODEL

令x = {x1,…,xN}为BERT中的输入元素(Devlin 等,2018),这些元素具有编码句子单词的嵌入特征。它们由多层双向变压器处理(Vaswani 等,2017),其中每个元素的嵌入特征通过自适应地将其他元素的特征聚合在一起的方式逐层转换权重。令 x l = x 1 l , . . . , x N l x^l = {x^l_1,...,x^l_N} xl=x1l...xNl为第l层的特征(将 x 0 x^0 x0设置为输入 x x x)。这第(l +1)层的特征 x l + 1 x^{l + 1} xl+1由下式计算

【预训练视觉-语言模型文献阅读】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)_第1张图片
等式1中的m是注意头上的索引,并且 A i , j m ∝ e x p [ ( Q m l + 1 x i l ) T ( K m l + 1 x j l ) ] A^m_{i,j}∝ exp [(Q^{l + 1}_mx^l_i)^T(K^{l + 1}_mx^l_j)] Ai,jmexp[Qml+1xilTKml+1xjl]表示第m个标题中元素I和j之间的注意权重,通过以下方式进行标准化
在这里插入图片描述
W m l + 1 , Q m l + 1 , K m l + 1 和 V m l + 1 W^{l + 1}_m,Q^{l + 1}_m,K^{l + 1}_m和V^{l + 1}_m Wml+1Qml+1Kml+1Vml+1是第m个注意力头的可学习权重,

等式3中的 W 1 l + 1 , W 2 l + 1 W^{l + 1}_1,W^{l + 1}_2 W1l+1,W2l+1 b 1 l + 1 b 2 l + 1 b^{l + 1}_1b^{l + 1}_2 b1l+1b2l+1
分别是可学习的权重和偏差。请注意,等式中的运算1~4与输入序列的顺序无关,即置换输入的最终BERT表示与相同置换后原始输入的最终BERT表示相同。BERT中元素的位置通过序列位置嵌入被编码在它自己的嵌入特征中。由于这种解耦的表示,BERT模型足够灵活,可以针对各种NLP任务进行预训练和微调。在BERT预训练中,引入了掩蔽语言建模(MLM)任务。某个输入单词的嵌入特征将被随机屏蔽(捕获单词内容的标记嵌入通道被一个特殊的[MASK]标记替换)。BERT模型被训练成从所有其他未掩蔽元素的语言线索中预测被掩蔽的单词。正如王和周(2019)所解释的,基于的总体BERT训练相当于优化以下联合概率分布
在这里插入图片描述
其中φi(x|θ)是第i个输入元素的势函数,具有参数θ,而Z(θ)是分区函数。每个对数势项logφi(x)定义为
l o g φ i ( x ∣ θ ) = x i T f i ( x   i ∣ θ ) i , ( 6 ) logφ_i(x |θ)= x^T_i f_i(x_{ \ i }|θ)_i,(6) logφixθ=xiTfix iθi6
其中 f i ( x   i ∣ θ ) i f_i(x_{ \ i }|θ)_i fix iθi表示与输入的第i个元素 x   i x_{ \ i } x i相对应的BERT的最终输出特征,其中 x   i x_{ \ i } x i定义为 x   i x_{ \ i } x i= { x 1 , . . . , x i − 1 , [ M A S K ] , x i + 1 , . . . , x N x_1,...,x_{i - 1},[MASK],x_{i + 1},...,x_N x1...xi1[MASK]xi+1...xN}。基于incurred MLM-based的loss函数为
在这里插入图片描述
其中x是来自训练集D的随机采样的句子,而i是用于掩盖单词的随机采样的位置。
第二个预训练任务,即“下一句预测”,着重于对两个句子之间的关系进行建模。从输入文档中抽取了两个句子,并且模型应该预测第二个句子是否是第一个句子的直接后继。在BERT中,采样的两个句子被连接成一个输入序列,在第一个和第二个句子之前分别插入了特殊元素[CLS]和[SEP]。将Sigmoid分类器附加到与[CLS]元素相对应的最终输出特征上以进行预测。令x为输入序列,t ∈{0,1}表示两个句子之间的关系。 损失函数定义为
在这里插入图片描述
其中 x 0 L x^L_0 x0L是[CLS]元素(在第L层)的最终输出特征, g ( x 0 L ) g(x^L_0) g(x0L)是分类器输出。

3.2 MODEL ARCHITECTURE模型架构

【预训练视觉-语言模型文献阅读】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)_第2张图片

图1说明了VL-BERT的体系结构。基本上,它通过添加新元素以容纳视觉内容并在输入特征嵌入中嵌入新型视觉特征来修改原始BERT(Devlin等人,2018)模型。与BERT相似,骨干网是多层双向变压器编码器(Vaswani等人,2017),可以在所有输入元素之间进行依赖关系建模。VL-BERT与仅处理BERT的句子单词不同,VL-BERT既将视觉元素也将语言元素作为输入,这些元素分别具有图像中感兴趣区域(RoI)和来自输入句子的子单词上定义的特征。RoI可以是对象检测器产生的边界框,也可以是在某些任务中带注释的RoI。

值得注意的是,不同的视觉语言任务的输入格式也有所不同(例如,用于图像字幕的和用于VQA的(Antol等人,2015; Johnson等人) (2017年; Goyal等人,2017年; Hudson&Manning,2019年)和VCR(Zellers等人,2019年; Gao等人,2019年))。但是,得益于Transformer注意的无序表示性质(例如, 句子中单词的位置仅通过位置嵌入(输入顺序中的顺序除外)进行编码,)只要正确设计了输入元素和嵌入特征,就可以派生通用表示形式。涉及三种类型的输入元素,即虚拟,语言和特殊元素,用于消除不同的输入格式的歧义。输入序列始终以特殊的分类元素([CLS])开头,然后以语言元素继续,接着是视觉元素,最后以特殊的结束元素([END])结尾。在语言元素的不同句子之间以及在语言和视觉元素之间插入一个特殊的分隔元素([SEP])。对于每个输入元素,其嵌入特征是四种嵌入类型的总和,即令牌嵌入,视觉特征嵌入,分段嵌入和序列位置嵌入。其中,视觉特征嵌入是新引入的,用于捕获视觉线索,而其他三个嵌入遵循原始BERT论文中的设计。

Token Embedding

遵循BERT的实践,语言单词嵌入了单词片段嵌入(Wu等人,2016),词汇量为30,000。特殊Token分配给每个特殊元素。对于视觉元素,将为每个视觉元素分配一个特殊的[IMG]Token。

Visual Feature Embedding

视觉特征嵌入我们首先分别描述视觉外观特征和视觉几何形状嵌入,然后如何组合它们以形成视觉特征嵌入。

对于与RoI对应的视觉元素,通过应用Fast R-CNN(Girshick,2015)检测器(即Faster R-CNN中的检测分支(Ren等人,2015))提取视觉外观特征。 ,其中将每个RoI的输出层之前的特征向量用作视觉特征嵌入(纸上为2048-d)。对于非视觉元素,相应的视觉外观特征是在整个输入图像上提取的特征。它们是通过在覆盖整个输入图像的RoI上应用Faster R-CNN获得的。

视觉几何嵌入旨在告知VL-BERT图像中每个输入视觉元素的几何位置。每个RoI的特征是一个4-d向量,如 ( x L T / W , y L T / H , x R B / W , h R B / H ) (xLT/W,yLT/H,xRB/W,hRB/H) xLT/WyLT/HxRB/WhRB/H,其中 ( x L T , y L T ) 和 ( x R B , y R B ) (xLT,yLT)和(xRB,yRB) xLTyLTxRByRB分别表示左上角和右下角的坐标,W,H是输入图像的宽度和高度。遵循关系网络(Hu 等,2018)中的实践,通过计算不同波长的正弦和余弦函数,将4-d向量嵌入到高维表示中(纸上为2048-d)。

视觉特征嵌入附加到每个输入元素,这是完全连接层的输出,将视觉外观特征和视觉几何嵌入的串联作为输入。

Segment Embedding

段嵌入定义了三种类型的段A,B,C,以将来自不同来源的输入元素分开,分别是A和B分别代表来自第一和第二个输入句子的单词,C代表来自输入项的RoI图像。"例如,对于的输入格式,A表示问题,B表示答案,C表示图像。对于输入格式的A表示字幕,C表示Image。将学习的段嵌入添加到每个输入元素,以指示其属于哪个段。

Sequence Position Embedding

序列位置嵌入将可学习的序列位置嵌入添加到每个输入元素,以指示其在输入序列中的顺序,与BERT相同。由于输入视觉元素之间没有自然顺序,因此它们在输入序列中的任何排列都应获得相同的结果。因此,所有视觉元素的序列位置嵌入都是相同的。

3.3 PRE-TRAINING VL-BERT预训练VL-BERT

VL-BERT的通用功能表示使我们能够通过适当设计的预训练任务在大规模数据集上对其进行预训练。 我们在视觉语言和纯文本数据集上对VL-BERT进行了预训练。在这里,我们利用概念字幕数据集(Sharma等,2018)作为视觉语言的语料库。它包含约330万张带标题注释的图像,这些图像是从Web数据中收集并通过自动管道处理的。概念字幕数据集的问题在于,字幕主要是简单的子句,对于许多下游任务而言,它们又太短又太简单。为了避免在这种简短的文本情况下过度拟合,我们还对带有长而复杂的句子的纯文本语料库进行了VL-BERT的预训练。我们利用BooksCorpus(Zhu等,2015)和English Wikipedia数据集,这些数据集也用于BERT的预培训中。

在SGD培训中,在每个小批量中,都是从Conceptual Captions和BooksCorpus&English Wikipedia中以1:1的比例随机抽取样本。对于从“概念字幕”中提取的样本,VL-BERT的输入格式为,其中图像中的RoI由预先训练的Faster R-CNN对象检测器进行定位和分类。利用了两个预训练任务来招致损失,如下所述。

任务1:使用可视线索进行掩蔽语言建模此任务与BERT中使用的掩蔽语言建模(MLM)任务非常相似。关键区别在于VL-BERT中包含了视觉线索,用于捕获视觉和语言内容之间的依存关系。在预训练期间,将随机屏蔽输入句子中的每个单词(概率为15%)。对于被屏蔽的单词,其Token被替换为[MASK]的特殊Token。训练模型以基于未掩盖的单词和视觉特征预测被掩盖的单词。 该任务驱动网络不仅对句子中的依存关系进行建模,而且使视觉和语言内容保持一致。例如,在图1“从[模板]喝水的小猫”中,没有输入图像,被屏蔽的单词可以是任何容器,例如“碗”,“勺子”和“瓶”。该表示应捕获图像中“瓶子”一词与相应RoI的对应关系,以做出正确的猜测。在预训练期间,由Softmax交叉熵损失驱动,与被屏蔽单词相对应的最终输出特征将被馈送到整个词汇表的分类器中。

任务2:使用语言线索进行掩盖的RoI分类 这是任务1的双重任务。图像中的每个RoI都会被随机掩盖(概率为15%),预训练任务是根据其他线索预测被掩盖的RoI的类别标签。为了避免其他元素的视觉特征嵌入带来的任何视觉线索泄漏,在应用Fast R-CNN之前,将放置在掩码RoI中的像素设置为零。在预训练期间,对应于被掩盖的RoI的最终输出特征将被馈入具有Softmax交叉熵损失的分类器中,以进行对象类别分类。通过预先训练的Faster R-CNN预测的类别标签被设置为真实情况。一个示例如图1所示。图像中与猫对应的RoI被掩盖,并且无法从任何视觉线索预测相应的类别。但是,通过输入“从瓶中喝水的小猫”的标题,该模型可以利用语言线索来推断类别。

对于从BooksCorpus和English Wikipedia数据集中抽取的样本,VL-BERT的输入格式会退化为,其中不涉及任何视觉信息。图1中的“视觉特征嵌入”一词是所有单词共享的可学习的嵌入。培训损失来自BERT中的屏蔽语言建模(MLM)标准任务。

总之,视觉语言语料库的预训练可以改善视觉和语言内容之间的详细对齐。这种详细的对齐对于许多下游任务至关重要(例如,在Visual Grounding中(Kazemzadeh等人,2014年),该模型基于自然语言查询来定位图像中最相关的对象或区域。虽然仅文本语料库的预培训可以促进涉及理解长而复杂的句子的下游任务。

3.4 FINE-TUNING VL-BERT微调

VL-BERT被设计为用于各种视觉语言任务的通用特征表示。对各种下游任务微调VL-BERT相对简单。我们只需要为VL-BERT提供正确格式的输入和输出,并端到端微调所有网络参数。对于输入,的典型格式涵盖了大多数视觉语言任务。只要引入适当的段嵌入来识别不同的输入源,VL-BERT还支持更多的句子和更多的图像。通常,在输出处,[CLS]元素的最终输出特征用于句子图像关系级别的预测。单词或RoI的最终输出功能是用于单词级别或RoI级别的预测。除了输入和输出格式外,还需要调整特定于任务的损失功能和培训策略。有关详细的设计选择和设置,请参见第4.2节。

4 EXPERIMENT实验

4.1 PRE-TRAINING预训练

第3.3节所述,我们在概念字幕(Sharma等,2018)上对VL-BERT进行了预培训,作为视觉语言的语料库,在BooksCorpus(Zhu等。,2015)和英语Wikipedia上对纯文本的语料库进行了预培训。由于VL-BERT是通过向原始BERT模型添加可捕获视觉信息的新输入而开发的,因此我们将参数初始化为与(Devlin等人,2018)中所述的原始BERT相同。VL-BERTBASE和VL-BERTLARGE分别表示从原始BERTBASE和BERTLARGE模型开发的模型。VL-BERT中新添加的参数是根据平均值为0,标准偏差为0.02的高斯分布随机初始化的。视觉内容嵌入是由Faster R-CNN + ResNet-101产生的,它是根据在视觉基因组上预先训练的用于对象检测的参数初始化的(Krishna等人,2017)(请参阅BUTD(Anderson等人,2018))。
在对概念字幕进行预训练之前,将预训练的Faster R-CNN用于提取RoI。具体来说,每个图像最多选择100个RoI,检测分数高于0.5。至少从一个图像中选择10个RoI,而不管检测分数阈值如何。详细的参数设置在附录中。

4.2 FINE-TUNING ON DOWNSTREAM TASKS对下游任务进行微调

预训练的VL-BERT模型可以针对各种下游视觉语言任务进行微调,只需对输入格式,输出预测,损失函数和训练策略进行简单的修改即可。

4.2.1 VISUAL COMMONSENSE REASONING (VCR)视觉常识推理

视觉常识推理(VCR)侧重于对给定图像的高阶认知和常识理解。在Zellers等人(2019)的数据集中,给定一幅图像和一个分类的感兴趣区域列表,提出了一个认知层面的问题。模型应该选择问题的正确答案,并提供基本原理解释。每个问题有4个候选答案和4个候选理由。这个整体任务(Q→AR)被分解成两个子任务,研究者可以在其中训练特定的个体模型:问题回答(Q→A)和回答理由(QA → R)。

发行的VCR数据集包含265k对问题,答案和基本原理,以及超过100k独特的电影场景(100k图像)。它们分为训练集,验证集和测试集,分别由213k个问题和80k个图像,27k个问题和10k个图像以及25k个问题和10k个图像组成。
【预训练视觉-语言模型文献阅读】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)_第3张图片

我们的VCR实验协议遵循R2C中的协议(Zellers等,2019)。该模型在分割训练集和测试集进行训练,并在验证集和测试集进行评估。在原始R2C中,设计了特定于任务的“基础”,“情境化”和“推理”模块。在这里,我们仅采用VL-BERT的通用表示形式来完成任务。 图2(a)说明了输入格式,对于Q→A的子任务,在“问题”部分和“答案”部分分别填写“ Q”和“ A”。 对于QA→R的子任务,“ Q”和“ A”的串联被填充到“问题”部分,而“ R”被填充到“答案”部分。VL-BERT的输入RoI是数据集中的真实注释。[CLS]元素的最终输出特征被馈送到Softmax分类器,以预测给定的Answer是否是正确的选择。在微调过程中,我们采用了两种损失:答案正确性的分类和具有语言线索的RoI分类。 详细的参数设置在附录中。
【预训练视觉-语言模型文献阅读】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)_第4张图片

表1给出了实验结果。预训练VL-BERT在最终Q→AR任务中将性能提高了1.0%,从而验证了预训练的有效性。 与R2C相比,我们不使用特定于任务的临时模块。 相反,我们仅采用VL-BERT的通用表示形式,并端到端共同训练整个模型。尽管输入,输出和实验协议与R2C相同,但VL-BERT仍以较大的幅度优于R2C,这表明我们简单的交叉模式体系结构的强大功能。与其他并发作品(例如ViLBERT,VisualBERT和B2T2)相比,我们的VL-BERT达到了最先进的性能。

4.2.2 视觉问答(VQA)

在VQA任务中,给定自然图像,会在感知级别上提出问题,并且算法应生成/选择正确的答案。在这里,我们对广泛使用的VQA v2.0数据集(Goyal等人,2017)进行实验,该数据集是基于COCO(Lin等人,2014)图像构建的。VQA v2.0数据集分为训练(83k图像和444k问题),验证(41k图像和
214k个问题),并测试(81k张图像和448k个问题)集。遵循BUTD中的实验协议(Anderson等,2018),对于每个问题,算法应从包含3129个答案的共享集中选择相应的答案。"

图2(b)说明了VQA任务的输入格式,该格式为。由于可能的答案来自与问题无关的共享池,因此我们仅在[答案]部分中填充[MASK]元素。就像在BUTD中一样(Anderson等人,2018),VL-BERT中的输入RoIs是由在视觉基因组上预先训练的Faster R-CNN检测器生成的(Krishna等人,2017)。答案预测是基于[MASK]元素的输出特征从多分类器进行的。在微调期间,网络训练是由可能的答案上的多类交叉熵损失驱动的。 详细的参数设置在附录中。
【预训练视觉-语言模型文献阅读】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)_第5张图片

表2给出了我们的实验结果。 预训练VL-BERT将性能提高了1.6%,这印证了预训练的重要性。VL-BERT与BUTD共享相同的输入(即问题,图像和RoI),输出和实验协议,BUTD是专门为该任务设计的流行模型。但是,VL-BERT的准确性仍超过BUTD 5%。除了LXMERT,我们的VL-BERT的性能要优于其他并行工作。这是因为LXMERT已针对大量的视觉问题回答数据进行了预训练(几乎汇总了基于COCO和Visual Genome的所有VQA数据集)。尽管我们的模型仅在字幕和纯文本数据集上进行了预训练,但与VQA任务之间仍然存在差距。

4.2.3 REFERRING EXPRESSION COMPREHENSION引用表达式理解

引用表达式理解是指图像中的对象的自然语言短语。参照表达理解任务是使用给定的参照表达来定位图像中的对象。我们采用RefCOCO +(Kazemzadeh等人,2014)数据集进行评估,该数据集包含COCO数据集中20k图像中50k参照对象的141k表达式(Lin等人,2014)。禁止在RefCOCO +中使用引用表达式,例如使用绝对位置词。左狗。因此,引用表达集中在纯粹基于外观的描述上。RefCOCO +分为四组,训练组(train),验证组(val)和两个测试组(testA和testB)。包含多个人物的图像位于testA集合中,而包含其他类别的多个对象的图像位于testB集合中。训练,验证和测试图像之间没有重叠。

**图2(c)**说明了用于引用表达式理解的输入格式,其中输入格式为模型训练和评估可以在真实的RoIs上或在MAttNet的检测框上进行(Yu 等,2018)。结果分别报告在地面真实区域或检测区域的轨迹中。在训练期间,我们计算所有输入RoI的分类分数。 对于每个RoI,都会应用二进制分类损失。在推论过程中,我们直接选择分类得分最高的RoI作为输入参照表达的参照对象。 详细的参数设置在附录中。
【预训练视觉-语言模型文献阅读】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)_第6张图片

表3给出了我们的实验结果。预训练的VL-BERT可显着提高性能。与MAttNet相比,VL-BERT在没有特定任务的体系结构设计的情况下要简单得多,但要好得多。VL-BERT与ViLBERT的并发工作可实现可比的性能。

4.3 ABLATION STUDY消融实验

【预训练视觉-语言模型文献阅读】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)_第7张图片

表4列出了VL-BERT预培训中的关键设计选择。为了提高实验效率,仅使用VL-BERTBASE模型时,VL-BERT的微调周期是4.2节中的0.5倍。

总体而言,VL-BERT的预训练可提高所有三个下游任务的性能(通过比较设置“ w / o pre-training”和VL-BERTBASE)。改进幅度因不同任务而异。通过将设置(a)与“不带预训练”的设置进行比较,我们看到了任务1(使用可视线索进行掩盖语言建模)的好处。 通过将任务#2(带有语言线索的掩码RoI分类)进一步合并,在RefCOCO +上的准确性进一步提高,但陷入了VCR和VQA的困境。这可能是因为仅RefCOCO +将与[IMG]Token相对应的最终输出功能用于预测。因此,这些特征的预训练是有益的。设置(c)包含了句子-图像关系预测的任务,如ViLBERT(Lu等人,2019)和LXMERT(Tan&Bansal,2019)一样。 这将损害所有三个下游任务的准确性。我们猜测原因是因为句子-图像关系预测的任务将引入不匹配的图像和字幕对作为否定示例。这种无与伦比的样本会妨碍其他任务的训练。 设置(d)在预训练期间添加纯文本语料库。与设置(b)相比,它提高了所有三个下游任务的性能,并且对VCR最为重要。这是因为与VQA和RefCOCO + 2中的VCR相比,VCR的任务涉及更复杂,更长的句子。通过进一步微调可生成视觉特征的Fast R-CNN的网络参数,我们获得了VL-BERTBASE的最终设置。整个网络的这种端到端培训对于所有下游任务都是有帮助的。

5 CONCLUSION结论

在本文中,我们开发了VL-BERT,这是一种用于视觉语言任务的新的可预训练的通用表示形式。VL-BERT并未使用临时的任务特定模块,而是采用了简单但功能强大的Transformer模型作为主干。它在大规模的概念字幕数据集以及纯文本语料库上进行了预训练。大量的经验分析表明,预训练程序可以更好地调整视觉语言线索,从而有利于下游任务。将来,我们希望寻求更好的预训练任务,这些任务可能会使更多的下游任务受益(例如,图片说明生成)。

A. APPENDIX附录

A.1 COMPARISON AMONG VL-BERT AND OTHER WORKS(VL-BERT与其他作品的比较)

【预训练视觉-语言模型文献阅读】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)_第8张图片
中文版
【预训练视觉-语言模型文献阅读】VL-BERT: PRE-TRAINING OF GENERIC VISUAL- LINGUISTIC REPRESENTATIONS(ICLR 2020)_第9张图片

表5比较了VL-BERT和其他并行工作,以进行预训练的通用视觉语言表示。

A.2 详细的实验设置

SGD在16个Tesla V100 GPU上进行了25万次迭代的预训练。在每个小批量中,抽取256个样本。其中128个样本来自Conceptual Captions的对,其余128个样本来自BooksCorpus和English Wikipedia的顺序标记(每个序列最多64个标记)。在SGD中,应用了Adam优化器(Kingma和Ba,2014年),以及基本学习速率为 2 × 1 0 − 5 2×10^{-5} 2×105,β1= 0.9,β2= 0.999,权重衰减为 1 0 − 4 10^{-4} 104,学习速率在前8,000个步骤中逐渐升温,并且学习速率呈线性下降。 VL-BERT中的所有参数和Fast R-CNN在预训练和微调阶段都接受了联合训练。文本语料库的视觉特征输入是所有单词共享的可学习的嵌入。在具有语言线索的掩码RoI分类任务中,所有掩码RoI中的像素均在图像中设置为零。添加覆盖整个图像的框作为RoI,并且不会被遮罩

对于VCR,在16个Tesla V100 GPU上进行微调20个纪元。在每个小批量中,采样了256个三元组的。在SGD中,进行了基本的小批量梯度下降,基本学习率为 5 × 1 0 − 3 5×10^{-3} 5×103,动量为0.9,重量衰减为 1 0 − 4 10^{-4} 104.学习速率从最初的学习速率开始的前1,000个步骤中线性地预热
0,并在第14和18个时代衰减0.1。

对于VQA,在16个Tesla V100 GPU上进行微调20个纪元。在每个小批量中,采样了256个三元组的。在SGD中,应用了Adam优化器,其基本学习率为 1 × 1 0 − 4 1×10^{-4} 1×104,β1= 0.9,β2= 0.999,权重衰减为 1 0 − 4 10^{-4} 104,学习率升高,在最初的2,000步中上升,学习率呈线性下降。

对于RefCOCO +,在16个Tesla V100 GPU上进行微调20个纪元。在每个小批量中,采样256对。在SGD中,应用了Adam优化器,其基本学习率为 1 × 1 0 − 4 1×10^{-4} 1×104,β1= 0.9,β2= 0.999,权重衰减为 1 0 − 4 10^{-4} 104,学习率上升,在最初的500个步骤中,学习率呈线性下降。

图3:在预先训练的VL-BERTBASE中可视化注意力图。 线强度表示以文本令牌为查询,图像RoI为键的注意力概率大小。对强度进行仿射缩放,以在每个图层的不同打印头上将最大值设置为1,将最小值设置为0。网络层和关注头的索引从0开始计数。

A.3 VL-BERT中可视化注意贴图

为了更好地了解VL-BERT从预训练中学到的知识,我们使用BertViz3可视化了预训练的VL-BERT的注意力图(无需对下游任务进行微调)(Vig,2019)。

图3显示了在COCO(Lin等人,2014; Chen等人,2015)val2017集上的一些可视化结果。我们可以看到各个关注头的关注模式不同。对于某些注意事项,文本令牌在关联图像RoI上的参与更多。在其他情况下,文本令牌统一参与所有RoI。它展示了VL-BERT聚合和对齐视觉语言内容的能力。

你可能感兴趣的:(VQA,计算机视觉,自然语言处理,深度学习,BERT,视觉理解)