VL-BERT:通用视觉-语言表示的预训练.

0. TL; DR

VL-BERT(Visual-Linguistic BERT)是一种用于视觉与语言任务的预训练通用表示模型。它基于Transformer架构,能够同时处理视觉和语言输入,并通过大规模数据集(如Conceptual Captions)进行预训练。VL-BERT在多个视觉与语言任务(如视觉常识推理、视觉问答和指代表达理解)上取得了最先进的性能,并在视觉常识推理(VCR)基准测试中获得了单模型第一名的成绩。

1. 背景介绍

深度网络在计算机视觉和自然语言处理领域取得了巨大成功,其中预训练通用特征表示是关键因素之一。例如,ImageNet预训练的卷积神经网络(CNN)在图像识别任务中表现出色,而BERT等基于Transformer的模型在自然语言处理任务中也取得了优异成绩。然而,对于视觉与语言交叉领域的任务(如图像字幕生成、视觉问答和视觉常识推理),缺乏类似的预训练通用特征表示。

以往的方法通常是将针对图像识别和自然语言处理分别预训练的基础网络以任务特定的方式组合起来,然后直接对特定目标任务进行微调。这种方法可能会导致在目标任务数据稀缺时出现过拟合问题,且由于任务特定模型设计,难以从预训练中受益。因此,研究视觉与语言任务的特征设计和预训练具有重要意义。

2. VL-BERT 模型

VL-BERT扩展了BERT模型,使其能够同时处理图像和文本输入。VL-BERT的核心是一个多模态Transformer注意力模块,输入包括视觉和语言嵌入特征。每个输入元素可以是输入句子中的一个单词,也可以是输入图像中的一个感兴趣区域(RoI)。VL-BERT的设计目标是适应大多数视觉与语言下游任务。

VL-BERT的输入包括视觉和语言token。每个token的嵌入特征是四种嵌入的总和:标记嵌入、视觉特征嵌入、段嵌入和序列位置嵌入。

VL-BERT通过两个预训练任务学习视觉与语言的联合表示:

VL-BERT在大规模的视觉与语言数据集(如Conceptual Captions)和纯文本数据集(如BooksCorpus和英文维基百科)上进行预训练。预训练的目标是通过预测随机掩盖的单词或RoI来优化模型,从而更好地对齐视觉与语言线索。预训练过程包括以下步骤:

VL-BERT可以轻松地微调以适应各种下游任务。微调过程包括以下步骤:

3. 实验分析

VL-BERTConceptual Captions数据集和BooksCorpus & 英文维基百科数据集上进行预训练。预训练过程中,VL-BERT的参数初始化为BERT模型的参数,新添加的参数随机初始化。视觉内容嵌入由Fast R-CNN + ResNet-101生成,初始化为在Visual Genome上预训练的参数。

实验在三个下游任务上进行微调:

主要实验结果: