特别节目·中文精读

朱迪亚·珀尔:因果推理、反事实、贝叶斯网络与通往 AGI 之路

Judea Pearl: Causal Reasoning, Counterfactuals, Bayesian Networks, and the Path to AGI

因果推断奠基人谈贝叶斯网络与反事实思维,以及为何真正的通用智能离不开因果推理。

官方音频00:00 / --:--
中文精读由 AI 基于原始访谈改写,非官方翻译,可能存在偏差或错误;表述以原音频与官方文稿为准。说明

一个十几岁的男孩,连续发烧三天,起不了床。医生查不出毛病,他自己清楚原因:前一天他刚学会用代数处理几何问题,脑子被击穿了。

他后来回忆,那是人生第一次被一个抽象结构放倒。几何作图、几何定理、高中学过的那一整套证明,全都可以翻译成代数符号的运算。三条中线交于一点,不用画图,不用辅助线,把符号挪一挪就能证出来。

这个男孩叫朱迪亚·珀尔(Judea Pearl)。几十年后,他拿了图灵奖,发明了贝叶斯网络,然后用后半辈子干了一件事:给"因果"这个概念造出一套数学。

同一件事的两种语言

珀尔说,解析几何给他的震动,核心在两个语言之间的接通。代数和几何,各自都是完整体系,当它们被接上的那一刻,能做的事突然翻倍。

他打过一个比方:线性方程在代数里是一串符号,在几何里是一条直线。同一样东西的两副面孔。要给圆作切线,可以用尺规,也可以解方程。哪条路好走,取决于你站在哪一边。

这种翻译能力后来成了他做事的方式。本科读工程,研究生做物理,博士论文写超导,之后转软件,最后落到统计学和人工智能。他自嘲说自己在工程和数学之间随意散步,其实每一步都踩在两条语言的接口上。

他把这份底子归功于中学老师。那批人是 1930 年代从德国逃出来的犹太人,原本在柏林、海德堡有教职,被希特勒赶走,跑到英国教中学。这些人教数学有一套:每个定理都连着提出它的人,连着那个人当时在干什么,连着他为什么会在澡盆里喊"找到了"。

数学不是一堆练习,它是一连串人的困惑。(朱迪亚·珀尔)

他做超导研究时,发现过一种磁通涡旋的行为,后来物理学界把这种结构命名为 "Pearl vortex"。他自己十五年前才知道这回事。他说,这算一种永生的投资。

概率描述的是人的知识状态

话题转到概率。珀尔给的定义很短:概率是一个主体对世界的不确定程度。

这里有个容易被跳过的重点。有人说"这件事有 90% 的概率",这句话描述的是说话人的知识状态,并非世界本身的样子。换成 10%,同样是知识,只是内容不同。

"吸烟五年后让你得肺癌的概率是 90%"和"10%",这两个数字都是有用的知识,也都不等于确定性。珀尔说,人类本来就泡在不确定性里,概率是让人能活着过马路的工具。缺了预测能力,连过个街都会心惊胆战。

他顺手补了一刀:这种预测能力,本质上还是在找因果。如果不假设事物之间存在某种稳定联系,为什么会变、为什么一起变,就没有任何理由可言。

两个硬币和一声铃响

这里有个例子,第一次听的人常常会愣一下。

手里有两枚硬币,完全独立,互不影响。抛一百次,正反面各半,两者之间毫无相关。现在加一条规则:每次抛完,如果至少有一枚是反面,铃就响。只记录铃响的那几次。

在这批数据里,两枚硬币突然高度相关了。

物理上它们毫无关系,但因为你选择"只看铃响的样本",相关性凭空出现了。珀尔说,这算不上数据造假,这是用自己的无知和任性,在世界上创造了一个不存在的相关。

他特意强调,他不认为这是观测本身的缺陷。世界本来就这么运作。真正的麻烦出现在下一步:当人试图把因果逻辑强行套到相关性上,就会翻车。

而人类绝大部分时间就在干这件事。看到两个东西一起变,就默认其中一个推动了另一个。因为除了因果,没有别的逻辑框架可以抓。

切掉所有指向 X 的箭头

贝叶斯网络是珀尔最出名的工作之一。它的结构看起来很像因果图:一个节点指向另一个节点,像 A 导致 B。但珀尔讲得很清楚,贝叶斯网络本身并不表示因果,它表示的是一堆条件概率的联合分布。方向是人为选的,换个方向照样能算。

要把贝叶斯网络变成因果网络,缺的那一步是什么?

是提问的方式。得先问自己:哪些因素决定了 X 的取值?X 是血压,那可能涉及年龄、饮食、遗传、用药。这些假设从哪来?从人的头脑里来。

珀尔说,因果推断的起点永远是一个定性模型,一张"谁听谁的"的草图。潮汐听月亮的,不听公鸡打鸣的。这张草图不需要精确,甚至可以非常粗糙,但它必须先存在。

他的口号是:表示第一,发现第二。先把知识表示出来,才有资格问"能不能从中推出某个结论"。连表示都没有,讨论推断就是空谈。

那怎么表达"我做了某件事"?珀尔引入了一个符号:do。do(X) 的意思是,直接干预 X。

它的语义非常物理:把模型里所有指向 X 的箭头全部切断,然后在这个被动过手术的模型里,问 Y 的概率。原因是,当你亲手设定 X 的时候,就把它从过去所有影响里解放出来了,从此它只服从你的肌肉。

他拿血压举例。没人能钻进别人的血管里把血压调高调低,但这个问题可以问。只要有一个身体的模型,就可以在模型上动手术,把血压那个节点切开,改个数,再看死亡率怎么变。

这就是模型存在的意义。物理上做不到的事,可以在模型里做。

阿司匹林和那声枪响

比干预更高一层的,是反事实。

珀尔说,"吃药能降低死亡率"这种话,其实什么都没解释。真正算解释的,是另一种问法:是我吃的这片阿司匹林治好了头痛吗?

这个问题里藏着一个逻辑冲突。事实是:我吃了药,头痛好了。反事实是:如果我没吃,头痛还在。这两句话不能同时为真,它们互相排斥。珀尔说,正是这种冲突,构成了人类关于责任、后悔、自由意志的全部直觉。

他接着讲了个更狠的例子。有人被枪杀了。如果凶手没开枪,他会活着吗?答案是会。所以枪是原因。

物理学家天天在做这种事,只是没意识到。给弹簧挂一公斤,它伸长一米。人会自然地说:如果挂两公斤,它会伸两米。这个推理在物理方程里找不到对应物,因为 F=kx 是对称的等式,两边可以互换。可每个物理学家脑子里都在做单向的反事实运算,然后把结果塞回方程里解出来。

机器人做不到这一点。它没有那个模型,也没有"如果当时不是这样"的表达能力。

婴儿、隐喻和一只乌龟壳

那模型从哪来?珀尔把话题拐到了婴儿身上。

婴儿在婴儿床里玩球,看一个球撞上另一个球,另一个滚开。他们不是在收集数据,他们在做玩耍式的操纵:推一下,看会怎样;再推一下,看会不会一样。加上父母在旁边说"这个不能拿""那个会烫",几种信息源合起来,一个粗糙的因果模型就成型了。

珀尔认为,人类智能的核心机制是隐喻:把一个不熟悉的领域,映射到一个熟悉的领域。

他举了古希腊人的例子。希腊人相信天空是一个不透明的壳,星星是壳上戳出来的洞,洞外是永恒的光。这个想法是错的,但它极其有用。因为"在壳上戳洞"这件事,希腊人熟悉。

有了这个隐喻,亚里士多德就能算地球半径。他的推理是:如果人站在一个球壳上,不同地点看到的星光入射角应该不同。知道两地距离,量出两个角度,就能反推球的半径。他算出来的数字和今天的测量值相差不大,大约六千多公里。

巴比伦的天文学家算不出来。他们的天文预测比希腊人准得多,能精确预报月食,因为他们擅长拟合曲线。珀尔说,巴比伦人就是那个时代的机器学习专家。他们手上有最好的数据、最好的拟合,但他们没有那个壳的隐喻,所以永远问不出地球有多大这个问题。

这句话放在今天,味道很足。

一场审判和三个变量

珀尔用一个思想实验把机器学习的局限摆到桌面上。

行刑队。三个士兵举枪,一声令下,同时开火,犯人死亡。给机器学习系统看几百场这样的审判记录,数据里有:命令下达与否、每个士兵开火与否、犯人死亡与否。机器能学得很完美:有命令,就有开枪,就有死亡。

现在问它:如果士兵 A 当时拒绝开枪,犯人会死吗?

机器答不上来。因为数据里从来没出现过"有命令但 A 没开枪"的样本。它看到的全是事实,看不到事实背后的机制。它不知道 A 和 B 之间是并联关系,只要有一个开枪,人就死。它也不知道 A 之所以开枪,是因为他服从命令,而不是因为他和 B 商量好了。

人类能答,因为头脑里有那个结构。命令指向每一个士兵,每个士兵指向那颗子弹,子弹指向死亡,而士兵之间没有箭头。

珀尔说,这就是为什么因果模型必须先由人给出一个定性骨架。机器可以接手后面的定量推导,可以算出非常复杂的跨人群迁移:拿全世界一百家医院的研究结果,推断一个和它们都不像的新人群的因果效应。这件事人类算不动,机器能算。但骨架得人来搭。

他也没把话说死。如果能在系统里注入随机扰动,士兵今天生病了、呕吐了、偶然没开枪,这种意外的噪声就相当于一次随机实验,观测数据里就能透出背后的结构。这条路走得通,只是有限。

假装有自由意志,就等于有

话题转向意识和自由意志。

珀尔的说法很干脆:自由意志是一种错觉,但这个错觉有解。解法就是造一台机器,它表现得像有自由意志,它和其他机器交流时也把对方当成有自由意志的,而你分不出它和"真有"的区别。

他说,能假装,就等于拥有。因为假装非常难。图灵测试的全部要义就在这里:只有真的具备,才装得出来。

那意识是什么?珀尔的定义是:拥有自己软件的一份蓝图。

把"我"也当成环境的一部分,为它建一个模型。这个模型不需要精确到每一行代码,因为自己也解不出自己的停机问题,但需要一个能改动的高层结构。人照镜子的时候会说:如果把这个习惯改掉,行为会不一样。这个能回头看自己并修改的能力,就是自由意志和意识所指的东西。

同情心在他看来也是同一套机制。不需要为对方从头建一个模型,把自己已有的模型映射过去就行:他有痛,我也有痛,那把"痛"这一块复制过去。这一步极其省力,也极其有效。机器要建伦理,绕不开这一步。

一个新物种

问到 AI 的风险,珀尔的语气变了。

他说他担忧,理由很直接:人类正在造一个新物种,这个物种的能力可能超过我们,能自我繁殖,能接管世界。而对"控制"这件事本身都还没有清晰的定义。这不是历史上发生过的事。

他承认自己在这里使不上劲。他说他对这个问题知道得太少,想象力有限,而且清楚自己不知道的有多少。这种坦白从一个八十多岁的图灵奖得主嘴里说出来,分量不太一样。

有人安慰他说,人类至少有一个样本可以参考。他回了一句:不止一个样本,还有理论。样本量为一不等于知识贫乏,因为人还有猜想、有推演、有关于"可能会怎样"的理论。这是他和纯统计学思维分道扬镳的地方。

两个奇迹

珀尔生在以色列,1950 年代在 IDF 服役,同时在一个基布兹(kibbutz)做农业劳动。他年轻时真心想一辈子当基布兹社员,过集体生活。

他回忆那段日子,用了奇迹这个词,而且用了两次。

第一个奇迹是 1948 年的独立战争。他说当时离第二次种族灭绝非常近,那件事是有计划的,最后靠奇迹活了下来。

第二个奇迹很少有人提。建国初期实行紧缩政策,全国人口从 60 万涨到 100 多万,翻了三倍多。按他的说法,那时候想在餐馆吃个煎蛋,得自己带鸡蛋。从乡下往城里运食品是要被抓的。但没有人挨饿。而且高等教育没有削减预算,国家还在往他和妻子这一代人身上投钱,让他们受最好的教育。

他说自己一直在试图回报这件事。

丹尼尔

采访者问能不能聊聊他的儿子。珀尔说可以。

丹尼尔·珀尔是《华尔街日报》的记者,2002 年在巴基斯坦被基地组织绑架,最后被斩首,录像被公开。珀尔说,那些绑架者最初提出的要求,什么送飞机、什么交换,全是编的,是假的。

他说,那件事的核心是仇恨和不宽容。而这种仇恨的深度,是多数人没有真正理解的东西。他提到最近听到摩加迪沙的学校里教的内容,说人们不知道那意味着什么。水龙头不出水的时候,那些孩子知道是谁干的,知道是"那些犹太人",不知道为什么,但知道是谁。这种教育持续得足够久、足够深,人就会变得能做出 ISIS 做的事,能做出纳粹做的事。

他反问:每个人都有作恶的能力吗?他的回答是:有。教育和环境决定了这份能力会不会被激活。

儿子去世六七年之后,他在《华尔街日报》写了一篇文章,标题叫《丹尼尔·珀尔:邪恶的正常化》。文章的意思很直接:人们把恐怖主义当成了一个可以讨价还价的工具,好像谁有委屈就可以去炸餐馆,这很正常。昨天是恐怖分子,今天是自由战士,明天又变回恐怖分子,标签可以互换。这个正常化是人自己一手造成的。

采访者问他,心里是愤怒、悲伤,还是希望。他没有直接回答,而是说:他见过从巴基斯坦来的很好的人,也见过邪恶在这个国家以另一种方式蔓延,那些民粹口号能俘获最优秀的知识分子的心。

那天是父亲节。他讲了一件小事。有一次他和丹尼尔去伯克利,一个流浪汉从暗巷里出来,说"哥们,能给一毛钱吗"。珀尔下意识往后缩了一下。丹尼尔直接上去抱了那个人,说,这一毛给你,你要不要点钱坐公交。

他说丹尼尔有一种他没有的平衡感。丹尼尔在每个人身上都能看到美,不像他那么情绪化,看事情更有纵深。

他觉得陌生人是好奇心的理由,并非恐惧的理由。(朱迪亚·珀尔)

给年轻人的话

采访者最后问他,对今天想做智能系统的年轻人有什么建议。

他说:跟着自己的问题走。问题永远不蠢。用自己的方式把它做扎实,不要接受"不行"这个答案。如果你的问题真的很蠢,你很快就会自己发现,因为你加一条箭头,会发现它无处可放。但只要你还在往前推,就继续推,按你自己的理解去搞明白。

他补了一句,说他写《为什么》(The Book of Why)这本书,目的是让常识民主化,在学生心里种下一点叛逆,让他们不必等到教授点头才敢把一件事想对。

有人问他,希望留下什么。

他说,墓碑已经刻好了,就是反事实的那条基本定律。一个关于模型手术的简单公式,别的都从它推出来。有了它,他就能安心地走,学生可以用数学手段把他所有的知识推下去。

采访结束时,他留给听众一句话:你无法回答一个你问不出的问题,而你也无法问出一个你没有词汇去描述的问题。

这句话和他一辈子在做的事扣得很紧。因果推断在他之前不是没人想,是没人有词汇。相关、回归、条件概率,这些词都在,唯独没有一个词能表达"如果我动手改了它"。他花了三十年造出这个词,叫 do。

词汇一到,问题就能问了。

想把因果这一块补上,可以这么动手

  • 读《The Book of Why》。这是珀尔唯一一本写给非专业读者的书,不需要统计背景也能进,前三章把"相关不等于因果"讲透了。
  • 检查手上的每一张图。每条箭头都问一句:这条边是数据告诉我的,还是我的假设?如果是假设,写下来,标明它可能错。
  • 分清三种问题:看(P(y|x))、做(P(y|do(x)))、反事实(如果当时不是这样)。很多分析出错,问题出在把第一种当成第二种在问,并非算法有毛病。
  • 做因果推断之前,先把图画出来。哪怕只有五六个变量,哪怕全凭经验拍。图一画出来,就会发现自己到底缺哪些数据。
  • 跨数据源的时候,别急着合并。先找出各来源之间什么不同、什么相同,用 do 演算做迁移,比把数据堆在一起跑回归有效得多。
  • 看到相关性时,先找那声铃。有没有一个隐藏的筛选机制,让这批样本本身就不随机?
  • 听到"这个问题没有数学形式",先别放弃。珀尔用了三十年给因果造数学,很多问题只是还没人造出那个词汇。

本集资源与出处