基于深度元学习的因果推断新方法

论坛 期权论坛 脚本     
匿名技术用户   2021-1-15 00:40   45   0

阅读更多,欢迎关注公众号:论文收割机(paper_reader)
因为排版问题,很多图片和公式无法直接显示,欢迎关注我们的公众号点击目录来阅读原文。

Bengio, Yoshua, et al. "A meta-transfer objective for learning to disentangle causal mechanisms." ICLR (2020).

引言


因果推断是统计学领域的重要技术,主要通过观测到的统计量判断各个变量之间的因果关系。该技术在众多学科,尤其是在医学和经济学中得到了广泛关注和应用。

理论上讲,要想判断两个变量之间有无因果关系,最理想的方法是通过对照实验。例如,要想判断某种药品对病人是否有效,只需在“用药组”和“对照组”之间进行对照实验即可。进行这样的实验,需要保证两组病人之间除了对照变量之外完全一致。然而,这一条件在现实生活中,常常无法达到。例如,判断性别是否对某种疾病有影响,难道要让病人做变性手术吗?而在更多时候,由于实验成本太高,回顾性的分析才是主流。

另一方面,传统统计学里,用来描述统计量之间因果关系的,往往是最简单的线性模型。当然,针对简单的问题,高相关性的线性模型就足以预示两者之间的因果关系。但这对于实际问题来说,显然是远远不够的。

针对这两个问题,Bengio组在今年的ICLR上发表了文章 A Meta-Transfer Objective for Learning to Disentangle Causal Mechanisms,提出了一种全新的基于元学习和深度神经网络的因果推断模式。

背景


因果推断离不开对照实验,而计算机科学中从来没有对照实验。因此,在该文章中,作者首次提出了用元学习(Meta learning) 代替昂贵的对照实验的想法。

用元学习的一系列迁移数据集代替对照实验

众所周知,在元学习中,我们往往拥有一系列相似但不同的数据集,并希望我们的模型可以拥有良好的泛化能力,也就是在这些数据集上都能取得良好的效果。在因果推断中,便可以假设这些数据集都是某种对照实验的结果,只是该对照试验改变的变量(Intervention)是未知的。

那么,既然不知道这些数据集中哪些条件出现了变化,又该如何判断数据集中不同变量之间的因果关系呢?该文章中提出了一个重要的论断,该论断成为了后文所有推导的基石:

基于正确的因果关系设计的模型,其在迁移数据集下的收敛速度要快于基于错误的因果关系设计的模型。

简单的例子:患病-用药 实例


假定这样一个数据集:数据集中有两个变量 (是否患病,是否用某种药),且两个变量的取值均为 0(否)或 1(是)。通过极大似然法,我们可以很容易地估计两个变量之间的联合概率:

p(患病,用药)

p(患病,不用药)

p(不患病,用药)p(不患病,不用药)

以及这两个变量的相关性。

很显然,我们无法得知这两个变量之间的因果关系。无论你假设这两个变量哪个是原因哪个是结果,联合概率分布都不会有区别(这是一个直观的事实,具体证明及实验详见原论文附录)。当然根据常识,我们可以知道是因为患有某种疾病,才会去用药的。

然而,如果我们有另一个数据集呢?在上帝视角里,这第二个数据集里p(用药|患病)的概率和上一个数据集相同,然而p(患病)和上一个数据集不同。也就是说,第二个数据集里的人类对待患病的反应与前者相同,但疾病的发病率出现了变化。

现在,我们想要知道患病与用药的因果关系如何,便可以设计两个基于梯度的对比模型,一个基于“患病→用药”假设,先推导p(患病),再推导p(用药|患病),最后得出预测结果似然p(用药,患病|参数)。另为排版问题,很多图片和公式无法直接显示,欢迎关注我们的公众号点击目录来阅读原文。


往期文章:

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP