微软论文解读:用于视觉对话的多步双重注意力模型
作者丨张琨
学校丨中国科学技术大学博士生
研究方向丨自然语言处理
论文动机
当前 Visual dialog 模型尽管已经取得了令人印象深刻的表现,但当问题涉及到图像的特定区域或者比较细节的对话片段时,模型就很难给出准确的答案。究其原因,单步的分析需要同时关于太多的信息,当需要特定的位置或者说需要对问题和图像,对话历史进行反复理解时,单步理解就收到了很大的限制。
因此多步推理,从粗粒度到细粒度就显得十分必要的,这样模型才能关注到具体的细节,从而给出准确的答案,例如下图:
单步分析时,需要知道 He 指代的是历史对话中的 young boy,还需要在图像信息中关注到 young boy,然后才能具体知道他是否穿了短裤,但如果使用多步的话,第一步会从历史对话和图像中选出来和问题有关的部分,舍弃到并没有太大关联的地方,第二步就可以在这些相关的地方进行精细化的分析,从而准确得到答案。基于这样的一个想法,本文提出了一种多步的双重注意力模型,用于 visual dialog。
模型
还是先上整个模型框架图:
模型框架图加个外框感觉就好看很多,可以学习学习。从框架中可以看出模型主要包含三个模块:1)memory generation:生成一套文本和图像的 memory,用于下一步的 reasoning;2)Multi-step Reasoning:使用循环双重注意力去联合编码问题,图像和对话历史,用于接下来的解码;3)Answer Decoding:使用上一步得到的联合编码向量去推断答案。
Memory Generation Module
首先是对数据的处理,对图像,使用Faster-RCNN抽取图像特征:
I 表示的图像信息,这样就得到了图像中的 object 的向量表示,在这里 n_f = 36, M=2048,也就是抽取了 36 个图像特征,同时使用一个非线性变换得到将这些特征映射到和问题相同的特征空间去。
对于文本的话,本文是直接将图像描述和历史对话完全拼接起来,这样就得到了一个长句子,表示第 i 个词,L 表示最大的句子长度,然后使用预训练的 embedding 进行编码,双向 LSTM 进行处理,最终就得到了文本的特征表示,具体实现如下:
Multi-step Reasoning Module
该模块的整体框架是一个 RNN,每一步的隐状态表示的问题的当前表示,并会作为 query 去检索文本和图像信息,具体流程可以表示为,这个可以看作 one-step reasoning,通过这样的一个循环方式,从而实现对细节的把握,从而最终给出正确的答案。
首先还是会利用一个双向 LSTM 对问题进行编码,得到问题的隐状态表示,接下来是首先利用 self-attention 对问题进行处理,从而得到问题的语义表示,而这些权重表明了问题中哪些词是非常重要的,并且过滤了那些不重要的词。
同时该状态会作为 multi-step reasoning rnn 的隐层初始状态(因为 RNN 的隐层状态都是对问题的语义表示),接下来就是不断使用注意力机制关注图像和历史对话中的重要信息,并用这些重要信息更新对问题的表示,从而一步步推进,最终得到正确的答案。
1.
该步骤利用问题的隐状态表示和上一步的历史信息表示,得到图像上那些地方需要被关注,从而更新图像的需要关注表示,这里的公式应该是写错了,第一个公式的应该是的。
2.
相同的操作,利用一直的信息更新历史对话中需要被关注的地方,得到历史对话的新的表示。
3.
到这一步,已经得到了更新之后的图像特征表示和历史对话特征表示,一般情况下可以简单使用相同的注意力计算方法直接得到问题的更新表示,但这一步的意图和之前的是不同的。
在之前的两步,是为了获取更多的有用的信息,因此使用注意力机制不断更新需要关注的地方,而这一步应该是将这些选择出来的信息进行融合,为回答问题提供辅助,也即这一步需要的是通过融合,得到送给 RNN 的输入,通过 RNN 的隐层状态更新,从而得到问题的新的表示。因此这里使用了 MFB 的方式来进行更新。
Zt 表示的是 t 时刻 RNN 的输入,得到输入之后,利用 RNN 进行更新,这里使用的是 GRU,即:
经过 T 轮之后,就得到了一系列的,本文对这些内容再次进行融合,从而得到最后的语义表示向量。
Answer Decoding Module
本文首先还是利用双向 LSTM 和 self-attention 对问题进行编码,得到每个问题的表示,然后在问题和语义表示向量之间做点乘,得到一个相似度矩阵 S,。
在此基础上,需要使用不同的策略获取最后的答案,在这里作者使用了三种不同的策略:1)直接使用最后一个表示进行预测,; 2)使用所有步的平均表示;3)使用随机 dropout:在训练的时候以一定概率随机丢弃某些步的结果,用剩下的结果的平均进行组后预测,在测试的时候使用所有步的平均进行预测(这个不能算是单独的一个步骤吧,感觉就是训练时加了 dropout)。
在训练时,本文考虑了两种损失函数,交叉熵和 n-pair 损失,交叉熵好理解,将 o 送个一个分类层,n-pair 损失的计算方式如下:假设第 g 个是正确答案,则损失定义为:
以上就是整个模型的技术细节。
实验结果
本文使用的数据集是 visual dialog V1.0 (https://visualdialog.org/),评价指标是 NDGC(Normalized Discounted Cumulative Gain),相关实验结果如下:
可以看出模型的实验结果是明显好于 baseline 的,而且随着 reasoning 的步数增加,模型的效果是在不断变好的,但这部分感觉可以测试更多的步骤,看看是否效果有明显的提升。
接下来是一些 case study:
可以看出来模型是逐步从粗粒度到细粒度,慢慢关注到具体的细节,从而最终给出正确的答案,这部分感觉还是十分有意思的,而且在问题的生成模型中,可以看出模型不仅可以给出正确的答案,同时给出具体的细节内容,使回答更丰富,更具有说服力,如下图:
总结
本文针对当前模型无法回答细节问题,设计了一个 multi-step reasoning 的方法,从粗粒度到细粒度不断去更新需要关注的信息,从而使得模型能够根据已掌握的信息不断更新需要关注的内容,从而最终取得了正确的答案。这个思路感觉和人的一些习惯非常类似,我们并不是一步就得出了答案,而是根据已有知识不断更新自己的关注点以及对问题的理解,从而最终得到正确的答案,罗马不是一天建成的,这个思路非常值得关注。
点击以下标题查看更多往期内容:
图神经网络综述:模型与应用
小样本学习(Few-shot Learning)综述
F-Principle:初探理解深度学习不能做什么
万字综述之生成对抗网络(GAN)
让Keras更酷一些:分层的学习率和自由的梯度
AAAI 2019 | 基于分层强化学习的关系抽取
深度长文:NLP的巨人肩膀(上)
NLP 的巨人肩膀(下):从 CoVe 到 BERT
自然语言处理中的语言模型预训练方法
#投 稿 通 道#
让你的论文被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得或技术干货。我们的目的只有一个,让知识真正流动起来。
? 来稿标准:
• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)
• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接
• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志
? 投稿邮箱:
• 投稿邮箱:hr@paperweekly.site
• 所有文章配图,请单独在附件中发送
• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通
?
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。
▽ 点击 |阅读原文 | 下载论文
微软论文解读:用于视觉对话的多步双重注意力模型相关推荐
- AAAI 2018论文解读 | 基于文档级问答任务的新注意力模型
在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...
- 124页,UC伯克利大学胡戎航博士论文公布:视觉与语言推理的结构化模型
来源:机器之心 本文约1500字,建议阅读5分钟 UC 伯克利大学计算机科学博士胡戎航(Ronghang Hu)的博士论文新鲜出炉,内容涉及视觉与语言推理的结构化模型. 视觉 - 语言任务(如基于图像 ...
- 顶会CIKM‘21论文解读:基于图神经网络的人类行为轨迹恢复模型
摘要:本文是由华为云数据库创新Lab联合电子科技大学数据与智能实验室发表在顶会CIKM'21的文章,该文章提出首个克服人类移动轨迹数据中普遍存在的多层次周期性.周期偏移现象以及数据稀疏问题的轨迹恢复模 ...
- 论文解读|激光视觉融合的V-LOAM
论文题目:<Visual-lidar Odometry and Mapping: Low-drift, Robust, and Fast> 发表在2015年的ICRA上,是一篇经典的视觉激 ...
- NLP论文解读:无需模板且高效的语言微调模型(下)
©原创作者 | 苏菲 论文题目: Prompt-free and Efficient Language Model Fine-Tuning 论文作者: Rabeeh Karimi Mahabadi 论 ...
- 【论文解读--足式机器人平衡控制VMC】虚拟模型控制(三通道法)Virtual model control
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录 前言 一.跳跃高度控制(Hopping Heigh) 二.水平速度控制(C ...
- 【0514 更新中】CVPR2019 论文解读汇总
CVPR2019 论文解读汇总(0514 更新中) 原文 http://bbs.cvmart.net/topics/287/cvpr2019 计算机视觉顶会CVPR 2019 接收结果已经出来啦,相关 ...
- KDD 18 论文解读 | GraphWave:一种全新的无监督网络嵌入方法
在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...
- DualVD:借鉴认知双向编码理论,提出视觉对话新框架 | AAAI 2020
2019-12-28 05:44:24 作者 | 蒋萧泽 责编 | Camel 论文标题:DualVD: An Adaptive Dual Encoding Model for Deep Visual ...
最新文章
- 运动会加油稿计算机学院150字,大学运动会加油稿150字左右
- 登录界面的滑动_电脑同时登录两个微信,原来这么简单?3步搞定!
- 解决:org.xml.sax.SAXParseException: 元素类型 “head“ 必须由匹配的结束标记 “</head>问题
- 二、【绪论】算法和算法评价
- python找水仙花数_Python一句代码实现找出所有水仙花数的方法
- PHP生成验证码图片
- SAP Hybris里搜索显示结果的实现原理
- Go中new和make的区别
- 进阶阿里架构师:算法、编程语言、数据库、架构设计!书单推荐!
- 机器学习笔记(七)——决策树模型
- C#中A a=new B()的意义
- JavaScript Oriented[探究面向对象的JavaScript高级语言特性]
- 信号灯绿波服务器,主干道绿波与红波控制策略
- 阈值Java_阈值处理(深入学习)
- IE8 正式版官方下载链接
- 平面解析几何----圆锥曲线1/AF+1/BF=2/ep的三种证法
- VUE·17:事件处理之 @keyup、@keydown 等键盘按键触发及 @keyup.enter 等别名
- 民办大学计算机专业排名,这7所民办大学的“计算机专业”实力不错,录取分数也很低...
- 10个降低PCB成本的技巧!PCB采购必须掌握!
- storm trident mysql_Trident-MySQL
热门文章
- php 笔试 龙腾简合_记录面试龙腾简合-java开发工程师经历
- 【HNOI2007】紧急疏散
- C# 按部门拆分excel文件
- Tomcat 运行项目出现 server tomcat v8.0 server at localhost failed to start处理方式
- 博客园电子月刊[第一期]
- php 网页截屏,怎么用PHP实现网页截图
- python训练营微信公众号真实性_用python进行微信公众号开发(仅测试学习)
- 千里眼摄像头支持对象存储吗_【手机技术】专业相机应用Halide全面支持苹果iPhone SE 2人像模式...
- 软件测试自学钢琴考级,钢琴考级被音基难倒?不要慌,跟着这款钢琴陪练APP一起练...
- 100w氮化镓充电器_SHARGE闪极-100W大功率氮化镓充电器体验