背景

这是微软亚研院的工作,将纯文本设定的bert扩展到visual-linguistic场景,从预训练到fine-tune,可以用于多个下游任务。

摘要

作者提出了一个可预训练的用于学习视觉-语言任务通用表征的模型VL-BERT,VL-BERT以transformers为主干,可以同时接受V、L特征作为输入。预训练任务使用了包括visual-language数据集Conceptual Captions,纯文本语料数据集BooksCorpus&English Wikipedia。该预训练模型可以微调至大多数下游视觉-语言相关任务中,实验表明VL-BERT在多项任务中都取得了不错的结果。

动机

(1)在视觉或者文本领域,预训练得到通用表示已经在一系列任务上取得显著的成效。在视觉领域,有在ImageNet上预训练过的各类backbone;在自然语言处理任务中,有预训练模型Bert。但是,在V-L任务中经过预训练的通用表征模型仍然匮乏(大部分是任务特定的模型)。
(2)V-L中任务特定的模型的使用,使得它们(模型本身)很难从预训练任务中获得收益(因为预训练任务可能与目标任务大相径庭)。
所以,作者希望学习一个generic的表示,可以把视觉和语言的信息结合并且对齐

贡献

提出了VL-BERT,一个用于视觉-语言任务的可训练通用表征,Backbone使用Transformer,同时以视觉特征、语言特征作为输入(输入word或者RoI,对应的feature形式分别是wordPiece embedding和fast R-CNN提取的feature)。
作者还提到VL-BERT与同期相关的其他work如ViLBERT、LXMERT的差异:ViLBERT和LXMERT是两个单独的单模态网络+一个交互整合的网络;而本文的工作是一个统一的模型结构,能让image和文本更早更自由地交互。

架构

视觉理解论文系列(三)VL-BERT: PRE-TRAINING OF GENERIC VISUALLINGUISTIC REPRESENTATIONS
如图所示,VL-BERT模型以transformer为骨干,将原来的Bert输入拓展为文本+图像。融合的思路是
(1)图片没法与word token对齐,直接输入整个图片
如上图中红色框中的部分,将整个图像特征、word token、segment、position embedding加和输入。这样一来,做MLM任务是没什么问题了,不过怎么确定模型能准确提取图像信息呢?
(2)增加图像中的区域特征
由于整张图像的粒度远远大于文本token,一次性输入整个图像显然不利于图像和文本信息的交互。于是作者使用了目标检测工具提取图像中RoI,给它们新增[IMG]标识,输入到模型中(图中绿色框的部分)。为了不丢失全局信息,在[END]位置又加上了整张图像。这里假设图片的区域是没有顺序可言的,即position embedding是一样的。(不论是整个图像特征还是局部RoI,均使用pre-trained Fast R-CNN提取的2048-dim visual feature embedding输入到模型中)

其他:输入的token embedding类型包括三种,文本token、图像token以及特殊token如CLS/SEP等。
segment embedding:A,B,C用于区分不同的数据源。例如A和B可以区分输入的分别是第一个和第二个句子;C用于区分是来自图像中的RoI。
For example, for input format of <Question,Answer, Image>, A denotes Question, B denotes Answer, and C denotes Image.
For input format of <Caption, Image>, A denotes Caption, and C denotes Image.

自监督学习任务

Task 1
Masked Language Modeling with Visual Clues
根据文本+图像信息预测文本token,升级版的MLM。与之前有所不同的是,被mask的word除了利用没被mask的文本信息来预测外还可以根据视觉信息来辅助。比如图示的例子,“kitten drinking from [MASK]”,没有图像信息作为补充的话,很难确定mask处是“bowl”,“spoon” ,“bottle”中的哪个。
Task 2
Masked RoI Classification with Linguistic Clues
根据文本+图像信息预测RoIs的类别,相当于是图像版的’‘MLM’’。以目标检测工具提取的RoI标签作为ground truth,随机mask(像素置为0)掉一些RoI,由于模型同时还接收了整张图像作为输入,为避免信息泄露,整个图片对应的部分也被mask处理,确保被mask的RoI的category是通过linguistic clue预测出来的。

下游任务

模型通过接收<text, image>输入,通过自监督任务学习到general跨模态表示后,可以很自然的应用很多跨模态的任务中。延续原始BERT的设定,[CLS]最后输出的feature可以预测文本和图片的关系(sentence-image-relation),被mask的text token或者RoI的输出用来做word-level或者RoI-level的预测。

视觉常识推理VCR

视觉理解论文系列(三)VL-BERT: PRE-TRAINING OF GENERIC VISUALLINGUISTIC REPRESENTATIONS
Q->A,QA->R两个任务都根据最后一层[CLS]的输出预测该候选答案(A/R)是否正确。在测试阶段,直接选择预测分数最高的选项作为答案。
实验结果
视觉理解论文系列(三)VL-BERT: PRE-TRAINING OF GENERIC VISUALLINGUISTIC REPRESENTATIONS

视觉问答VQA

文章follow了一个专门针对VQA任务设计的模型BUTD实验设定,把VQA任务转化为一个有3k+候选答案的多分类问题,根据被masked Answer token最后一层的输出预测。
视觉理解论文系列(三)VL-BERT: PRE-TRAINING OF GENERIC VISUALLINGUISTIC REPRESENTATIONS
实验结果
视觉理解论文系列(三)VL-BERT: PRE-TRAINING OF GENERIC VISUALLINGUISTIC REPRESENTATIONS

Referenceing Expression Comprehension(visual grounding)

这个任务是根据一句自然语言的描述,定位图片中的具体区域,即判断这句描述讲的是图片的哪个位置。 因为我们已经对图片划分出了RoIs,所以只需要将每个RoIs最后的输出,接一个Regin classification(二分类),判断Query是否是描述这个区域即可。测试阶段,把正确答案概率最大的RoI input作为预测结果。
视觉理解论文系列(三)VL-BERT: PRE-TRAINING OF GENERIC VISUALLINGUISTIC REPRESENTATIONS
视觉理解论文系列(三)VL-BERT: PRE-TRAINING OF GENERIC VISUALLINGUISTIC REPRESENTATIONS

消融研究

视觉理解论文系列(三)VL-BERT: PRE-TRAINING OF GENERIC VISUALLINGUISTIC REPRESENTATIONS
这里没有做Sentence-Image关系预测这一预训练任务,作者解释到加入Sentence-Image Relation Prediction任务进行预训练会导致下游任务效果下降,原因分析是由于数据质量问题,sentence-image对应信号噪声较大。但是在ViLBERT和LXMERT中该任务是正向收益的,这里值得进一步研究和讨论。

参考资料

基于BERT的多模态学习——VL-BERT篇

相关文章: