VisualBERT:一个简单有效的视觉语言基线.
0. TL; DR
VisualBERT是一种简单而灵活的框架,用于建模广泛的视觉与语言任务。它基于Transformer架构,通过自注意力机制隐式对齐输入文本和图像区域。VisualBERT通过在图像字幕数据上进行预训练,学习文本和视觉之间的关联,并在视觉问答(VQA)、视觉常识推理(VCR)、自然语言视觉推理(NLVR2)和区域到短语对齐(Flickr30K)等任务上取得了与现有最先进的模型相当或更好的性能。此外,VisualBERT能够无需显式监督即可将语言元素与图像区域对齐,并对语法关系敏感。
1. 背景介绍
结合视觉和自然语言的任务是评估视觉信息处理系统推理能力的测试基准。这些任务不仅要求系统识别图像中存在的目标,还需要理解图像的详细语义,包括目标、属性、部分、空间关系、动作和意图,以及这些概念如何在自然语言中被提及和对齐。
近年来,视觉与语言任务(如图像字幕生成、视觉问答和视觉推理)受到了广泛关注,各种模型被开发出来以解决这些问题。这些模型通常包括文本编码器、图像特征提取器、多模态融合模块(通常使用注意力机制)和答案分类器。然而,这些模型大多针对特定任务设计,而VisualBERT则是一个通用模型,可以轻松适应新任务或集成到其他特定任务的模型中。
2. VisualBERT 模型
VisualBERT的核心是一个基于Transformer的模型,它通过自注意力机制隐式对齐输入文本和图像区域。VisualBERT在BERT的基础上进行了扩展,以处理图像和文本的联合输入。
具体来说,除了BERT的文本嵌入外,VisualBERT引入了一组视觉嵌入用于表示图像。每个视觉嵌入对应于图像中的一个边界框区域,由目标检测器提取。视觉嵌入由以下三部分组成:
- token embedding:视觉特征表示,由卷积神经网络计算。
- segment embedding:段嵌入,表示这是一个图像嵌入而不是文本嵌入。
- position embedding:位置嵌入,当输入中提供了文本和图像区域之间的对齐信息时使用。
这些视觉嵌入与文本嵌入一起输入到多层Transformer中,允许模型隐式发现输入之间的有用对齐关系,并构建新的联合表示。
VisualBERT的训练过程包括三个阶段:
- 任务无关预训练:在COCO数据集上进行预训练,使用两种视觉引导的语言模型目标:
- 掩码语言建模:随机掩盖部分文本输入,并要求模型根据剩余文本和视觉上下文预测被掩盖的单词。
- 句子-图像预测:给定一个图像和两个句子(一个描述该图像,另一个有50%的概率是随机抽取的),训练模型判断这两个句子是否匹配。
- 任务特定预训练:在特定任务的数据上进行预训练,使用掩码语言建模目标。这一步允许模型适应新的目标域。
- 微调:引入特定任务的输入、输出和目标函数,对Transformer进行微调,以最大化任务性能。
3. 实验分析
VisualBERT在以下四个视觉与语言任务上进行了评估:
- 视觉问答(VQA 2.0):给定图像和问题,任务是生成准确的答案。
- 视觉常识推理(VCR):给定图像和问题,任务是选择正确的答案和理由。
- 自然语言视觉推理(NLVR2):判断自然语言描述是否正确地描述了一对图像。
- 区域到短语对齐(Flickr30K):给定句子中的短语,任务是选择图像中对应的边界框。
主要实验结果:
- VisualBERT在VQA 2.0数据集上取得了71.00%的准确率,优于或与现有的最佳方法相当,同时模型结构更为简单。
- 在VCR任务中,VisualBERT在两个子任务(Q→A和QA→R)上均取得了优异的性能,分别达到了71.6%和52.4%的准确率,显著优于基于BERT的模型。
- 在NLVR2任务中,VisualBERT取得了67.3%的准确率,显著优于之前的最佳模型MaxEnt(54.1%),证明了预训练在跨领域任务中的有效性。
- 在Flickr30K任务中,VisualBERT在区域到短语对齐任务上取得了86.51%的准确率,优于当前最佳模型BAN(86.35%)。
VisualBERT能够通过注意力机制隐式地将语言元素与图像区域对齐,并且对语法关系敏感。例如,模型能够从动词到其对应的图像区域进行对齐,这表明VisualBERT能够捕捉到语言和视觉之间的复杂关系。