Two Causal Principles for Improving Visual Dialog

一句话总结


从因果图角度审视视觉对话任务,切断对话历史与答案的直接因果效应,添加混杂因子[用户偏好]构建描述真实世界的因果图。

导论


Motivation:

受益于最近一段时间VQA领域在Encoder-Decoder框架方面取得的成果,视觉对话任务中模型性能也得到了显著的提升。当前社区一直把VisDial当作VQA的姊妹任务,只是在VQA的基础上添加了对话历史(History)输入。

然而作者认为,VisDial本质上并非带有History的VQA。作者以因果推断的角度入手,引入两条因果原则,将所有的VisDial基线模型提升到了SOTA。

作者提到,近期的VQA、VisDial领域主流模型均采用Encoder-Decoder结构,以一个典型的VisDial模型为例:先是Encoder将<I,Q, H>编码为向量,然后利用Decoder解码得到A。

Contribution:

两条原则分别是:

  1. 删除链接H—>A
  2. 添加一个新的节点U(不可观测)和三条新的链接:U<—H, U—>Q, U—>A

两条因果原则


第一条原则P1:

作者实验发现,不应用第一个原则时基线模型的平均答案长度随着对话历史中平均答案长度变大而显著变大,说明模型在学习历史中答案的句式回答问题。

然而作者认为历史History不应该直接对答案Answer有因果效应,作者将其比作双盲审稿策略,”知名学者“到”论文接收“的因果路线上应该有”高质量论文“这一节点,而不是直接相连,History与Answer的因果路线上也应该有Question作为中介物。

所以作者将H与A的链接删除。

第二条原则P2:

考虑到数据生成过程中,能看到History的不只有提问者和回答者,还有答案标注者。

答案标注者在看到History之后的不同偏好,成为了因果图中的混杂因子。

比如,某一位标注者在看到对话历史中多次出现代词"he"的时候,便标注“Yes, he is.”的分数高于“Yes”,更偏向于让答案中也出现"he"。


作者通过一个例子向我们展示,即使Q与A之间没有直接的因果效应,混杂因子U的存在依旧会让Q与A之间存在表面相关性,这条因果路径的存在导致模型预测的答案很可能并非从问题推出。

作者认为引入混杂因子User Preference后才得到了真正的因果图。

通过引入两条原则确立了“符合现实世界”的真正因果图之后,接下来要做的是——去混杂。

以上图为例,do(Q=q)do(Q = q)do(Q=q)可以理解为,切断指向Q的所有输入箭头,并使得Q与U独立。接着使用后门调整得:P(A∣do(Q=q))=∑uP(A∣Q=q,u)P(u)P(A|do(Q=q))=\sum_uP(A|Q=q,u)P(u)P(A∣do(Q=q))=∑u​P(A∣Q=q,u)P(u),由于do算子使得Q与U独立,所以此处与贝叶斯公式不同。

完整因果图与上述同理,得到P(A∣do(Q=q,H=h,I=i))=∑uP(A∣Q,H,I,u)P(u∣H)P(A|do(Q=q,H=h,I=i))=\sum_uP(A|Q,H,I,u)P(u|H)P(A∣do(Q=q,H=h,I=i))=∑u​P(A∣Q,H,I,u)P(u∣H)便为视觉对话的客观答案模型。

由于U不可观测,无法对其采样,所以作者介绍了3种近似实现方法:
Question Type; Answer Score Sampling; Hidden Dictionary Learning;
实现方法参照原论文。

实验


以VisDial v1.0为数据集,NDCG为评价标准,LF、HCIAE、CoAtt、RvA为基线模型,分别进行了定量及定性实验。

定量实验:

对比P2不同实现方式的性能,结果表明所有实现方式都可以提升基线模型的性能,且Hidden Dictionary Learning方式实现的性能提升最大。

消融实验证明P1、P2的有效性。

在VisDial v1.0的test-std集上实验,并与近期的Visual Dialog Challenge 2019 Leaderboard进行比较。

定性实验:

作者挑选了几个实例证明模型消除了对话历史偏置(History Bias),且能让所有与Ground Truth答案意思相似的答案获得更高的排名以使得排名更加合理。

个人总结:
作者以因果推断的角度重新审视视觉对话任务,认为对话历史和答案之间不应有因果效应,且存在着答案标注者的用户偏好这一混杂因子,影响模型预测答案,因此作者利用do算子移除了混杂因子U所带来的表面相关性,使用干预do(Q=q,H=h,I=i)do(Q=q,H=h,I=i)do(Q=q,H=h,I=i)和后门调整得到了最后的整体模型——P(A∣do(Q=q,H=h,I=i))P(A|do(Q=q,H=h,I=i))P(A∣do(Q=q,H=h,I=i))
接着讨论了P2的三种近似实现方式并在所有的基线模型上进行实验,效果均得到了显著提升。

值得一提的是,作者在文中以因果图的角度阐述了Encoder-Decoder方法的流程,颇有启发性。

参考


原文请点这里

『论文笔记』Two Causal Principles for Improving Visual Dialog相关推荐

  1. 『论文笔记』TensorFlow1.6.0+Keras 2.1.5+Python3.5+Yolov3训练自己的数据集!

    TensorFlow1.6.0+Keras 2.1.5+Python3.5+Yolov3训练自己的数据集! 文章目录 前期准备 一. Yolov3简要介绍 1.1. Yolov3网络结构图 1.2. ...

  2. 『论文笔记』ACNet: Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric Convolution Blocks!

    ACNet: Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric Convolution Blocks! 文章目录 一 ...

  3. 『论文笔记』Are VQA Systems RAD? Measuring Robustness to Augmented Data with Focused Interventions

    Are VQA Systems RAD? Measuring Robustness to Augmented Data with Focused Interventions 一句话总结 本文提出一个基 ...

  4. 论文笔记:Accurate Causal Inference on Discrete Data

    小白准备讨论班而看的论文,<Causality for Machine Learning>太长了有空再看着玩吧. 惯例先上文献:K. Budhathoki and J. Vreeken, ...

  5. 『论文阅读』SIF:一种简单却难以打败的句子嵌入方法

      文献:A SIMPLE BUT TOUGH-TO-BEAT BASELINE FOR SENTENCE EMBEDDINGS   在进行了词嵌入的研究后,我们往往会联想到这样一个问题:既然单词可以 ...

  6. 『 论文阅读』LightGBM原理-LightGBM: A Highly Efficient Gradient Boosting Decision Tree

    17年8月LightGBM就开源了,那时候就开始尝试上手,不过更多还是在调参层面,在作者12月论文发表之后看了却一直没有总结,这几天想着一定要翻译下,自己也梳理下GBDT相关的算法. Abstract ...

  7. 『ML笔记』深入浅出字典学习1(Dictionary Learning)

    目录 一.预备知识 二.字典学习以及稀疏表示的概要 2.1.我们为什么需要字典学习? 2.2.我们为什么需要稀疏表示? 三.下一节 参考文献 一.预备知识 稀疏向量:假设向量中的元素绝大部分为零元素, ...

  8. 『ML笔记』HOG特征提取原理详解+代码

    HOG特征提取原理详解+代码! 文章目录 一. HOG特征介绍 二. HOG算法具体流程+代码 2.1. 图像灰度化和gamma矫正 2.2. 计算图像像素梯度图 2.3. 在8×8的网格中计算梯度直 ...

  9. 『ML笔记』梯度下降法和随机梯度下降法和小批量梯度对比

    目录 1. 梯度下降法(gradient descent) 2. 随机梯度下降(Stochastic gradient descent) 3. 小批量梯度下降(Mini-Batch gradient ...

最新文章

  1. AlphaFold2被超越!中国团队刷新全球蛋白质结构预测纪录,大牛彭健创业项目一鸣惊人...
  2. 关于微信支付冲突的问题
  3. 树莓派AI视觉云台——6、Linux常用命令及vim编辑器的使用
  4. 阿里云服务器 window server tomcat启动 并且关闭window防火墙 配置8080端口开放还是没用
  5. nginx简单代理配置
  6. 李大勇matlab视频解压密码,13.4 环境控制、手动开关模块
  7. Jenkins 安装FAQ
  8. android模拟器参数设置,模拟器设置界面详解 - 新手引导 - 逍遥安卓论坛 - Powered by Discuz!...
  9. Unity3D脚本概述
  10. 缠中说禅:教你炒股票108课(转载)
  11. tomcat配置gc日志输出
  12. Vmware安装深度Deepin图文
  13. mysql查看当前有哪些库_MySQL查看当前数据库库
  14. 计算机系统里绘图基本操作,计算机的基本操作
  15. mongodb服务配置
  16. 自动网页签到 html,HTML5实现签到 功能
  17. android 单通道多应用Push系统的设计与实现
  18. Android Studio 运行HyperLPR开源项目安卓APP
  19. 如何有效安排工作的内容
  20. vue使用wx-open-launch-weapp

热门文章

  1. 王牌战争服务器维修要维修好久,请求辛苦的工作人员修复王牌战争以下的问题!感谢你们!...
  2. 【热门主题:吸血鬼骑士动漫主题】
  3. 长着腾讯样的脸的美图,会不会有腾讯样的好命?
  4. 四个干净高效的搜索引擎
  5. 【开源飞控】匿名飞控TI版解析(1)
  6. 修改Mysql57的root密码
  7. 各种型号的路由器初始默认密码
  8. simulink中mux和function关联时信号维度报错(xxx does not fully set the dimensions of output xxx)
  9. upload-labs第一关
  10. ACM-OI术语及其简称