“Learning Functional Causal Models with Generative Neural Networks”
Abstract
我们提出了一种新的从观测数据中进行功能因果建模的方法,称为因果生成神经网络(Causal Generative Neural Networks,CGNN)。CGNN利用神经网络的强大功能来学习观测变量联合分布的生成模型,方法是最小化生成数据与观测数据之间的最大平均差异(Maximum Mean Discrepancy,MMD)。为应对计算成本的问题,我们提出了一种近似学习准则,使得该方法的计算复杂度与观测数量呈线性关系。在三项实验中对CGNN的性能进行了研究。首先,CGNN应用于因果推断,任务是从假设“X → Y”和“Y → X”中选择最合适的因果方向。其次,CGNN用于识别v-结构和条件独立性。第三,CGNN被应用于多变量功能因果建模:给定一个描述随机变量X = [X1, …, Xd]直接依赖关系的骨架,CGNN通过确定骨架中边的方向来揭示描述这些随机变量的因果结构的有向无环因果图。在所有三项任务中,CGNN在人工数据和真实世界数据上的表现均优于现有方法。最后,CGNN被扩展以处理混杂变量的情况,即在整体因果模型中存在潜在变量。
1. 介绍
深度学习模型展示了非凡的预测能力,在图像分类(Krizhevsky et al., 2012)、语音识别(Hinton et al., 2012)、语言翻译(Cho et al., 2014)和强化学习(Silver et al., 2016)等方面打破了记录。然而,黑箱式的深度学习模型主要侧重于预测,几乎没有解释能力。更广泛地说,当前的机器学习范式无法避免将相关性误认为因果关系。例如,假设给定特征X和Z来预测目标变量Y,并假设生成过程由以下方程描述:
X , E Y , E Z ∼ U n i f o r m ( 0 , 1 ) , X, E_Y, E_Z \sim Uniform(0,1), X,EY,EZ∼Uniform(0,1),
Y ← 0.5 X + E Y , Y \leftarrow 0.5X + E_Y, Y←0.5X+EY,
Z ← Y + E Z , Z \leftarrow Y + E_Z, Z←Y+EZ,
其中, E Y E_Y EY和 E Z E_Z EZ是加性噪声变量。上述模型表明,Y的值是X的函数(我们称X为Y的因),Z的值是Y的函数(Y为Z的因)。赋值箭头强调了三个随机变量之间的不对称关系。然而,由于Z相对于X提供了更强的信噪比,因此在最小平方误差方面,最优的回归解为:
Y ^ = 0.25 X + 0.5 Z \hat{Y} = 0.25X + 0.5Z Y^=0.25X+0.5Z
这种回归模型,典型的逆回归情况(Goldberger, 1984),会错误地将Y的某些变化解释为Z的变化的结果,尽管Z并不导致Y的变化。在这种简单情况下,已有方法可以克服逆回归错误并揭示所有真实的因果关系(Hoyer et al., 2009)。然而,在一般情况下,主流的机器学习方法无法理解这三个分布之间的关系,可能会错误地将Z的变化归因于Y的变化。
将相关性误认为因果关系对于必须根据观察进行计划、推理和决策的代理人来说可能是灾难性的。因此,发现因果结构至关重要。
发现因果关系的金标准是进行实验(Pearl, 2003)。然而,在许多情况下,实验成本高昂、不道德或无法实施。在这些情况下,需要从观测中发现因果关系,即仅从观察数据中估计因果关系(Spirtes et al., 2000; Peters et al., 2017)。
在所考虑的设置中,观测数据是从未知分布中独立同分布抽取的实值特征向量的n个样本。我们将相应的随机向量表示为X = [X1, …, Xd]。我们寻求一个功能因果模型(Functional Causal Model, FCM),也称为结构方程模型(Structural Equation Model, SEM),它能够最好地拟合生成数据的机制。在适当的操作、干预或实验条件下,FCM生成的数据应该与在相似条件下获得的真实数据的分布相似。
让干预操作do(X=x)定义为将变量X固定为值x,而系统的其他部分保持不变(Pearl,2009)。如果Xi是X1, …, Xd中的直接原因,当且仅当对Xi的不同干预导致Xj的边缘分布不同,则称Xi是Xj的直接原因:
P ( X j ∣ d o ( X i = x , X ∖ i j = c ) ) ≠ P ( X j ∣ d o ( X i = x ′ , X ∖ i j = c ) ) P(X_j | do(X_i=x, X_{\setminus ij} = c)) \neq P(X_j | do(X_i=x', X_{\setminus ij} = c)) P(Xj∣do(Xi=x,X∖ij=c))=P(Xj∣do(Xi=x′,X∖ij=c))
其中X_{\setminus ij} := X_{1,…,d}{i, j}表示除了Xi和Xj以外的所有变量的集合,标量值x ≠ x’,向量值c。分布P(X_j | do(X_i=x, X_{\setminus ij} = c))是将Xi固定为值x并将其他所有变量保持固定值时Xj的干预分布(Mooij等,2016)。
如前所述,通过干预来确定直接原因和结果存在一定局限性。因此,本文主要研究如何从观测数据中学习因果结构,目标是匹配已知的“真实”模型结构。
本文的贡献之一是将几种最先进的方法统一为一种一致且更强大的方法。一方面,UCLA、卡内基梅隆大学、克里特大学以及其他地方的领先研究人员开发了强大的算法,利用有向无环图(DAGs)的马尔可夫性质。(Spirtes et al., 2000; Tsamardinos et al., 2006; Pearl, 2009) 另一方面,图宾根学派提出了新的功能因果模型(FCM)算法,利用因果-结果对的联合分布中的不对称性。(Hoyer et al., 2009; Stegle et al., 2010; Daniusis et al., 2012; Mooij et al., 2016)
在本文中,功能因果模型的学习在生成神经网络(Kingma 和 Welling, 2013;Goodfellow et al., 2014)的搜索空间中进行,旨在学习最佳拟合潜在数据生成过程的功能因果模型(结构和参数)。所提出方法的优点,被称为因果生成神经网络(CGNN),通过人工和真实数据基准进行广泛且实证的验证,并与最先进的方法进行了比较。
本文的结构如下:第2节介绍了学习FCM和相关假设的问题。第3节简要回顾并讨论了因果建模领域的最新进展。第4节介绍了生成神经网络搜索空间中的FCM建模框架。第5节报告了一项广泛的实验验证,并将该方法与最先进的成对因果推断和图结构恢复方法进行了比较。第6节提出了处理潜在混杂变量的扩展框架。第7节总结了本文并提出了一些未来的研究方向。
2. 问题设置
一个随机变量向量 X = [ X 1 , … , X d ] X = [X_1, \dots, X_d] X=[X1,…,Xd] 上的函数因果模型 (Functional Causal Model, FCM) 是一个三元组 ( G , f , E ) (G, f, E) (G,f,E),表示一组方程:
X i ← f i ( X P a ( i ; G ) , E i ) , E i ∼ E , i = 1 , … , d X_i \leftarrow f_i(X_{Pa(i; G)}, E_i), E_i \sim E, \quad i = 1, \dots, d Xi←fi(XPa(i;G),Ei),Ei∼E,i=1,…,d
每个方程描述了变量 X i X_i Xi 与其原因集合 X P a ( i ; G ) ⊂ { X 1 , … , X d } X_{Pa(i; G)} \subset \{ X_1, \dots, X_d \} XP