Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

因果推理和监督学习的统一概念框架:两者并不是对立的

受到 Judea Pearl 近期采访的启发,Ferenc Huszár 发表博客,从观察和干预数据分布(对应监督学习因果推理)的区别和联系出发,阐述了他对因果推理机器学习中的意义的看法。他指出因果推理深度学习的必要补充,而不是作为其对立面,必须在两者中取其一舍其一。

你可能已经看到了 Judea Pearl 的新书,以及在我的社交圈中广为流传的相关采访。在采访中,Pearl 将我们在机器学习中所做的大部分工作视为曲线拟合。虽然我认为这是夸大其词,但这提醒我们,大多数富有成效的辩论往往是由有争议的或非常傲慢的言论引发的。将机器学习称为炼金术就是很好的一例。读完这篇文章后,我决定再研究一下他著名的 do-calculus 和因果推理

这种反复时常在我身上发生。我第一次学微积分是在一门(非常不受欢迎但很高等的)贝叶斯网络本科课程中。从那以后,每隔两三年我就会在不同的情境下再次遇到它,但不知怎的,我从未被其触动过。我一直认为「这东西很难并且/或者不切实际」。最终,我将其抛之脑后。直到现在,我才意识到这些东西的重要性。

这一次,我想我完全领会了因果推理的意义,而且变成了一个十足的信徒。我知道我的觉悟已经迟了,但我认为致力于数据和条件概率研究的人了解这个工具集的基础知识是基本的补充,在我的整个职业生涯中完全忽视这一点让我感到尴尬。

在这篇文章中,我将尝试阐释基础知识,告诉你为什么也要考虑这个问题。如果你致力于深度学习,那你就有了更好的理由来理解这一点。如果把 Pearl 的评论解释为将因果推理深度学习相对立,那他的观点可能没有帮助。相反,你应该理解为,Pearl 强调的是因果推理深度学习中有着很大的潜在应用价值。不要因为因果图看起来很像贝叶斯网络而气馁(这不是巧合,因为它们都是由 Pearl 开创的),它们与深度学习并非竞争关系,而是对深度学习的补充。

基础知识

首先,因果推理区分两种可能要估计的条件分布类型。tldr:在 ML 中,我们通常只估计其中一种,但在某些应用中,我们其实应该尝试或必须估计另一个。

为了设置,假设我们从一些联合分布 p(x,y,z,…) 中采集了独立同分布数据样本。假设我们有大量数据和最佳工具(如深度网络)来完整估计这种联合分布或其任何属性,以及条件分布或边际分布。换句话说,我们假设 p 是已知的和易处理的。假设我们最终对变量 y 在给定 x 情况下的结果感兴趣。在高级别上,可以用两种方式提出这个问题:

  • 观察值 p(y|x):假设我观察到变量 X 取值为 x,Y 的分布情况如何。这是我们通常在监督机器学习中所估计的。它是一个条件分布,可以从 p(x,y,z,…) 中计算出它的值:p(y|x)=p(x,y)/p(x)。我们都非常熟悉这个对象,也知道如何从数据中估计它。

  • 干预式的 p(y|do(x)):如果我将 X 的值设置为 x,Y 的分布情况如何。这描述了如果我通过人为地强制变量 X 取值 x 来干预数据生成过程,但根据生成数据的原始过程模拟其余变量时我将观察到的 Y 的分布(注意,数据生成过程与联合分布 p(x,y,z,…) 不同,这是一个重要的细节)。

二者不是一回事吗?

不,p(y|do(x)) 和 p(y|x) 通常不是一回事,可以用几个简单的思维实验来验证这一点。比如,Y 是咖啡机炉中的压强,取值大约在 0 到 1.1 巴之间,这取决于咖啡机开了多久。设 X 为内置气压计的读数。假设我们在任意时间一起观察 X 和 Y。假设气压计功能正常,p(y|x) 应为以 x 为中心的单峰分布,这是由于测量噪声而具有随机性。然而,p(y|do(x)) 实际上不依赖于 x 的值,并且通常与 p(y) 相同,即炉内压力的边际分布。这是因为人工设定气压计的值(例如,通过移动指针)实际上不会导致容器内的压力上升或下降。

综上所述,y 和 x 是相关的或统计相关的,因此看到 x 可以预测 y 的值,但是 y 不是由 x 导致的,所以设置 x 的值不会影响 y 的分布。因此,p(y|x) 和 p(y|do(x)) 的表现差别很大。这个简单的例子只是冰山一角。当存在大量具有复杂交互作用的变量时,干预条件和观察条件之间的差异可能更加细微且难以表征。

我想要哪一个?

根据要解决的应用,你应该尝试估计以下条件之一。如果最终目标是诊断或预测(即观察自然发生的 x 并推断 y 的可能值),则需要观察条件 p(y|x)。这就是我们在监督学习中已经做的,也是 Judea Pearl 所说的曲线拟合。这对于分类、图像分割、超分辨率、语音转录、机器翻译等一系列重要应用都有好处。

在你最终希望根据估计的条件控制或选择 x 的应用中,你应该尝试估计 p(y|do(x))。例如,如果 x 是一种医学疗法,而 y 是结果,你不仅对观察自然进行的疗法 x 和预测结果感兴趣,还希望在了解疗法 x 如何影响结果 y 的情况下主动选择疗法 x。类似的情况发生在系统识别、控制和在线推荐系统中。

p(y|do(x)) 到底是什么?

这也许是我以前没有掌握的主要概念。p(y|do(x)) 实际上是一个普通的条件分布,但它不是基于 p(x,z,y,…) 而是基于一个不同的联合 pdo(X=x)(x,z,y,…) 计算的。如果我们实际进行了有关干预,这个 pdo(X=x) 就是我们观察到的数据的联合分布。p(y|do(x)) 是我们将从随机对照试验或 A/B 试验中收集的数据中学习到的条件分布,其中试验者控制了 x。请注意,在许多情况下,实际执行干预或随机试验可能无法实现,或者至少是不切实际或不道德的。你不能做 A / B 测试,强迫你的一半受试者吸食大麻,另一半则吸食安慰剂来了解大麻对他们健康的影响。即使不能从随机实验直接估计 p(y|do(x)),对象仍然存在。因果推理和 do-calculus 的要点是:

如果我不能在随机对照试验中直接测量 p(y|do(x)),我能否根据在对照试验之外观察到的数据进行估计?

这些都是怎么联系起来的?

让我们从一个图表开始,该图表显示了如果我们只关心 p(y|x)(即简单的监督学习案例)会发生什么情况:

假设我们依次观察三个变量:x、z、y。数据是从 3 个变量上的一些可观察联合分布中采集的独立同分布,由标记为「observable joint」的蓝色因子图表示。是否了解什么是因子图并不重要,圆圈代表随机变量,小正方形代表变量的联合分布。我们倾向于从 x 预测 y,并假设 z 是第三个变量,我们不想推断,但我们也可以衡量(把这一点包括在内是为了完整性起见)。观察条件分布 p(y|x) 是由这个联合分布通过简单的条件计算得到的。从训练数据中我们可以建立一个模型 q(y|x;θ) 来接近该条件分布,例如使用深度网络最小化交叉熵或其它。

现在,如果我们真正感兴趣的是 p(y|do(x)) 而不是 p(y|x)?这就是它的样子:

所以,我们仍然有蓝色的观察联合分布,数据仍然从这个联合分布采样。但是,我们要估计的对象位于右下方,即红色干预条件分布 p(y|do(x))。这与干预联合分布有关,干预联合分布上方标有红色因子图。这是一个相同领域的联合分布 p,但它是一个不同的分布。如果我们可以从这个红色分布中取样(例如,实际进行一个随机对照试验,从中选择 x),这个问题将通过简单的监督学习来解决。我们可以从红色联合分布生成数据,并直接从那里估计模型。然而,我们假设这是不可能的,我们所拥有的只是从蓝色联合分布采样的数据。我们必须看看是否可以从蓝色联合分布中估计红色条件分布 p(y|do(x))。

因果模型

如果想在蓝色和红色联合分布之间建立连接,我们必须引入关于数据生成机制因果结构的附加假设。预测我们的分布如何因交互作用而改变的唯一方法是设法知道变量是如何因果相关的。这种关于因果关系的信息不能仅靠联合分布中获得。我们必须介绍比这更有表达性的东西,如下所示:

除了可观察的联合分布外,我们现在还有一个世界因果模型(左上)。这个因果模型比联合分布包含更多的细节:它不仅知道压力和气压计读数是相关的,而且知道压力导致气压计上升,而不是反过来。该模型中的箭头对应于假设的因果关系方向,没有箭头表示变量之间没有直接的因果关系影响。因果图到联合分布的映射是多对一的:几个因果图与同一个联合分布对应。因此,通常不可能仅通过观察数据在不同的因果解释之间作出结论性选择。

提出因果模型是一个建模步骤,在这个步骤中,我们必须考虑关于世界因果规律的假设,即什么导致什么。一旦有了因果图,我们就可以通过破坏因果网络来模拟干预的效果:删除通往 do 运算符中节点的所有边。这些显示在上图的中顶部。然后,分解的因果模型产生由绿色因子图表示的联合分布。这个联合有一个相应的条件分布 p~(y|do(x)),我们可以用它作为我们对 p(y|do(x)) 的近似。如果我们定性地得到了正确的因果结构(即没有缺失的节点,并且箭头的方向都正确),这个近似是精确的,p~(y|do(x))=p(y|do(x))。如果我们的因果假设是错误的,这个近似可能是假的。

