16

BERT在多模态领域中的应用

 4 years ago
source link: https://www.jiqizhixin.com/articles/2020-03-03-3
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

BERT (Bidrectional Encoder Representations from Transformers) 自提出后,凭借着 Transformer 强大的特征学习能力以及通过掩码语言模型实现的双向编码,其大幅地提高了各项 NLP 任务的基准表现。

鉴于其强大的学习能力,2019 年开始逐渐被用到多模态领域。其在多模态领域的应用主要分为了两个流派:一个是 单流模型 ,在单流模型中文本信息和视觉信息在一开始便进行了融合;另一个是 双流模型 ,在双流模型中文本信息和视觉信息一开始先经过两个独立的编码模块,然后再通过互相的注意力机制来实现不同模态信息的融合。

本文主要介绍和对比五个在图片与文本交互领域应用的 BERT 模型:VisualBert, Unicoder-VL, VL-Bert, ViLBERT, LXMERT。虽然 VideoBert 是第一个将 Bert 应用到多模态的模型,然而其考虑的是视频流和文本因此不在本文的介绍当中。 

以下内容分为两部分,第一部分介绍单流模型,第二部分介绍双流模型。

单流模型

1. VisualBERT  

zEzmqeF.jpg!web

论文标题:VisualBERT: A Simple and Performant Baseline for Vision and Language

论文链接:https://arxiv.org/abs/1908.03557

源码链接:https://github.com/uclanlp/visualbert

和 BERT 类似,VisualBERT 在结构上采用了堆叠的 Transformer。其在一开始就将文字和图片信息通过 Transformer 的自注意力机制进行对齐融合。

其文字部分的输入为原始的 BERT 文字输入(词向量+位置编码+片段编码)加上 Token/Image 编码来表示其是图片或文字,而图片部分的输入则是采用通过 Faster-RCNN 提取的图片区域特征加上相应的位置编码,片段编码和 Token/Image 编码(如下图右侧所示)。

26vauuN.jpg!web

VisualBERT 遵循 BERT 一样的流程,先进行预训练然后在相应的任务上进行微调,其采用了两个预训练任务:第一个是和 BERT 一样的语言掩码,第二个则是句子-图像预测 (即判断输入的句子是否为相应图片的描述)。

作者在 VQA,VCR,NLVR2 和 Flickr30k 四个视觉语言任务上进行了测试,结果表明 VisualBERT 在四个任务中都达到了最好的表现或和已知最好表现相近的表现。进一步的消融实验表明 VisualBERT 可以有效地学习到语言和相应图像区域的联系,同时也具有一定的句法敏感性。

2. Unicoder-VL

yeQbYbn.jpg!web

论文标题:Unicoder-VL: A Universal Encoder for Vision and Language by Cross-modal Pre-training

论文链接:https://arxiv.org/abs/1908.06066

该模型与(1)中的 VisualBERT 极其相似,在结构上同样采用堆叠的 Transformer,并且同样在一开始就对图像和语言信息进行对齐和融合。

其与 VisualBERT 最大的不同在于改模型在输入端对图像的处理。其文字部分的输入与(1)中相似。在图像的输入上,其首先通过 Faster-RCNN 提取区域图像特征,然后将该特征与区域图像在图像中的位置编码进行拼接再经过一个连接层投影到与语言输入维度相同的空间(如下图所示)。

Rja6ja3.jpg!web

同样的其也遵循先预训练后微调的模式。该模型在三个任务中进行预训练,前两个与(1)相同为语言掩码和图像语言匹配任务,第三个为图像标签预测,即预测区域图像所物体类别。

作者在 MSCOO 和 Flicker30K 上分别进行测试,该模型取得了最佳效果。

3. VL-BERT

N3Ajm2f.jpg!web

论文标题:VL-BERT: Pre-training of Generic Visual-Linguistic Representations

论文链接:https://arxiv.org/abs/1908.08530

源码链接:https://github.com/jackroos/VL-BERT

与上述两个模型相同,VL-BERT 在结构上依旧直接采用堆叠的 Transformer。如下图所示其在输入端与上述两个模型略有不同。

QvEFZjQ.jpg!web

首先图像端的输入由以下几个编码的加和构成:a. Faster-RCNN所提取的区域图像特征和该区域在原图像中位置信息的拼;b. 位置编码;c. 片段编码;d. [IMG] 编码。

在文字端该模型的输入为正常 BERT 文字输入和整个图像特征的加和。同第二个模型相似,该模型分别在三个任务上进行预训练分别为:语言掩码、图像标签分类和图像语言匹配任务。

作者最后在 VCR, VQA, REC (Referring expression comprehension) 三个任务上测试模型,该模型都取得了最佳或者与最佳相当的表现。

双流模型

1. ViLBERT 

eqiAJ3v.jpg!web

论文标题:ViLBERT: Pretraining Task-Agnostic Visiolinguistic Representations for Vision-and-Language Tasks

论文链接:https://arxiv.org/abs/1908.02265

源码链接:https://github.com/facebookresearch/vilbert-multi-task

基于双流的 ViLBERT,在一开始并未直接对语言信息和图片信息进行融合,而是先各自经过 Transformer 的编码器进行编码。分流设计是基于这样一个假设,语言的理解本身比图像复杂,而且图像的输入本身就是经过 Faster-RCNN 提取的较高层次的特征,因此两者所需要的编码深度应该是不一样的。

当两种模态各自进行编码后,其输出会经过一个共注意力机制模块(如下图右侧所示)。该模块也是基于 Transformer 的结构,只是在自注意力机制中每个模块都用自己的 Query 去和另一模块的 Value 和 Key 计算注意力,由此来融合不同模块间的信息。

fa6NJrN.png!web

该模型在两个任务上进行了预训练,第一个任务为掩码任务,其中语言端和 BERT 的语言掩码任务一样,在图像端任务的目标则是当区域图像被掩盖后模型对其输出的分类分布能够尽可能与用来提取区域特征的模型(这里是 Faster-RCNN)的输出分布一致因此这里作者使用 KL 散度作为目标函数;第二个任务则是常规的语言图像匹配任务。

作者分别在 VQA, VCR, GRE, IR, ZSIR 等五个任务中最模型进行测试。该模型在五个任务中都取得了当前最好或与最好相当的表现。其后作者又对预训练过程进行分析发现与训练过程中模型已经能够学习到语言与图像在语义上的对齐关系。

2. LXMERT

aeueUnb.png!web

论文标题:LXMERT: Learning Cross-Modality Encoder Representations from Transformers

论文链接:https://arxiv.org/abs/1908.07490

源码链接:https://github.com/airsplay/lxmert

该模型与 ViLBERT 一样采用了双流模型。如下图所示,语言与图像在一开始先各自经过独立的编码层进行编码,然后再经过一个模态交互编码层进行语言与图像在语义上的对齐和融合。

在交互编码层中,该模型同样的也是使用共注意力机制,即自注意力中的 query 来自一个模态,而 key 和 value 来自另一个模态。该编码层过后,图像与语言各自又经过一层自注意力层进一步提取高层特征。

该模型的输出有三个部分,一个语言端的输出,一个图像端的输出,一个多模态的输出。该模型在与训练时使用了四个任务:语言掩码任务,图像掩码任务(该任务有两部分,第一部分为预测被掩图像物体类别,第二部分为 ROI 特征回归任务该任务使用 L2损失函数,语言图像匹配任务和图像问答任务。

7BJJj2F.jpg!web

最后作者分别在 VQA,GQA 和 NLVR 任务上测试该模型,模型在这些任务上都取得了最好的表现。作者同时又做了一些对比实验验证了预训练有效的提高了模型在最后测试中的表现。

总结

这五篇论文都尝试把 BERT 的框架迁移到了多模态领域,并类似于 Bert 那样想在多模态领域建立一个可通用的特征学习模型。多个实验表明像 Bert 这样的架构在多模态领域依旧具有很强的学习能力。

然而,究竟是单流更佳还是双流更佳还不是很明确,虽然主张单流的论文里有作者与双流模型进行比较得出单流更好的结论,但是在双流的论文里同样有与单流的比较而结果是双流更好。关于单双流究竟哪个更好或者是与特定任务相关,看来还需要未来更严谨的对比实验来进一步进行验证。

Reference

[1] VL-BERT: Pre-training of generic visual linguistic representations. Weijie Su, Xizhou Zhu, Yue Cao, Bin Li, Lewei Lu, Furu Wei, Jifeng Dai 

[2] Unicoder-VL: A universal encoder for vision and language by cross-modal pre-training. Gen Li, Nan Duan, Yuejian Fang, Ming Gong, Daxin Jiang, Ming Zhou 

[3] VisualBERT: A simple and performant baseline for vision and language. Liunian Harold Li, Mark Yatskar, Da Yin, Cho-Jui Hsieh, Kai-Wei Change

[4] LXMERT: Learning cross-modality encoder representations from transformers. Hao Tan, Mohit Bansal 

[5] ViLBERT: Pretraining task-agnostic visiolinguistic representations for vision-and-language tasks. Jiasen Lu, Dhruv Batra, Devi Parikh, Stefan Lee


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK