目录

《The Book of Why 》(为什么,关于因果关系的新科学)

为什么读这本书?

心得

导读手册的观点集合

因果论的三层阶梯

因果论与现有人工智能AI

AI的局限与突破

因果的形式化

贝叶斯网络模型

Do演算计算因果效应


《The Book of Why 》(为什么,关于因果关系的新科学)

为什么读这本书?

首先这本书被认为是相当于底层理论的一次更新,不亚于一场认知革命。其次,它结合当前热点的AI技术进行讲述,指出现阶段AI技术火热现象背后隐藏的困境。最后,这本书的推荐者大都是大牛,而且都以极为热忱和激动的心情在推荐。因此勾起了自己的好奇心,购入开读。

心得

整体来说,导读手册读完最大的收获是,自己对因果关系的认知更新。在读这本书之前,自己对因果关系的概念并未有过深入了解或者思考,所有的因果关系观念来自于两个方面:一是一个碎片话的小故事——休谟的农夫与鸡的故事,二是来自于日常中接触到的科谱常识带来的模糊印象——因果关系从来都是一个被批判的地位。

有客人拜访英国怀疑论大师哲学家休谟。休谟将一壶水放在火炉上,准备为客人沏茶。

客人不甚客气地问道:“听说先生对事事都抱怀疑态度,真是这样吗?”

客人又说:“敢问先生,这壶中的水过一会儿是否一定会开?鄙人却坚信那是必然的,因为火的热与水的沸腾之间在存着必然的因果关系。”

主人漫然答曰:“这水可能会开得吧,然而我不敢谈什么必然。火的热与水的沸腾,从以往的经验看,常常是前后相继出现的;然而我却没有理由说它们之间有必然的关系。”

客人不甚理解哲学家的话,就说:“请先生为我详作譬解。”

于是主人就为他讲了下面这个故事:

有一个农夫养了一群鸡。每次给鸡喂食的时候,他总是将栅栏门碰得很响。长时间以后,聪明的鸡们就得出了这样一条因果律:栅栏门响过之后,主人必然会来喂食,因为以前总是这样的。

一日,有友人来访。农夫为了款待朋友,准备杀两只鸡。他提着刀走进鸡场,照例把门碰得很响。

两只公鸡坚信是主人喂食来了,仗着身强力壮,率先将脑袋伸出鸡笼。农夫手起刀落,两颗可怜的小脑袋来不及意识到它们的因果律的无效,便流着鲜血落到尘土中了。

哲学家用一把明晃晃的餐刀笨拙地削着一个苹果,好像自言自语:“可是,许多人并不比这两只公鸡更聪明啊!”

客人望着主人手中的餐刀,慌慌张张地起身告辞,摸着脖子仓皇而去。

哲学家追到门口喊道:“水开了,不喝杯茶再走吗?”

这个小故事,给我带来的观念是因果关系是不靠谱的,不科学的。

但读完导读手册,我意识到我对因果关系的误解原因在于,这则故事中对于因果之间的条件描述并不完备——将一个条件当成了全部条件。书中作者Pearl提出的贝叶斯网络模型(CH3),给出了完整的概念工具——干预、混杂、中介,了解这几个基本概念之后就能明白故事中所说的因果关系是不完善的概念。

那么第二点,日常学习中对因果关系的负面印象,到底是来自于哪里呢?文章里Pearl指出,因果关系在最应该以因为研究目标的统计学中,一直在被背弃。究其根源,是因为统计学家们过分坚持一个观念:客观数据优先于主观认知。

而这一理念与日常的科学理念所倡导的基本一致。虽然客观与主观的概念表面上与因果关系关联不大,但在人们对因果关系概念并不真正认识的情况下,“客观优于主观”这一科学思想的流行,正是造成人们对因果关系抱有偏见的原因。

心得到此结束。

导读手册的观点集合

下面是对导读手册内容部分观点的提取和整理笔记,不完全代表作者的意图,只是个人从中提取到的信息集合,请大家酌情吸收。

作者珀尔(Pearl)认为,对因果关系的研究和重视,相当于一次认知革命,对世界对科学将带来无可比拟的震撼和提升。其中,最为显著最直观的收益是:能突破当前人工智能技术AI(Artificial Intelligence)的理论局限——近几年来AI飞速发展,但主要是得力于算力的提升,其理论依据没有任何新的进展。

Pearlg给出了因果论的三层阶梯,并基于此,对当前AI技术与因果关系的相关关系进行分析,描述了当前AI技术理论局限性所在,并指出了AI技术的突破方向。最后指出因果推断如此重要但却发展如此缓慢的原因在于,缺乏形式化理论来描述因果推断,或者是说缺乏一套“语言”。而Peral则给出了一套因果的“语言”——因果图——来自由表达因果知识,这是在数学意义上的模型。

下面分4点进行描述:

1. 因果论的三层阶梯

2. 因果论与AI技术

3. AI的局限与突破

4. 对因果关系的数学描述

因果论的三层阶梯

因果论的三层阶梯是说,Pearl将因果论划分为三个层面,并称之为“因果关系之梯”。第一层级研究“关联”,第二层级研究“干预”,第三层级研究“反事实推理”。

第一层级的“关联”,是被动接受观测结果,考虑的问题是“如果我看到······会怎样”。

第二层级的“干预”,是会主动实施行动,考虑的问题是“如果我做了······将会怎样”和“如何做”。

第三层级的“反事实推理”,是考虑一个假想世界,在现实生活中并不存在,其典型的问题是“假如我做了·····会怎样?为什么?”。

总的来说,这套因果关系之梯描述了人类的智能独到之处。其中干预让人不再只是被动收集数据,而是思考主动做出改变后会发生什么。而更高级的反事实推理,是人类智能区别与动物智能的关键所在——人们由此得以想象不存在的世界,忏悔、道德、宗教、社会组织······皆源于此。

因果论与现有人工智能AI

Pearl认为,作为AI的一部分,大数据分析、深度学习、机器学习,处在因果关系的最低层级,因为他们的研究对象还是相关关系。说得通俗一些,大数据分析就是多变量统计分析,深度学习就是隐层多了一些的神经网络,理论上没有太多新意。

近十年来,有两项AI壮举震惊世界,分别是“沃森”和AlphaGo。

“沃森”本质上是一个信息检索系统,但除了简简单单地搜索匹配内容,它还能高效地寻找并生成假设或挖掘证据。即它考虑的是干预问题:“如果我做了某假设,会有证据推翻它吗?”这是“沃森”成功的关键——它登上了因果关系之梯的第二层。

AlphaGo继“沃森”之后,再次掀起了AI狂潮。因为,AlphaGo解决了一度被认为在近期内是不可能被AI解决的难题(围棋所包含的巨大搜索空间(其状态数远远超过整个宇宙中的原子数)一直是机器学习未能攻克的难题)。

AlphaGo的成功主要依赖于深度学习、强化学习和随机模拟技术(也称蒙特卡罗技术)。其中强化学习技术允许推断干预的结果,因此能攀上因果关系之梯的第二层级。

而随机模拟技术生成的数据,是模拟生成的数据,取代了现实世界的观测数据,所以有可能产生反事实数据,从而登上因果关系之梯的第三层级。

理论上可以证明,人工智能 AI 即便在因果关系之梯的最低层级做到极致,也无法跃升到干预层面,更不可能进入反事实的世界。

总之,借助算力的提升,目前AI 的火爆程度主要表现在工程实践比以往更丰富了,但应用层面的创新要远远超过基础理论的创新。作者提醒人们不要沉醉于数据万能的幻觉——“所有科学问题的答案都藏于数据之中,有待巧妙的数据挖掘技巧来展示”。Pearl试图传达给大家一个信息,数据固然重要,但它并不是推断的唯一来源,那些承载着知识或者经验的“因果”模型,才是帮助机器从“人工智障”走向人工智能的关键所在。

AI的局限与突破

Pearl认为,为了让机器具备自由意志,除了要具备第一层的关联,强人工智能还需要具备因果关系之梯的第二层干预和第三层反事实推理。

在“巨大搜索空间”这一难题面前,AlphaGo超出了人们的预期,获得了巨大成功。但惊喜之后人们意识到,仅仅针对这一难题,AlphaGo的算法依然有很大的局限性——其算法仅仅适用于大概率空间的智能搜索,其环境和状态可模拟的,而对于环境难以模拟的决策问题(如自动驾驶),这些算法是无能为力的。

Pearl对AlphaGo的AI技术(强化学习技术)与因果推断做了异同对比:

相同点在于两者都寻求策略(Policy),其行动之间是有因果关系的。

不同之处在于,针对推断策略的效果这一目标,强化学习技术仅仅能利用数据,而因果推断更为开放,可以利用数据之外的知识。

Pearl指出了现阶段AI发展的研究方向———如何将因果论与现有AI技术联手。譬如:因果推断所考虑的便利越多,对计算的挑战就越大,那么基于蒙特卡罗方法的近似计算是否能助其一臂之力?机器学习能否帮助和改进因果建模?

因果的形式化

在上文中有一个信息:数据固然重要,但它并不是推断的唯一来源,那些承载着知识或者经验的“因果”模型,才是帮助机器从“人工智障”走向人工智能的关键所在。

人类的思维位于数据之上,尤其是,对因果关系的理解应该先于数据表达出来。但遗憾的是,我们缺乏因果的语言去表达“承载着知识或者经验的’因果‘模型”中的先验知识。例如,气压计读数是大气压的果而非因,但在数学上,二者之间的关系表达式并不能体现出任何因果关系。

Pearl坚信,因果图提供了一套直观的“语言”,让我们能够自由地表达因果知识,有助于发展和推广因果论和时间问题。

贝叶斯网络模型

Pearl深受贝叶斯学派的影响提出了贝叶斯网络模型。

它是一种概率图模型,其中DAG(动态有向无环图)拓扑结构刻画了数据的产生机制,即节点变量的联合分布可按什么方式分解。

其中,三个节点构成的三种基本接合模式(链、叉和对撞)是构建贝叶斯网络和因果图的基本模块。

它们所具备的(条件)独立性对因果图至关重要,因为我们要靠(条件)独立性来判断路径是否被阻断(消息能否通过该路径传递)。

在链接合A-->B-->C中,以中介物B为条件,A、B是条件独立的。

在叉接合A<--B-->C中,以混杂因子(也称共因)B为条件,A、B是条件独立的。

在对撞接合A-->B<--C中,A、B是独立的。当以对撞B为条件时,A、B就是非条件独立的。

一个路径被节点集合Z阻断当且仅当满足以下条件之一:(1) 该路径包含链接合A-->B-->C或者叉接合A<--B-->C,其中B在Z之中(可以理解为,以B为条件,A、C条件独立)

(2)该路径包含对撞接合A-->B<--C,使得B以及其后代都不在Z之中。

如果Z阻断了X到Y的所有路径,则称以Z为条件,X和Y是d分离的,显然他们是条件独立的。

Pearl讲述了自己是如何从贝叶斯网络走向了因果推断的。Pearl指出,贝叶斯网络不是因果图,虽然而至结构都是DAG,但其箭头的含义不同(在因果图中,A-->B意味着A是B的因,也称A导致B)。另外的三种基本接合的(条件)独立性对贝叶斯网络和因果图来说是共通的。自此,Pearl思考因果论的基本工具已经准备得当——干预、混杂、中介等概念都已经搞清楚了。

Do演算计算因果效应

由混杂因子造成的伪相关性里面没有因果关系,例如“鞋的尺码<--儿童年龄-->阅读能力“,鞋码越大,阅读能力越强,二者呈强相关,但”鞋的尺码“不是”阅读能力“的因。

对混杂因子的认知多来自于领域知识领域或经验,因此,面对混杂问题,AI不应该让数据优先,而应让知识优先。

对一个变量X进行干预,do算子 do(X=x) 会删除所有进入X的箭头,从而也就阻断了有关X的消息向非因果方向传递。下图考虑了在有混杂因子的情况下,如何计算因果效应。

在上图中,两个因果图中Z的概率分布相同,即 Pm(Z=z) = P(Z=z)。另外,在给定条件 Z =z,X=x 时,条件概率 Pm(Y=y | X=x,Z=z )与 Pm(Y=y| X=x,Z=z)相同。于是,因果效应 P(Y=y | do( X=x) )具体计算如下:

调整公式

上述公式被称为“调整公式”,有了它,我们就可以计算 P( Y=y | do(X=x) )  -  P( Y=y|do(X=x') )

调整公式可被进一步推广为:

其中PA(X)表示X的父节点集合,并且z遍历了这些父节点可能取值的所有组合。

文章中后续还有给出更多重要的准则并接合具体的应用实例进行讲解。比如,后门准则,前门准则,结构方程模型SEM等。目前还没有深入了解,这里暂且不做记录。但很奇妙的是,这些准则的有趣程度远远超出我的想象。

导读手册的总结内容在此告一段落。后续阅读之后再见。

因果论与人工智能 P1 导读手册笔记相关推荐

  1. AI:周志华老师文章《关于强人工智能》的阅读笔记以及感悟

    AI:周志华老师文章<关于强人工智能>的阅读笔记以及感悟 导读        关于人工智能,长期存在两种不同的目标或者理念.一种是希望借鉴人类的智能行为,研制出更好的工具以减轻人类智力劳动 ...

  2. 常量 - PHP手册笔记

    原文:常量 - PHP手册笔记 常量语法 常量在脚本执行期间其值不能改变.常量大小写敏感,传统上常量标识符总是大写.常量一旦定义就不能被重新定义或取消定义,常量的值只能是标量. 可以用define() ...

  3. 预定义变量 - PHP手册笔记

    原文:预定义变量 - PHP手册笔记 预定义变量将所有的外部变量表示成内建环境变量,并且将错误信息表示成返回头.超全局变量是在全部作用域中始终可用的内置变量.在函数或方法中无需执行global $va ...

  4. 人工智能实践:TensorFlow笔记学习(八)—— 卷积神经网络实践

    大纲 7.1  复现已有的卷积神经网络 7.2  用vgg16实现图片识别 目标 掌握复现已有网络,用vgg16实现图片识别 7.1  复现已有的卷积神经网络 VGGNet是Karen simonya ...

  5. 人工智能实践:TensorFlow笔记学习(六)—— 全连接网络实践

    输入手写数字输出识别结果 大纲 6.1 输入手写数字图片输出识别结果 6.2 制作数据集 目标 1.实现断点续训 2.输入真实图片,输出预测结果 3.制作数据集,实现特定应用 6.1  输入手写数字图 ...

  6. 人工智能实践:TensorFlow笔记学习(五)—— 全连接网络基础

    MNIST数据集输出手写数字识别准确率 大纲 5.1 MNIST数据集 5.2 模块化搭建神经网络 5.3 手写数字识别准确率输出 目标 利用MNIST数据集巩固模块化搭建神经网路的八股,实践前向传播 ...

  7. 人工智能实践:TensorFlow笔记学习(四)—— 神经网络优化

    神经网络优化  大纲 4.1 损失函数 4.2 学习率 4.3 滑动平均 4.4 正则化 4.5 神经网络搭建八股 目标 掌握神经网络优化方法 4.1 损失函数 神经元模型:用数学公式表示为:,f为激 ...

  8. 人工智能实践:TensorFlow笔记学习(三)——TensorFlow框架

    搭建神经网络 大纲 3.1 张量.计算图.会话 3.2 前向传播 3.3 反向传播 目标 搭建神经网络,总结搭建八股 3.1 张量.计算图.会话 一.基本概念 基于Tensorflow的NN:用张量表 ...

  9. 人工智能实践:TensorFlow笔记学习(二)—— Python语法串讲

    Python语法串讲  大纲 2.1 Linux指令.HelloWorld 2.2 列表.元组.字典 2.3 条件语句 2.4 循环语句 2.5 turtle模块 2.6 函数.模块.包 2.7 类. ...

最新文章

  1. 单页面与多页面的区别及优缺点
  2. html怎么把图片放到数组,HTML5中的图像数组
  3. Swift2.0语言教程之类的属性
  4. poj2987最大权闭包(输出最少建塔个数)
  5. hdu_1233(最小生成树)
  6. python choice添加下拉框_自定义Django Form中choicefield下拉菜单选取数据库内容实例...
  7. python抢货程序_Python自动化xpath实现自动抢票抢货代码示例
  8. Jupter 在windows下的运行
  9. oracle一列有多个约束,在oracle中创建unique唯一约束(单列和多列)
  10. 华为 AppGallery Connect 构建游戏分发能力,赋能游戏全生命周期
  11. redis内核单元测试框架
  12. 【转】如何更改VS2005的启动环境
  13. 服务器启动socket服务报错 java.net.BindException:Cannot assign requested address
  14. python生成动态链接二维码
  15. 51单片机c语言数组怎么用,51单片机之C语言-4.2数组
  16. 寒假2019培训:跳楼机(洛谷P3403)
  17. 牛刀小试imageROI
  18. python实现12306查询火车票
  19. 高德地图去掉定位按钮_高德地图自定义定位按钮及点击事件
  20. Xshell SSH免密登录

热门文章

  1. zzu数学 实验十一最速降线
  2. oppo便签误删怎么办_oppo手机便签删除了怎么恢复?
  3. CSS便签样式效果,鼠标移动到指定便签显示隐藏内容
  4. 计算机什么乘出来是错误,excel表格乘法出来数据错误-EXCEL乘法出错误,做乘法运算,按回车出现的不是得数......
  5. 【CC6】Thank you, toastmasters! Thank you, EF Phoenixes!
  6. Postman知识汇总
  7. Java文件转换-txt转html
  8. 科技公司的奇葩企业文化
  9. QQ科技flash图片幻灯
  10. 一个视屏的时间教你学会Java面向对象进阶