论文标题:

VD-BERT: A Unified Vision and Dialog Transformer with BERT

论文作者:

Yue Wang, Shafiq Joty, Michael R. Lyu, Irwin King, Caiming Xiong, Steven C.H. Hoi

论文链接:

https://arxiv.org/abs/2004.13278


视觉对话(Visual Dialog)指的是给定一张图、它的标题和问题,我们需要给出这个问题的答案,在VD中,对话往往有多轮,而后面的问题会和前面的对话相关。

本文提出统一的视觉对话VD-BERT模型,联合编码视觉信息和文本信息,既适用于判别式方法,也适用于生成式方法。VD-BERT在视觉对话数据集VisDial实现了单个模型和集成模型上的最佳效果

视觉对话

人类感知世界是“多模态”的而非“单模态”,学习知识也是在多模态的条件下进行的。

在所有的感知模态中,视觉和文本(语言),是其中最为重要的两类,而文本又是人类所独有的能力。

通过将视觉感知到的内容转换为文本信息,是我们了解世界的重要途径。视觉对话任务就是在模拟这个过程。

给定一副图片(或视频等视觉内容)和一个问题,我们可以根据图片内容去回答这个问题。

之后,我们还可以连续问若干问题,每个问题都有回答,如此根据图片和之前的对话进行下一轮对话,就是视觉对话,而找到每个问题的答案,就是视觉对话的目标。

这可以形式化为:

其中是视觉信息,是视觉信息的说明(如标题),是第轮的问题,是第轮的回答。

有两种方法可以找到,一是“判别式”——从给定的一些回答候选中选一个,二是“生成式”——直接生成回答。

从上式可以看到,视觉对话实际上有四个部分:视觉信息V,对话历史H,当前问题Q和当前回答A。

过去对视觉对话的研究大都采用注意力的方法,让回答A去关注Q,V和H。然而,这种方法不能直接让V和H之间建立联系,从而可能忽略过去的对话内容。

基于此,本文提出VD-BERT,用BERT去建模多个部分的联系,任意两个部分之间就可以通过自注意力完成交互,从而不丢失历史对话信息,如下图所示:

和BERT一样,本文使用MLM和NSP两个训练任务去训练VD-BERT,然后再通过Rank的方法微调VD-BERT,从而可以使用一个模型同时完成判别式和生成式两种生成方法。

总的来说,本文贡献如下:

  • 使用预训练的BERT作为视觉对话模型,并通过MLM和NSP的训练得到一个统一模型;

  • 在VisDial数据集上实现了单个模型和集成模型二者的最优结果;

  • 可以同时应用在判别式和生成式两种生成方法上。

VD-BERT

VD-BERT的结构和流程十分简单。下图是VD-BERT的模型结构:

模型流程分为几步:得到视觉表征,得到文本表征,模型训练,模型微调。

视觉表征

本文使用Faster R-CNN得到36个对象视觉表征,用于编码图片的视觉信息,记为。这些特征将作为BERT的输入的一部分。

文本表征

为了编码文本信息并让其和视觉信息充分结合,本文按照BERT,把历史对话以[EOT]为分隔符拼接起来,作为VD-BERT的文本部分,从而得到,其中是一个候选回答。

模型训练

在得到视觉输入和文本输入后,把这两个再拼接起来作为VD-BERT整个的输入,得到。注意到,我们使用了预训练的BERT去初始化VD-BERT,让它得到一些文本的先验知识。

为了训练VD-BERT,本文提出两个,也是BERT所提出的训练任务:MLM和NSP。MLM和BERT一致,随机掩码文本部分15%的词,让模型去预测它。

NSP有所不同,VD-BERT所做的是,让模型的[CLS]去预测当前的候选回答是不是真正的回答,即输出一个0-1之间的概率。

对于判别式方法,只需要从候选回答集中采样一些回答,然后再用NSP去预测是否正确即可;对于生成式方法,只需要一步一步预测即可,类似自回归模型。

模型微调

除了一个回答是否是正确答案之外(0或1),VisDial v1.0还为每个候选答案给出了相关性得分,用于评判每个答案和正确答案之间的语义相关性,得分范围为0-1之间。于是,VD-BERT就可以使用NSP在此基础上进一步微调,而在推理的时候,只需要选择得分最大的那个答案即可。

实验

本文在视觉对话数据集VisDial v0.9和VisDial v1.0上实验,使用BERT-base作为VD-BERT骨干,使用Recall@K、MRR、Mean Rank和NDCG作为测评指标,其他实验细节详见原文。

下表是在VisDial v1.0上的结果,可以看到,VD-BERT在几乎所有指标上都超越了之前的模型。

特别注意到,微调的VD-BERT(*)只在NDCG上表现更好,而在其他指标上表现更差,这是因为NDCG衡量的回答的相关度,微调可以提高其表现,但是反而降低了在其他指标上的效果。

下表是在VisDial v0.9上的结果,可以看到,无论是判别式方法还是生成式方法,VD-BERT都能取得一致更好的效果。

下面来看看视觉信息和文本信息的交互情况。从下图可以看到,文本和图片中的对象是对应的。motorcycle关注了5和8(都是motorcycle),而he关注了4(人),helmet关注了4和8。

小结

本文提出VD-BERT,使用预训练的BERT作为统一的视觉对话模型,通过MLM和NSP的训练,VD-BERT能够很好建模视觉信息和文本信息及其之间的相互联系。

