内容简介:BERT (Bidrectional Encoder Representations from Transformers) 自提出后,凭借着 Transformer 强大的特征学习能力以及通过掩码语言模型实现的双向编码,其大幅地提高了各项 NLP 任务的基准表现。鉴于其强大的学习能力,2019 年开始逐渐被用到多模态领域。其在多模态领域的应用主要分为了两个流派:一个是本文主要介绍和对比五个在图片与文本交互领域应用的 BERT 模型:VisualBert, Unicoder-VL, VL-Bert, ViLB
BERT (Bidrectional Encoder Representations from Transformers) 自提出后,凭借着 Transformer 强大的特征学习能力以及通过掩码语言模型实现的双向编码,其大幅地提高了各项 NLP 任务的基准表现。
鉴于其强大的学习能力,2019 年开始逐渐被用到多模态领域。其在多模态领域的应用主要分为了两个流派:一个是 单流模型 ,在单流模型中文本信息和视觉信息在一开始便进行了融合;另一个是 双流模型 ,在双流模型中文本信息和视觉信息一开始先经过两个独立的编码模块,然后再通过互相的注意力机制来实现不同模态信息的融合。
本文主要介绍和对比五个在图片与文本交互领域应用的 BERT 模型:VisualBert, Unicoder-VL, VL-Bert, ViLBERT, LXMERT。虽然 VideoBert 是第一个将 Bert 应用到多模态的模型,然而其考虑的是视频流和文本因此不在本文的介绍当中。
以下内容分为两部分,第一部分介绍单流模型,第二部分介绍双流模型。
单流模型
1. VisualBERT
论文标题: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 编码(如下图右侧所示)。
VisualBERT 遵循 BERT 一样的流程,先进行预训练然后在相应的任务上进行微调,其采用了两个预训练任务:第一个是和 BERT 一样的语言掩码,第二个则是句子-图像预测 (即判断输入的句子是否为相应图片的描述)。
作者在 VQA,VCR,NLVR2 和 Flickr30k 四个视觉语言任务上进行了测试,结果表明 VisualBERT 在四个任务中都达到了最好的表现或和已知最好表现相近的表现。进一步的消融实验表明 VisualBERT 可以有效地学习到语言和相应图像区域的联系,同时也具有一定的句法敏感性。
2. Unicoder-VL
论文标题: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 提取区域图像特征,然后将该特征与区域图像在图像中的位置编码进行拼接再经过一个连接层投影到与语言输入维度相同的空间(如下图所示)。
同样的其也遵循先预训练后微调的模式。该模型在三个任务中进行预训练,前两个与(1)相同为语言掩码和图像语言匹配任务,第三个为图像标签预测,即预测区域图像所物体类别。
作者在 MSCOO 和 Flicker30K 上分别进行测试,该模型取得了最佳效果。
3. VL-BERT
论文标题:VL-BERT: Pre-training of Generic Visual-Linguistic Representations
论文链接:https://arxiv.org/abs/1908.08530
源码链接:https://github.com/jackroos/VL-BERT
与上述两个模型相同,VL-BERT 在结构上依旧直接采用堆叠的 Transformer。如下图所示其在输入端与上述两个模型略有不同。
首先图像端的输入由以下几个编码的加和构成:a. Faster-RCNN所提取的区域图像特征和该区域在原图像中位置信息的拼;b. 位置编码;c. 片段编码;d. [IMG] 编码。
在文字端该模型的输入为正常 BERT 文字输入和整个图像特征的加和。同第二个模型相似,该模型分别在三个任务上进行预训练分别为:语言掩码、图像标签分类和图像语言匹配任务。
作者最后在 VCR, VQA, REC (Referring expression comprehension) 三个任务上测试模型,该模型都取得了最佳或者与最佳相当的表现。
双流模型
1. ViLBERT
论文标题: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 计算注意力,由此来融合不同模块间的信息。
该模型在两个任务上进行了预训练,第一个任务为掩码任务,其中语言端和 BERT 的语言掩码任务一样,在图像端任务的目标则是当区域图像被掩盖后模型对其输出的分类分布能够尽可能与用来提取区域特征的模型(这里是 Faster-RCNN)的输出分布一致因此这里作者使用 KL 散度作为目标函数;第二个任务则是常规的语言图像匹配任务。
作者分别在 VQA, VCR, GRE, IR, ZSIR 等五个任务中最模型进行测试。该模型在五个任务中都取得了当前最好或与最好相当的表现。其后作者又对预训练过程进行分析发现与训练过程中模型已经能够学习到语言与图像在语义上的对齐关系。
2. LXMERT
论文标题: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损失函数,语言图像匹配任务和图像问答任务。
最后作者分别在 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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 如何使用JavaScript构建模态框插件
- 自定义带动画效果的模态框
- Angluar-模态视图构建简析(A)
- React 30 秒速学:制作模态框组件
- 使用React手写一个对话框或模态框
- 通用的图像-文本语言表征学习:多模态预训练模型 UNITER
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
疯狂Java讲义(第4版)
李刚 / 电子工业出版社 / 2018-1 / 109
《疯狂Java讲义(第4版)》是《疯狂Java讲义》的第4版,第4版保持了前3版系统、全面、讲解浅显、细致的特性,全面新增介绍了Java 9的新特性。 《疯狂Java讲义(第4版)》深入介绍了Java编程的相关方面,《疯狂Java讲义(第4版)》内容覆盖了Java的基本语法结构、Java的面向对象特征、Java集合框架体系、Java泛型、异常处理、Java GUI编程、JDBC数据库编程、J......一起来看看 《疯狂Java讲义(第4版)》 这本书的介绍吧!