【导读】当我们试图回答反事实问题,比如“如果我们采取了相反的行动会发生什么”时,因果模型的重要性就更加引人注目了。我们将非常详细地讨论反事实,因为对任何人工智能来说,反事实问题都是最具挑战性的问题。这类问题也是推动人类认知力和想象力发展的核心,其中前者使我们成为人类,后者使科学成为可能。
有一门科学改变了我们区分事实与虚构的方式,它已经影响到了日常生活的种种重要的方面,并且还有可能进一步扩大影响范围,覆盖从新药开发到经济政策制定,从教育和机器技术人到枪支管制乃至全球变暖等重大问题的探索和解决。
这门新科学并没有一个时髦的名字,我简单地称之为“因果推断”。因果推断力图模拟的理想技术就存在于我们人类自身的意识之中。数万年前,人类开始意识到某些事会导致其他事的发生,并且改变前者就会导致后者的改变。由这一发现,人类这一物种创造出了有组织的社会,继而又建立了乡村和城镇,直至创建了我们今天所享有的科技文明。所有这一切都源于我们的祖先提出了这样一个简单的问题:为什么?
因果推断正是关于这个问题的严肃思考。它假设人类大脑是大自然有史以来为处理因果知识而设计出的最先进的工具。我们的大脑存储了海量的因果知识,而在数据的辅助下,我们可以利用这些知识解决当代社会所面临的最紧迫的问题。一个更宏伟的目标是,一旦我们真正理解了因果思维背后的逻辑,我们就可以在现代计算机上模拟它,进而创造出一个“人工科学家”。这个智能机器人将会为我们发现未知的现象,解开悬而未决的科学之谜,设计新的实验,并不断从环境中提取更多的因果知识。
但在冒险推测未来发展之前,了解迄今为止因果推断这门科学所取得的成就至关重要。我们将深入探讨它是如何改变了几乎所有依赖数据信息的学科中研究者的思维模式,以及它将如何改变我们的生活。
这门新科学解决了以下这些看似简单明了的问题:
*一种特定的疗法在预防某类疾病方面的成效如何?
*是新税法的颁布还是层出不穷的广告推销活动导致了销售额的增长?
*由肥胖引发的医疗保健成本增长的总体占比为何?
*雇用记录可否证明雇主实施了涉及性别歧视的招聘政策?
*我打算辞掉工作。我究竟该不该这么做?
这些问题的共同点在于它们都与因果关系有关,我们可以通过诸如“预防”、“导致”、“由……引发”、“证明”和“该不该”这样的词语轻易识别出它们。这些词在日常生活用语中很常见,我们的社会也一直在不断提出这样的问题并寻求答案。然而,就在不久之前,我们甚至还无法在科学的范围内找到途径明确地表述这些问题,更别说回答它们了。
到目前为止,因果推断对人类最重要的贡献就是让这个科学盲点变成了历史。这门新科学催生出了一种简单的数学语言,用以表达我们已知和欲知的因果关系。以数学形式表达因果关系的能力让我们得以开发出许多强大的、条理化的方法,将我们的知识与数据结合起来,并最终回答出如上述那5个涉及因果关系的问题。
就在20年前,询问一个统计学家诸如“是阿司匹林治愈了我的头痛吗”这样的问题,就会被视为相当于是在问他是否相信巫术。但今天,流行病学家、社会科学家、计算机科学家以及一些开明的经济学家和统计学家开始频繁地提出这样的问题,并能够借助具有高度精确性的数学工具作答。对我来说,这种改变就是一场革命。我斗胆称之为因果革命,是因为这场科学剧变真正接纳了我们人类理解因果知识的认知天赋,而不再将其拒于科学大门之外。
因果革命不是在真空中产生的;它背后有数学工具上的发展作为支撑,这种数学工具最恰当的名称应该是“因果关系演算法”。借助这种工具,我们得以解答出一些有关因果关系的最棘手的问题。能向公众展示这一演算法实在令我兴奋不已,这不仅是因为它拥有跌宕起伏的发展史,更是因为我真心期待未来某天它能在某些人那里发挥出超越我的想象的潜力……
因果关系演算法由两种语言组成:其一为因果图(causal diagrams),用以表达我们已知的事物,其二为类似代数的符号语言,用以表达我们想知道的事物。因果图是由简单的点和箭头组成的图,它们能被用于概括现有的某些科学知识。点代表了我们目标量,我们称之为“变量”,箭头代表这些变量之间已知或疑似存在的因果关系,即哪个变量“听从于”哪个变量。这些因果图非常容易绘制、理解和使用,如果你会使用基于单向街道地图的导航系统,你就一定可以理解因果图,继而也就可以独自解决那些关于因果关系的问题。
当我们感兴趣的科学问题涉及回顾性的思考时,我们通常会诉诸于另一种类型的表达形式,这种表达形式是因果推断科学所独有的,我们称之为反事实(counterfactual)。例如,假设乔在服用了药物D一个月后死亡,那么我们现在关注的问题就是这种药物是否导致了他的死亡。为了回答这个问题,我们需要想象这样一种情况:如果乔在即将服药时改变了主意,他现在会活着吗?
经典统计学只关注总结数据,因此它甚至无法提供一种语言用以提出上面那个问题。因果推断则不仅提供了一种表达符号,更重要的是,它还提供了一种解决方案。这使得我们在预测干预效果时,在多数情况下能够借助一种算法来模拟人类的回顾性思考,通过将我们对观测世界的了解输入算法系统,其将输出有关反事实世界的答案。可以说,这种“反事实的算法化”正是因果革命另一项宝贵的成果。
人类的心智一直在对哪些事可能发生或哪些事可能已经发生做出极可靠的、可重复的判断。例如,我们都明白,即使某天早晨公鸡没有打鸣,太阳也会照常升起。这一共识源于这样一种事实:反事实并非异想天开之物,而是反映了现实世界运行模式的特有结构。共享同一因果模型的两个人也将共享所有的反事实判断。
我是以一名浸淫人工智能领域多年的计算机科学家的身份涉足这门新科学的,我的研究背景使我在进行因果推断方面的研究时能够使用一种该领域的大多数研究同仁所并不具备的视角。首先,在人工智能的世界里,只有当你能够教会机器人理解某个课题时,你才算真正理解了它。我痴迷于这样的思考:是否可以用一种业已存在的语言来表达某个论断,以及我们如何判断一个论断是否与其他一些论断是相一致的。我们可以看到,仅仅是遵循科学语言的语法进行话语实践就能让我们掌握大量的知识,这实在令人惊喜。我对语言的强调也源于一个坚定的信念,即语言会塑造我们的思想。我在机器学习方面的背景也给了我研究因果关系的另一个动力。20世纪80年代末,我意识到智能机器缺乏对因果关系的理解,这也许是妨碍它们发展出相当于人类水平的智能的最大障碍。我坚信强人工智能是一个可实现的目标,也是一个完全无须恐惧的目标,因为我们在实现它的过程中纳入了因果关系。因果推理模块将使智能机器有能力反思它们的错误,找到其软件程序中的弱点,让它像一个道德实体那样思考和行动,并自然地与人类交流它们自己的选择和意图。
因果模型将把科学、知识、数据这些晦涩的概念纳入一个具体的、有意义的背景框架,让我们看到三者是如何相互协作以解答棘手的科学问题的。图中展示了一个“因果推断引擎”的蓝图,此引擎将帮助未来的人工智能进行因果推理。更重要的是,它同时也是一份指南,用于指导我们发现在当今的科学应用中,因果模型是如何发挥作用以及它们与数据之间的相互作用是怎样的。
因果推断引擎是一种问题处理机器,它接受三种不同的输入——假设、问题和数据,并能够产生三种输出。第一种输出是“是/否”判断,用于判定在现有的因果模型下,假设我们拥有完美和无限的数据,那么给定的问题在理论上是否有解。如果答案为“是”,则接下来推断引擎会产生一个被估量。这是一个数学公式,可以被理解为一种能从任何假设的数据中生成答案的方法,只要这些数据是可获取的。最后,在推断引擎接收到数据输入后,它用上述方法生成一个问题答案的实际估计值,并给出对该估计值的不确定性大小的统计估计。这种不确定性反映了样本数据集的代表性以及可能存在的测量误差或数据缺失。
为深入阐释这个图表的内在逻辑,我给方框1到方框9贴了数字标签,以便接下来以“药物D对病人生存期L的影响是什么”这个问题为例进行具体分析。
1.“知识”指的是推理主体(reasoning agent)过去的经验,
包括过去的观察、以往的行为、接受过的教育和文化习俗等所有被认为与目标问题有关的内容。“知识”周围的虚线框表示它仍隐藏在推理主体的思想中,尚未在模型中得到正式表达。
2.科学研究总是要求我们给出简化的假设,这些假设也就是研究者在现有知识的基础上认为有必要明确表述出来的陈述。然而,研究者所拥有的大部分知识都隐藏于他的大脑,只有假设能将其公之于世,也只有假设才能被嵌入模型之中。事实上,我们可以从模型中提取出假设,这也使得一些逻辑学家得出了这样的结论:模型不过是一组假设而已。而计算机科学家对此说法持有异议,他们指出,假设表示方式的不同将导致各方面的巨大差异,包括是否能够准确地说明假设,是否能够从假设中推导出结论,乃至是否能够根据确凿的证据扩展或修改假设等。
3.因果模型有多种表现形式,包括因果图、结构方程、逻辑语句等。我热衷于为几乎所有的应用场景构建因果图,主要原因就在于它清晰易懂,并且可以为我们想问的许多问题提供明确的答案。从构建因果图的角度来看,“因果关系”的定义就非常简单了:如果变量Y“听从于”变量X,并根据所“听到”的内容决定自己的值,那么变量X就是变量Y的一个因。例如,如果我们怀疑一位病人的存活期L“听从于”该病人是否服用了药物D,那么我们便可以称D为L的因,并在因果图里绘制一个从D到L的箭头。当然,关于D和L之间的关系问题的答案很可能还取决于其他变量,因而我们也必须将这些变量以及其因果关系在因果图中表示出来。(在这里,我们统一用Z来表示其他变量。)
4.以因果模型的路径来表示的变量之间的听从模式通常会导向数据中某种显而易见的模式或相关关系。这些模式可被用于测试模型,因此也被称为 “可验的蕴涵”(testable implications)。将“D和L之间没有连接路径”翻译成统计学语言,就是“D和L相互独立”,也就是说,发现D的存在不会改变L的发生可能性。而如果实际数据与这一推断相抵触,那么我们就需要修改模型。此类修改涉及另一个引擎,它从方框4和方框7中获取输入,并计算模型的“拟合度”,即数据与模型假设的匹配程度。为尽可能简化示意图起见,我没有在图中表示出这个引擎。
5.向推理引擎提交的问题就是我们希望获得解答的科学问题,这一问题必须用因果词汇来表述。例如,我们现在感兴趣的问题是:P(L|do(D))是什么?因果革命的主要成就之一是使这一语言在科学上容易理解,同时在数学上精确严谨。
6.被估量“estimand”来自拉丁语,意思是“需要估计的东西”。它是我们从数据中估计出来的统计量。一旦这个量被估计出来,我们便可以用它来合理地表示问题的答案。虽然被估量的表现形式是一个概率公式,如P(L|D,Z)×P(Z),但 实际上它是一种方法,可以让我们根据我们所掌握的数据类型回答因果问题(前提是推断引擎证实了这种数据类型就是我们需要的)。重要的是要认识到,与传统的统计学所提供的估计方法不同,在当前的因果模型下,无论我们收集到多少数据,有些问题可能仍然无法得到解答。例如,如果我们的模型显示D和L都依赖于第三变量Z(比如疾病的发展阶段),并且,如果我们没有任何方法可以测量Z的值,那么问题P(L|do(D))就无法得到解答。在这种情况下,收集数据完全就是浪费时间。相反,我们需要做的是回过头完善模型,具体方式则是输入新的科学知识,使我们可以估计Z的值,或者简化假设(主次,此处存在犯错的风险),例如假设Z对D的影响是可以忽略不计的。
7.数据可以被视为用来填充被估量的原料。这里我们一定要认识到,数据本身不具备表述因果关系的能力。数据告诉我们的只是数量信息,如P(L|D)或P(L|D,Z)的值。而被估量则能够告诉我们如何将这些统计量转化为一个表达式。基于模型假设,该表达式在逻辑上等价于我们所要回答的因果问题。请注意,被估量这个概念以及图中顶部的所有概念在统计分析的传统方法中都是不存在的。在传统的统计方法中,被估量就等同于有待解决的问题。例如,如果我们对存活期为L的人群中服用过药物D的患者的比例感兴趣,我们可以将这个问题简记为P(D|L)。该表达式的值也就是我们的被估量。这一表达式已经确切地说明了数据中的哪个概率有待被估计,而并不涉及任何因果知识。鉴于此,一些统计学家至今仍然难以理解为何有些知识游离于统计学之外,以及为何只靠数据不能弥补科学知识的欠缺。
8.现在,你得到了一个新鲜出炉的估计值。不过,它只是一个近似值,其原因涉及关于数据的另一个真相:数据永远是从理论上无限的总体中抽取的有限样本。在我们所讨论的这个例子中,数据样本由我们筛选出来进行研究的病人组成。即使这种筛选是随机的,我们也无法避免在样本中所测量的比例无法代表整个总体的相应比例的可能性。幸运的是,依靠机器学习领域所提供的先进技术,统计学科为我们提供了很多方法来应对这种不确定性,这些包括最大似然估计、倾向评分、置信区间、显著性检验等。
9.最后,如果我们的模型是正确的且数据是充分的,那么我们就获得了这个待解决的因果问题的答案,比如“药物D使糖尿病患者Z的生存期L增长了30%,误差±20%。”现在,这一答案也将被添加到我们的科学知识(方框1)中。而如果这一答案与我们的预期不符,则很可能说明我们需要对因果模型做一些改进(方框3)。
在日常生活中,我们总能用某种方法做出一些因果判断,而与此同时并没有意识到自己经历了如此复杂的推断过程,当然也不会诉诸计算概率和比例的数学工具。我们的因果直觉通常足以让我们应付日常生活乃至职业生活中的不确定性。但如果想教一个笨拙的机器人以因果思维来思考问题,或者如果我们正试图推动无法依靠直觉来指引的前沿科学的发展,那么这一经过精心设计的推断流程就很有必要了。
尽管科学的快速发展提高了人们对因果模型必要性的认识,许多人工智能领域研究者仍然想跳过构建因果模型或识别出已有的因果模型的艰难步骤,只依赖数据解决所有的认知难题。他们希望在因果问题出现时,数据本身就能指引他们找到正确的答案——当然,这种想法通常来说都是隐秘不宣的。对此趋势,我曾直言不讳地表示公开质疑,因为我明白对于因果关系方面的知识来说,数据没有任何发言权。例如,有关行动或干预结果的信息就根本无法从原始数据中获得,这些信息只能从对照试验操作中收集。相比之下,如果拥有一个因果模型,我们就可以在大部分情况中从未经干预处理的数据中预测干预的结果了。
当我们试图回答反事实问题,比如“如果我们采取了相反的行动会发生什么”时,因果模型的重要性就更加引人注目了。我们将非常详细地讨论反事实,因为对任何人工智能来说,反事实问题都是最具挑战性的问题。这类问题也是推动人类认知力和想象力发展的核心,其中前者使我们成为人类,后者使科学成为可能。
因果关系史甚至科学史上的一个重要时刻,是统计学家曾纠结于“吸烟是否会导致肺癌”这一问题。由于无法使用他们最喜欢的工具——随机对照试验,他们在是否接受某一方的结论上始终难以达成一致,甚至对于如何理解这个问题也一直存在分歧。关于吸烟的争论将因果论的重要性推到了风口浪尖。数百万人因吸烟而丧生或折寿,就因为科学家没有适当的语言或方法论来回答这个因果问题。
反事实被视为因果论的基本组成部分这一认识至少要追溯到1748年,当时苏格兰哲学家大卫·休谟(David Hume)提出了这样一个有些别扭的因果定义:“我们可以给一个原因下定义说,它是先行于、接近于另一个对象的一个对象,而且在这里凡与前一个对象类似的一切对象都和与后一个对象类似的那些对象处在类似的先行关系和接近关系中。或者,换句话说,如果没有第一个对象,那么第二个对象就不可能存在。”大卫·刘易斯 (David Kellogg Lew is),普林斯顿大学的哲学家,于2001年去世,他曾指出休谟实际上给出的是两个而非一个定义。第一个是规则性定义(因后面通常跟着果),第二个是反事实定义(“如果没有第一个对象……”)。尽管哲学家和科学家更多地将注意力集中于规则性定义,但刘易斯指出,反事实定义与人类直觉的联系更为紧密:“我们认为因是起重要作用的事物,并且它所引起的差异必然就是有它和没它所发生结果之不同。”
正是人类智能的自动化(有时也被称为“强人工智能”)引导我开始研究因果关系的。我相信因果推理对智能机器至关重要,它可以让智能机器使用我们的语言与我们交流策略、实验、解释、理论乃至遗憾、责任、自由意志和义务,并最终让智能机器做出自己的道德决策。
如果能用一句话来概括,那就是 “你比你的数据更聪明”。数据不了解因果,而人类了解。我希望因果推断这门新科学能让我们更好地理解我们是如何做到这件事的,因为除了通过自我模拟,我们没有更好的方法去了解人类自身。与此同时,在计算机时代,这种新的理解也有望被应用于增强人类自身的因果直觉,从而让我们更好地读懂数据,无论是大数据还是小数据。
作者:Judea Pearl(加州大学洛杉矶分校计算机科学教授,2011年图灵奖得主)Danna Mackenzie(普林斯顿大学数学博士,科普作家)
编译:江生 于华
编辑:李伶
责任编辑:李纯一
*文汇独家稿件,转载请注明出处。