VD-BERT简单有效,不需要任何模型结构设计,也不需要多余的损失函数优化,更不需要额外的标注数据,就能实现SOTA表现。

多模态是近些年发展很快的一个领域,因为和人类获取信息的过程更接近,多模态能够更大地推动CV和NLP在现实的应用和落地。更好、更快的多模态模型是未来的一个持续性研究方向。

????

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

VD-BERT:用BERT搭建统一的视觉对话模型相关推荐

  1. 【BERT】BERT模型压缩技术概览

    由于BERT参数众多,模型庞大,推理速度较慢,在一些实时性要求较高.计算资源受限的场景,其应用会受到限制.因此,讨论如何在不过多的损失BERT性能的条件下,对BERT进行模型压缩,是一个非常有现实意义 ...

  2. 自然语言处理NLP之BERT、BERT是什么、智能问答、阅读理解、分词、词性标注、数据增强、文本分类、BERT的知识表示本质

    自然语言处理NLP之BERT.BERT是什么.智能问答.阅读理解.分词.词性标注.数据增强.文本分类.BERT的知识表示本质 目录

  3. BERT!BERT!BERT!

    从ELMO说起的预训练语言模型 我们先来看一张图: 从图中可以看到,ELMO其实是NLP模型发展的一个转折点,从ELMO开始,Pre-training+finetune的模式开始崭露头角并逐渐流行起来 ...

  4. 金融行业巨头 ING 如何搭建统一持续交付平台

    ​ ING 实现 DevOps 的背景 全球排名第11大的资产管理公司-----ING 荷兰国际集团(International Netherlands Groups),是由荷兰最大保险公司 (Nat ...

  5. NLP之BERT:BERT的简介(背景、改进点、创新点、简介、意义、原理、优缺点、总结与评价)、模型结构、训练过程(MLM、NSP任务的概述)之详细攻略

    NLP之BERT:BERT的简介(背景.改进点.创新点.简介.意义.原理.优缺点.总结与评价).模型结构.训练过程(MLM.NSP任务的概述)之详细攻略 目录 BERT的论文 BERT的概述 BERT ...

  6. Talk预告 | 微软高级研究员杨征元:统一的视觉语言模型

    本期为TechBeat人工智能社区第467期线上Talk! 北京时间12月29日(周四)20:00,微软高级研究员--杨征元的Talk将准时在TechBeat人工智能社区开播! 他与大家分享的主题是: ...

  7. 使用ELK搭建统一日志分析平台

    使用ELK(Logstash+ElasticSearch+Kibana)搭建统一日志分析平台 一.背景分析 为了应付我们日益复杂的业务需求,系统设计趋近模块化,每个模块各司其职由不同人员开发,打印的日 ...

  8. 华人一作统一「视觉-语言」理解与生成:一键生成图像标注,完成视觉问答,Demo可玩...

    来源:机器学习研究组订阅 这个 BLIP 模型可以「看图说话」,提取图像的主要内容,不仅如此,它还能回答你提出的关于图像的问题. 视觉 - 语言预训练 (Vision-Language Pre-tra ...

  9. 开源解决方案搭建统一日志平台

    最近项目里面需要搭建一个统一日志平台,顺手写下自己理解的日志平台介绍,主要作为自己的一个笔记,这是为了后面做智能运维的基础,智能的基础首先必须有自动化平台 统一日志平台背景 早期在系统规模较小的时期, ...

最新文章

  1. 认识RAID磁盘阵列
  2. python3.6安装scrapy-win7安装python3.6.1及scrapy
  3. [小改进]Blog页面导航调整
  4. 数据仓库专题(23):总线矩阵的另类应用-Drill Down into a More Detailed Bus Matrix
  5. 简单有趣的 NLP 教程:手把手教你用 PyTorch 辨别自然语言(附代码)
  6. Java 读取指定目录下的文件名和目录名
  7. 使用Travis-CI的SpringBoot应用程序的CI / CD
  8. 静态链表(代码、分析、汇编)
  9. linux下如何为redis配置path,linux环境下如何启动redis
  10. Hadoop单机模式安装入门(Ubuntu系统)
  11. 【重难点】【分布式 01】RESTful、RPC 对比、Dubbo、Spring Cloud 对比、Eureka、Zookeeper、Consul、Nacos 对比、分布式锁
  12. 通过修改PHP源代码解决Nginx下WebShell跨站的问题
  13. [机器学习] 机器学习中所说的“线性模型”是个什么东西?
  14. Python学习第五天
  15. 修改统计信息自动收集时间窗口
  16. axhline函数--Matplotlib
  17. 南京大学信号与系统851考研上岸经验分享
  18. 各类资源工具下载地址(http://msdn.itellyou.cn/)
  19. 项目管理成熟度模型及项目量化管理
  20. Java文件导入 project .mpp文件解析导入 并通过父子级关系或WBS码构造层级关系

热门文章

  1. stl文件 python_STL文件,一种前处理网格划分技术??
  2. vue路由中设置linkActiveClass
  3. 【网络流】Modular Production Line
  4. 栈的应用-四则运算表达式
  5. 在Spring MVC中使用注解的方式校验RequestParams
  6. Linux 下比较文件内容并相同部分、不同部分
  7. 正则表达式校验例子[原创]
  8. java table修改指定行_(变强、变秃)Java从零开始之JQuery购物车功能实操
  9. centos7 怎么封装自己的镜像_「10」-CentOS7.5(1804)
  10. antlr4 idea插件_正则都搞不定、我还有Antlr4解析器