关键的是,为了得到这个绿色的因子图,从而在观测数据和干预性分布之间建立桥梁,我们必须将数据与附加的假设结合起来,还需要先验知识,如果可以的话。光靠数据是无法做到这一点的。

Do-calculus

现在的问题是,当我们只有蓝色分布的数据时,能得到绿色条件分布的多少信息呢?我们现在的处境比以前好,因为有了把两者联系起来的因果模型。长话短说,这就是所谓的 do-calculus 要做的事。do-calculus 允许我们修改绿色条件分布,直到我们可以用蓝色分布下的各种边缘、条件和期望分布来表达它。do-calculus 扩展了我们处理条件概率分布的工具包,增加了四个规则,我们可以应用于包含 do 运算符的条件分布。这些规则考虑了因果图的属性。这些细节没法在单个博文中展开,但这里有一篇导论性的论文:https://arxiv.org/abs/1305.5506。

理想情况下,作为 do-calculus 推导的结果,你最终可以得到 p~(y|do(x)) 的等价公式,其中不再包含任何 do 运算符,因此你可以仅根据观测数据来估计它。如果是这种情况,我们会称因果查询 p~(y|do(x)) 是可识别的。相反,如果无论我们如何努力应用 do-calculus 都不能实现这种情况,我们都称因果查询为不可识别的,这意味着我们将无法根据已有数据来估计它。下图概括了这种因果推理机制的非凡之处。

作为包括几个 do-calculus 规则的推导结果, 这种新的「可估公式」给出了 p~(y|do(x)) 的等价表达式。如果你只关心 p(y|x),那么请注意原本完全无关的变量 z 现在是如何必要地用于执行因果推理的。如果不能观察 z,我们仍然可以进行监督学习,但是我们将无法回答因果推理查询 p(y|do(x))。

怎么判断因果模型是否正确?

仅靠观察数据,你永远也没法充分验证因果图的有效性和完整性。然而,因果模型的某些方面还是可以通过经验来验证的。尤其是,因果图暗示了变量集合之间的某些条件独立或依赖关系。这些相关性或独立性可以通过经验来测试,如果数据中没有这些相关性或独立性,则表明因果模型是错误的。将这一观点向前推进,你可以尝试执行完整的因果发现:尝试从经验数据中推断出因果模型或其至少某些方面。

但底线是:一个完整的因果模型是一种先验知识,你必须将其添加到你的分析中,以获得因果问题的答案,而不是进行实际干预。光凭数据推理是不能给你这个答案的。与贝叶斯分析中的先验不同(可以提高数据效率但并非不可或缺),因果推理中的因果图是必不可少的。除了少数例外情况,没有它们你所能做的就是进行随机对照实验。

总结

因果推理确实是一个基本的东西。它让我们可以回答「如果我们做了 x 会发生什么」这类的问题,这些问题通常需要受控实验和明确的干预来回答。我甚至没有提到更有力的反事实推理。

在某些情况下,你可以不需要因果推理。通常,你真的只是想做正常的推理。在其他诸如无模型 RL 的应用中,显式控制某些变量的能力可以让你避免明确地回答因果问题。但是在几种非常重要的应用情况中,因果推理提供了以原则性方式解决问题的唯一方法。

我想再次强调,这不是一个讨论用深度学习还是因果推理的问题。在很多情况下,你可以同时用到这两个。因果推理和 do-calculus 让你能够理解一个问题,并根据在因果图中捕获的假设从数据中确定需要估计的内容。但是,一旦完成了这一工作,你仍然需要强大的工具来根据数据实际评估这一点。此时,你仍然可以使用深度学习、SGD、变分边界等。最近的文章以及 Pearl 声称没有得到充分探索的,正是将深度学习的剖面结构应用于因果推理

原文地址:http://www.inference.vc/untitled/


理论机器学习因果关系贝叶斯观点
1
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

因果推理技术

基于因果关系的一类推理方法,是一种常见推理模式,涉及观察到的共同效应的原因的概率依赖性。

交叉熵技术

交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

先验知识技术

先验(apriori ;也译作 先天)在拉丁文中指“来自先前的东西”,或稍稍引申指“在经验之前”。近代西方传统中,认为先验指无需经验或先于经验获得的知识。先验知识不依赖于经验,比如,数学式子2+2=4;恒真命题“所有的单身汉一定没有结婚”;以及来自纯粹理性的推断“本体论证明”

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

条件概率分布技术

条件概率分布(Conditional Probability Distribution,或者条件分布,Conditional Distribution )是现代概率论中的概念。 已知两个相关的随机变量X 和Y,随机变量Y 在条件{X =x}下的条件概率分布是指当已知X 的取值为某个特定值x之时,Y 的概率分布。

推荐文章
暂无评论
暂无评论~