星标/置顶小屋,带你解锁
最萌最前沿的NLP、搜索与推荐技术
文 | 小鹿鹿lulu
编 | YY
前言
由于 BERT-like 模型在 NLP 领域上的成功,研究者们开始尝试将其应用到更为复杂的 多模态 任务上。要求模型除文本数据以外,还要接收其他模态的数据(比如图像、声音等),在理解和关联多模态数据的基础上,完成更加复杂也更贴近实际的跨模态任务。
而 视觉常识推理 (Visual Commonsense Reasoning,VCR)[1]就是一个非常具有挑战性的多模态任务,需要在理解文本的基础上结合图片信息,基于常识进行推理。给定一张图片、图中一系列有标签的 bounding box,VCR 实际上是两个子任务:{Q->A} 根据问题选择答案;{QA->R} 根据问题和答案进行推理,解释为什么选择该答案。
例如,图片中三个朋友聚餐,一名服务员在上菜。Q: 为什么 person 4 指着 person 1?A: 为了告诉 person 3,person 1 点了烤薄饼。R: 之所以这么认为是因为 person 3 是服务员正在上菜,基于常识,服务员通常不知道每道菜是谁点的。
而 VCR 就是由十几万这样的“图片-问答”对组成的数据集,主要考察模型对跨模态的语义理解和常识推理能力。由于该任务非常具有挑战性,所以引来了很多的学术界工业界的大佬前来刷榜参赛[2],包括百度、微软、谷歌、Facebook、UCLA、佐治亚理工学院等等。现在榜单上 TOP2 模型分别为百度 ERNIE 团队的 ERNIE-ViL-large 和微软 D365 AI 团队的 ViLLA-large。下面就来分别看看这两个模型是如何登顶榜单,利用 BERT 跨界解决多模态问题~
论文链接:
ERNIE-ViL
https://arxiv.org/pdf/2006.16934.pdfViLLA
https://arxiv.org/pdf/2006.06195.pdf
Arxiv 访问慢的小伙伴也可以在【夕小瑶的卖萌屋】订阅号后台回复关键词【0831】下载论文 PDF~
结合知识的 ERNIE-ViL
ERNIE-ViL 和其他 BERT 多模态模型类似,都是在 BERT 的基础上将输入类型和预训练任务从单一模态(text)扩展到多模态(text+video/image)。
输入:模型除了接收文本 token embedding 以外,还要接收 image embedding。利用训练好的目标检测工具提取图像中感兴趣的核心部分 RoI(region-of-interest),将 well-pretrained 图像分类模型送入最后一层多分类前的 pooling feature 作为该 RoI 的 region feature,并结合 location feature, ,作为 image embedding。其中, 和 分别为 RoI 左下角和右上角的坐标, 为宽度, 为高度。
预训练任务:将 BERT 经典的 MLM 和 NSP 预训练任务扩展到多模态场景。
随机 mask text token(sub-words)和 image token(RoIs),并结合没被 mask 的 text 和 image 预测被 mask 的 token。
NSP 任务不再是判断两个文本句子是否连续,而是预测 text 和 image 是否 match。
更多关于 BERT 多模态的扩展细节可以阅读历史推文VL-BERT和videoBERT。
在这个经典的架构下,ERNIE-ViL 指出随机 mask sub-words 或者 RoIs 无法学习到细粒度的文本和图像的语义信息,比如理解文本和图像中涉及的对象(objects)、对象的属性(attributes)和对象间的关系(relationships)。所以,ERNIE-ViL 利用场景图(Scene Graph)加入结构化的知识,不再随机 mask 单独的 sub-words,而是 mask 更有信息的对象、属性和关系。 这一举措将 MLM 任务分化成了对象预测、属性预测、和关系预测,分而治之。
如上图所示,输入是图像和对应的文本“A woman in a blue dress is putting her little white cat on top of a brown car in front of her house”。对文本信息,利用已有的 Scene Graph Parser 工具解析出 Scene Graph Knowledge,其中绿色方框代表示对象、蓝色方框表示对象属性、橙色方框表示对象关系,将 Scene Graph Knowledge 中的元素随机 mask,结合同样被 mask 的 RoIs,预测被 mask 的 RoIs 和对象、对象属性和对象关系。
结合知识的 ERNIE-ViL 模型,不仅登顶 VCR,超过原来的 SOTA 3.7%,还在视觉问答任务(Visual Question Answering,VQA)、图像检索(Image Retrieval)和文本检索(Text Retrieval)上都有显著的提升。
对抗训练的 ViLLA
不同于 ERNIE-ViL 在 pre-train task 上下功夫,ViLLA(Vi-and-Language Large-scale Adversarial training)则是利用对抗训练(adverseral training)优化训练方法提高模型的泛化能力和鲁棒性。
在经典的两阶段训练(pre-training and fine-tuning)中,虽然 pre-training 阶段有大量的数据,但是在下游任务的 fine-tuning 中却通常只有少量的 labeled data,强有力的 fine-tuning 往往会导致模型在下游任务上迅速过拟合。 而对抗训练则是一种通过对样本增加扰动生成更混淆的对抗样本,来提高模型鲁棒性的非常有效的方法之一。那么对抗训练是否适用于 BERT-like 多模态模型的训练呢?
由于多模态模型的特殊性,需要同时接收离散的 text 和连续的 visual 两种类型的输入。所以和其他常见的对抗训练方法在 image pixel 或者 sub-word token level 上增加扰动不同,ViLLA 尝试对图像和文本的 feature embedding 增加扰动 。 并且模型一次只会对其中一种模态增加扰动,假设扰动后的 label 保持不变。
ViLLA 在 pre-training 和 fine-tuning 两个阶段都加入对抗训练,损失函数由三个部分组成:
(向右滑动查看完整公式)
其中, 为在不变的 clean data 上的 cross-entropy loss, 为 label-preserving 对抗训练损失, 为对抗正则项(adversairal regularization)。
(向右滑动查看完整公式)
在 min-max 的过程中,内部的 max 是为了找到范围内最佳扰动或者最强攻击,外部的 min 则是最小化最强攻击情况下的损失。 和 定义最强攻击的标准不同, 关注于能最大程度改变预测值与真实值之间误差的扰动, 则关注于能最让预测模型的分布与真实值分布区别最大的扰动。
ViLLA 使用了"Free" AT Strategy 来学习模型参数。"Free" AT Strategy 是综合训练效率和攻击精度的一种经典的对抗训练方法,属于对抗训练范畴这里就不详细介绍啦~感兴趣的同学可以阅读论文[3]了解更多细节~
将上述对抗训练方法和当时的 SOTA 模型 UNITER[4]就得到了 ViLLA 模型。在 VCR 任务上,ViLLA 相较于 UNITER-large 从 62.8%提升到 65.7%,2.9%的充分说明了对抗训练的有效性~
写在最后
ERINE-ViL 结合场景图加入知识让模型学习到更细粒度的跨模态的语义信息;ViLLA 利用对抗训练增加模型的鲁棒性,都是 BERT 在多模态领域中非常有意思的尝试。那么,对抗训练+ERINE-ViL 是否还可以进一步提升呢?????
多模态领域的研究还是非常可期的,期待更多突破性的研究工作~ 对多模态感兴趣的同学,可以扫描下方二维码加入 卖萌屋多模态讨论群,一起交流学习更多多模态领域的知识~
若二维码失效,可在微信公众号后台回复关键词【入群】获取进群入口。
参考文献
[1] VCR:
https://arxiv.org/abs/1811.10830
[2] VCR Leaderboard:
https://visualcommonsense.com/leaderboard/
[3] Free AT:
https://arxiv.org/pdf/1904.12843.pdf
[4] UNITER:
https://arxiv.org/abs/1909.11740