星标/置顶小屋,带你解锁

最萌最前沿的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.pdf

  • ViLLA
    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

BERT跨模态之后:占领了视觉常识推理任务榜单TOP 2!相关推荐

  1. LXMERT:从Transformers学习跨模态编码器表示LXMERT: Learning Cross-Modality Encoder Representations from Transfors

    摘    要 视觉和语言推理需要理解视觉概念.语言语义,以及最重要的是,这两种模式之间的对齐和关系.因此,原论文提出了LXMERT(从Transforms学习跨模态编码器表示)框架来学习这些视觉和语言 ...

  2. 机器推理文本+视觉,跨模态预训练新进展

    作者 | 李根.段楠.周明 来源 | 微软研究院AI头条(ID:MSRAsia) [导读]机器推理要求利用已有的知识和推断技术对未见过的输入信息作出判断,在自然语言处理领域中非常重要.本文将介绍微软亚 ...

  3. Cross-modal Pretraining in BERT(跨模态预训练)

    BERT以及BERT后时代在NLP各项任务上都是强势刷榜,多模态领域也不遑多让-仅在2019 年就有8+篇的跨模态预训练的论文挂到了arxiv上-上图是多篇跨模态论文中比较稍迟的VL-BERT论文中的 ...

  4. 【NLP】吊打BERT、GPT、DALL·E,跨模态榜单新霸主诞生!

    文 | 赵一静 最近,三个重量级榜单,视觉推理VCR.文本推理ANLI.视觉问答VQA同时被统一模态模型UNIMO霸榜.一个模型统一了视觉和文本两大主阵地,重塑了小编的认知和期望.如此全能,堪称是AI ...

  5. 吊打BERT、GPT、DALL·E,跨模态榜单新霸主诞生!

    文 | 赵一静 最近,三个重量级榜单,视觉推理VCR.文本推理ANLI.视觉问答VQA同时被统一模态模型UNIMO霸榜.一个模型统一了视觉和文本两大主阵地,重塑了小编的认知和期望.如此全能,堪称是AI ...

  6. 论文浅尝 - IJCAI2020 | Mucko:基于事实的多层跨模态知识推理视觉问答

    论文笔记整理:陈卓,浙江大学计算机科学与技术系,博士研究生. 论文链接:https://arxiv.org/pdf/2006.09073 代码:https://github.com/astro-zih ...

  7. 清华刘知远提出CPT:基于预训练视觉-语言模型的跨模态Prompt-Tuning

    每天给你送来NLP技术干货! 论文:CPT:Colorful Prompt Tuning for Pre-Training Vision-Language Models 状态:Work in Prog ...

  8. 论文浅尝 | 面向视觉常识推理的层次语义增强方向图网络

    论文笔记整理:刘克欣,天津大学硕士 链接:https://dl.acm.org/doi/abs/10.1145/3475731.3484957 动机 视觉常识推理(VCR)任务旨在促进认知水平相关推理 ...

  9. EMNLP 2021-多模态Transformer真的多模态了吗?论多模态Transformer对跨模态的影响

    关注公众号,发现CV技术之美 ▊ 写在前面 预训练的视觉语言BERT的目标是学习结合两种模态的表征.在本文中,作者提出了一种基于跨模态输入消融诊断方法(cross-modal input ablati ...

最新文章

  1. ASP.Net调试过程中弹出的浏览器端口和asp.net development server的端口不一样
  2. [转]MSDN - 在客户端脚本中为 UpdateProgress 控件编程
  3. sping中@import
  4. #define宏定义形式的函数导致的bug
  5. 腐蚀函数cvErode 和 膨胀函数cvDilate
  6. 【渝粤题库】陕西师范大学164205 ERP原理及应用 作业(专升本)
  7. PHP超全局变量$_SERVER
  8. C++ 类和对象成员特性
  9. java set集合转数组_java set转list,数组与list的转换
  10. 【浏览器】浏览器模式与文档模式区别
  11. ajax每次只加载3张图片,使用加载图片解决在Ajax数据加载中页面出现短暂空白的问题(推荐)...
  12. 计算机excel图表y轴怎么改,excel图表横坐标轴修改?excel图表里,请问怎么设定X,Y轴...
  13. 2022年11月编程语言流行度排名
  14. 网站安全性之js注入
  15. 微信开发者工具模拟器中图片无法显示
  16. python 爬取拉钩数据
  17. Cocos Creator - 制作精灵帧动画
  18. 主引导记录(MBR)、硬盘分区表(DPT)、扩展引导记录(EBR)
  19. [XDOJ] ISBN号码
  20. 计算机cpu风扇的结构,“电脑专家”教你如何拆cpu风扇【图文教程】

热门文章

  1. iOS中常见的6种传值方式,UIPageViewController
  2. TCP中间件_个人方案
  3. android listview 异步加载图片并防止错位
  4. Eclipse自动补全功能轻松设置 || 不需要修改编辑任何文件
  5. Google Maps API 简易教程(四)
  6. 邻接表的两种实现(链表和数组模拟)
  7. 单例模式(Java)
  8. 图解丨在嵌入式设备上实现HTTP服务器
  9. [芦半山]Binder的异常机制
  10. mysql online ddl 5.6_MySQL 5.6的Online DDL功能测试