暗知识.pdf
http://www.100md.com
2020年1月8日
![]() |
| 第1页 |
![]() |
| 第9页 |
![]() |
| 第17页 |
![]() |
| 第21页 |
![]() |
| 第48页 |
![]() |
| 第207页 |
参见附件(10231KB,387页)。
暗知识是由王维嘉所著,副标题为:“机器认知如何颠覆商业和社会”,社会在高速发展,人工智能已经初露头角,而人工智能是如何学习的,未来有将对商业和社会有哪些影响。

暗知识预览图




《暗知识》目录
第一章 横空出世——暗知识的发现
第二章 榨取数据——机器能学会的知识
第三章 神经网络——萃取隐蔽相关性
第四章 逐鹿硅谷——AI产业争霸战
第五章 飓风袭来——将被颠覆的行业
第六章 暗知识神迹——机器能否超越人类
第七章 “神人”与“闲人”——AI时代的社会与伦理
《暗知识》作者简介
王维嘉,中国科技大学学士和硕士,美国斯坦福大学博士。曾在斯坦福大学师从人工智能鼻祖之一、美国国家工程院院士伯纳德·威德罗教授。在硅谷学习、工作、创业、投资超过30年,拥有十几项美国基础专利,开发了世界上第一台手持互联网终端,是全球移动互联网的布道者和践行者。目前在硅谷专注投资人工智能,每年调研全球上千家高科技创业公司,访问世界学和研究所。曾受邀在凤凰卫视、中国证监会、深圳市政府等就人工智能进行演讲,反响强烈 。
他是硅谷风险投资公司 CEG Ventures 的创始合伙人,也是中国企业家论坛(亚布力)创始终身理事、中国企业研究所创始理事长、欧美同学会2005委员会共同创始人和第三届理事长、中国企业家环保协会(阿拉善)创始终身会员,以及数字中国共同创始人常务理事。
《暗知识》内容提要
AlphaGo战胜了世界围棋冠军,但无论是聂卫平还是设计AlphaGo的谷歌工程师都无法理解AlphaGo为什么这样走棋,这就是人工智能中令人困惑的“不可解释性”问题。作者从这个问题出发,发现了一类全新的知识——“暗知识”。
一直以来人类的知识可以分为两类:“明知识”和“默知识”。明知识就是那些可以用语言、文字或公式清晰表达和描述的知识;默知识则是个人在感觉上能把握但无法清晰描述的知识,也即我们常说的“只可意会,不可言传”的那类知识。今天,人工智能突然发掘出了人类既无法感受又无法表达和描述的暗知识—隐藏在海量数据中的万事万物间的关系。本书介绍了机器学习五大流派从数据中挖掘暗知识的方法以及各自适用的领域,尤其是神经网络的基本工作原理和目前在商业上应用最广泛的几种形态。同时着重讨论了暗知识对商业和社会的直接影响,比如哪些行业将面临机器认知的颠覆,在不同行业里有哪些投资机会和陷阱。本书最后介绍了目前还没有商业化的,但可能更深刻影响我们的一些神奇的人工智能应用,以及人工智能会在多大程度上取代人的工作,造成哪些社会问题,如何让下一代做好准备等。
暗知识截图


书名:暗知识:机器认知如何颠覆商业和社会
作者:【美】王维嘉
出版社:中信出版集团
出版时间:2019年4月
ISBN:9787508692982
本书由中信出版集团授权得到APP电子版制作与发行
版权所有·侵权必究导读
一直以来人类的知识可以分为两类:“明知识”和“默知
识”(Tacit Knowldge,又称默会知识)。明知识就是那些可以用
文字或公式清晰描述和表达出来的知识。默知识则是个人在感觉
上能把握但无法清晰描述和表达的知识,也即我们常说的“只可
意会,不可言传”的那类知识。人类发明文字以来,积累的知识
主要是明知识,因为只有明知识才可以记录和传播。直到大约70
年前,人类才意识到默知识的存在。今天,人工智能,特别是其
中的一个重要流派——神经网络,突然发现了海量的、人类既无
法感受又无法描述和表达的“暗知识”——隐藏在海量数据中的相
关性,或者万事万物间的隐蔽关系。这些暗知识可以让我们突然
掌握不可思议的“魔力”,能够做很多过去无法想象的事情。本书
就是要清楚阐述机器学习发掘出了什么样的暗知识,为什么机器
能够发现这些暗知识,以及这些暗知识对我们每个人会有什么影
响。
本书分为三个部分。
第一部分包括第一、二、三章,其中第一章里我们发现
AlphaGo(阿尔法围棋)给我们带来的最大震撼是人类完全无法
理解机器关于下棋的知识。这个发现迫使我们重新审视人类对
于“知识”的所有观念。这一章回顾了2 500年来人类所熟悉的明知
识和直至大约70年前才注意到的默知识。近几十年的脑神经科学
的研究成果让我们对知识的本质有了更清楚的认识,也回答了为
什么人类既无法感受,也无法理解机器发现的那些暗知识。这一章还分析了明知识、默知识和暗知识之间的区别,讨论了为什么
暗知识的总量将远远超过人类能掌握的所有知识。
第二章介绍了机器是怎样学习的,能学习哪些知识,同时介
绍了机器学习的五大流派以及各流派从数据中挖掘知识的方法。
第三章则重点介绍了目前机器学习中最火的神经网络,包括
神经网络的基本工作原理和目前在商业上应用最广的几种形态,以及各自适用的领域。有了这些基础就可以判断AI(人工智能)
在各个行业的商业机会和风险。也只有理解了这些原理,才能真
正理解暗知识的特点。为易于阅读和照顾不同读者的需求,在这
一章中我们尽量用通俗的语言解释这些工作原理,而把精确的技
术原理介绍放在附录里。
第二部分(第四、五章)讨论了AI对商业的影响。我们将看
到机器发掘出来的暗知识对我们生活的直接影响。对于想把握AI
商业趋势的读者来说,这部分的内容至关重要。其中,第四章描
述了当前的AI产业生态,第五章详尽探讨了哪些行业将面临AI的
颠覆,以及在不同行业的投资机会和陷阱。
第三部分(第六、七章)的内容是AI对未来和社会的影响。
第六章重点讨论目前还没有商业化的,但可能更深刻影响我们的
一些神奇的AI应用。第七章讨论了机器和人的关系:机器能在多
大程度上取代人的工作,会造成哪些社会问题(例如大面积失
业)。这两章的主要目的是开脑洞,探讨那些我们今天可能还看
不到的更深远的影响。本章也试图回答人类的终极恐惧:机器人
最终会控制人类吗?本书的各个章节前后连贯,但也可以跳着读,对于那些只对
商业感兴趣的读者,可以跳过第二、三章直接读第四、五章。
笔者在美国斯坦福大学读博士期间做过人工智能研究,后来
在硅谷和中国创办高科技公司,目前在硅谷专注于投资人工智
能。每年访问调研上千家硅谷和中国的科技公司,接触顶级大学
最前沿的研究,这些都有助于笔者从大量的实践中提炼出自己对
行业的原创的分析和洞见,而不是人云亦云。
笔者长期对人类如何获得知识感兴趣,在投资、研究和写作
AI的过程中,发现了暗知识这样一个人类以往未曾发现的领域。
这个概念的提出一定会引起争议,笔者欢迎读者的批评并期待在
批评和讨论中进一步深化在这方面的认识。
本书的目标读者是企业和政府工作人员及其他知识阶层,包
括学生。暗知识对人类的影响刚刚开始。从暗知识这个新视角出
发,可以更深刻地理解这次AI巨浪。这波巨浪可能超过互联网,许多行业都会深受影响。本书希望能回答“AI对我的行业和职业
会有什么影响”。只有把AI的技术、趋势和应用深入浅出地讲清
楚,读者才可能举一反三,理解AI对自己的影响。本书从笔者自
己的投资实践出发,希望能为在AI时代进行投资提供一些参考。
在AI飓风里泥沙俱下,鱼龙混杂,会有大量的炒作,读完本书可
以帮助读者辨别真伪,不会被轻易忽悠。在今后5~10年,不论是
风险投资私募股权投资还是在公开股票市场投资都需要有这样的
辨别能力。本书最后在讨论人工智能对整个社会的影响时也提出
了一些未经检验的建议。每当读到市面上科技类的书籍时,常被那些含混不清的描述
所困扰。当年在斯坦福大学上课时留下的最深印象就是那些学科
的开山鼻祖对自己学科理解之深入。他们能用最简单的方式把最
深奥的道理讲明白,让听课的学生一下子就能理解一门学科的核
心概念,而且一辈子不会忘记。从那以后,笔者就坚信,如果学
生没听懂,一定是老师没讲明白。这本书希望用最通俗易懂的语
言介绍暗知识和AI。任何具有高中以上学历的读者如果有没读懂
的地方,一定是因为笔者没有写明白。
今天每个人都要面对海量的信息和知识,如何让读者花最少
的时间获取最大量的信息和知识成为一个挑战。笔者最欣赏的文
章和书籍是那些没有一句多余的话的,这也是笔者写作本书的目
标之一。本书希望能够做到读者在机场书店买了这本书后能在下
飞机前读完,而且读完之后可以清晰地判断这场技术大浪对自己
的影响。
王维嘉
2019年1月13日于硅谷序言
“暗知识”和现代社会
自2017年AlphaGo大胜柯洁,人工智能即将碾轧人类的话题
便进入大众视野,迅即引起普遍的狂热和焦虑。我认为,王维嘉
这本《暗知识:机器认知如何颠覆商业和社会》的出版,是对这
种情绪的有效清醒剂和解毒药。
说这本书是清醒剂,是因为它极为简明清晰地叙述了人工智
能的科学原理及其技术实现,无论是神经网络结构,其自我学习
的过程,还是深度学习和卷积机制,《暗知识:机器认知如何颠
覆商业和社会》比现在出版的任何一本书都讲得更清楚、易读。
以人类认知为背景来解读人工智能,正好可以为当前人工智能领
域中泛起的非理性狂热降温。其实,早在20世纪60年代,控制论
创始人维纳(Norbert Wiener)的学生阿比布(Michael Arbib)在
《大脑、机器和数学》一书中,已经清晰地叙述了神经元网络数
学模型和学习机原理,并讲过这些原理有助于我们“从‘机
器’中‘赶走鬼魂’”。阿比布讲的“机器”是指大脑的记忆、计算和学
习等功能,它们自笛卡儿以来被视为机器的有机体(生
物),“鬼魂”则是指生物的本能和学习能力。而王维嘉的《暗知
识:机器认知如何颠覆商业和社会》一书,“赶走”的不是以往所
说的有机体的神秘性,而是对人工智能研究和可能性的想象中
的“鬼魂”,即误以为当神经元网络的连接数量接近于人脑时,它
们会涌现出如人类那样的自我意识和主体性等。
人工智能的神经元网络系统能做什么?如上所说,早在它被做出来以前,数学家已经证明,无论神经元网络多么复杂,它等
价于有限自动机;而一个能和环境确定性互动(自耦合、反馈和
自我学习)的有限自动机(神经元网络),只不过是某一种类型
的图灵机(通用计算机)。
也就是说,人工智能革命之基础——神经元网络的自我学习
及其与环境互动所能达到的极限,都超不过图灵机的行为组合。
从20世纪下半叶至今,伴随着人工智能的快速、高度发展,关于
它能否在未来某一天具有意识的讨论,一直是在电脑和人脑差别
的框架中展开的。我认为,只要发展出相应的数学理论,就能了
解神经元网络学习已做出的和可能做的一切。但有一点是毫无疑
问的,它不可能具有自我意识、主体性和自主性。
为什么说这本书是解毒药?因为维嘉在解释为什么人工智能
可以比人更多、更快地掌握知识(能力)时,把人工智能所掌握
的信息定义为“暗知识”,从而可以得出清晰的理论表述。我们首
先要弄明白什么是知识,知识就是人获得的信息。而人利用信息
(知识)离不开获得信息和表达信息两个基本环节,人获得信息
是用感官感知(即经验的),表达信息是通过符号(语言)和对
符号结构之研究(符号可以是非经验的)。这样,他根据“可否
感知”和“可否表达”,把人可利用的知识分为如下四种基本类型:
第一,可感知亦可表达的知识。它包括迄今为止所有的科学
和人文知识。
第二,不可感知但可表达的知识。任何经验的东西都是可感
知的,不可感知的就是非经验的。有这样的知识吗?当然有。以数学为例,抽象代数的定理是正确的知识,但可以和经验无关。
人之所以为人,就在于可以拥有纯符号的知织,它是理性的重要
基础。
第三,可感知但不可表达的知识。它包括人的非陈述性记忆
和“默会知识”。
第四,不可感知亦不可表达的知识。这就是当前神经元网络
通过学习掌握的知识。维嘉将这类大大超出了个别人所能记忆和
学习的知识称为“暗知识”。“暗知识”的提出,不仅是一项哲学贡
献,也为当前盛行的科学乌托邦提供了一剂解毒药。
20世纪社会人文研究最重要的成就,就是发现“默会知识”和
市场的关系。人类可共享的知识都是可以用符号表达的知识,但
它不可能包含每个人都具有的“默会知识”。经济学家利用“默会知
识”的存在,证明了基于理性和科学知识的计划经济不可能代替
市场机制。一个充分利用人类知识的社会,一定是立足于个人自
主、互相交换自己的能力和知识所形成的契约组织。忽视所有个
人具有的“默会知识”,把基于理性和可表达的知识设计出的社会
制度付诸实践,会出现与原来意图相反的后果。哈耶克称这种对
可表达知识的迷信为“理性的自负”。今天随着大数据的应用,这
种理性的自负再一次出现在人工智能领域。而“暗知识”的提出,扩大了不能用符号表达知识的范围,进一步证明了哈耶克的正确
性。所以,我说这本书是对当前理性自负的有效解毒药。
维嘉在书中提出的另一个有意义的问题是“暗知识”会在何种
程度上改变现代社会。正如该书副标题所说,这种新型知识大规模的运用,将会导致大量拥有专门知识和技能的人失业、一批又
一批的行业消失,甚至连医生专家都可能被取代。姑且不论这种
预测是否准确,有一点是肯定的,即人工智能必定会极大地改变
我们赖以生存的社会。那么,它会把人类社会带到哪里去?这正
是人工智能革命带来的普遍焦虑之一。人工智能对城市管理和对
每个人私隐的掌握,是否会导致个人自由和隐私的丧失?由大数
据和人工智能高科技管理的社会,还是契约社会吗?
现代社会和传统社会的本质不同就在于其高度强调个人的主
体性和创造性,任何信息的获得、表达和应用都离不开个人的主
体性和创造性。我认为,人工智能可以具有掌握“暗知识”的能
力,但它不可能具有自我意识,当然亦无所谓主体性,它只能被
人所拥有。因此,一个能允许知识和技术无限制进步的社会,仍
然是建立在个人契约之上的。也就是说,无论科学技术发展到什
么程度,现代社会的性质不会因之而改变。
然而,我认为,人工智能或许会使现代社会的科层组织的形
式发生改变。为什么现代社会需要科层组织?众所周知,现代社
会除了由法律和契约提供组织框架以外,还必须向所有人提供不
同类型的公共事务服务,如治安、交通设施、教育、医疗等。为
此就要设立处理不同类型事务的专门机构来管理社会,如军队和
政府科层组织。科层组织之间功能的实现和协调,要利用符号表
达的共享知识,因此,随着现代社会的复杂化,必定出现技术官
僚的膨胀。而人工智能革命和“暗知识”的运用,必定会向社会管
理层面深入。如果它运用得不好,会使现代社会生长出超级而无
能的官僚机构的毒瘤;如果它运用得好,可以促使人更好地发挥自主性和创造性,甚至可以取代科层管理中不必要的机构。因
此,我认为人工智能将会在这一层面给现代社会带来巨大影响。
科层组织的形成和理性化的关系,是韦伯分析现代社会的最
重要贡献。在未来,随着人工智能对“暗知识”的掌握和运用向社
会管理渗透,甚而替代,将会证明韦伯这一重要论断不再成立。
可惜的是,维嘉的《暗知识:机器认知如何颠覆商业和社会》一
书忽略了人工智能革命和现代社会官僚化关系的讨论。科层组织
的设立是基于理性(共享知识),人工智能擅长的是掌握“暗知
识”,如果从事社会公共事务管理的人员可以被掌握“暗知识”的人
工智能取代,科层组织还有存在的必要吗?或者,它将以什么样
的新形式存在?如果不再需要科层组织,未来无政府的现代社会
将如何运行?这正是我们应该关注的,它需要人文和科学两个领
域的对话。
金观涛
2019年2月寄语译:我非常高兴推荐这本书。这本书对机器学习的发明带来
的下一场工业革命进行了详尽的分析。我希望这个技术将被
用来使人类的生活更美好、更和平,并不再有战争。——伯
纳德·威德罗,2019年2月26日于斯坦福第一章
横空出世——暗知识的发现
导读
正当人类自以为掌握了关于这个世界的海量知识时,一
种能够自我学习的机器给了我们当头一棒:机器发现了一类
人类既无法感受,也不能理解的知识。这类知识的发现,逼
迫我们重新审视过去所有关于知识的观念。我们回顾了2 500
年来在这个问题上的争论:知识是通过经验得到的还是通过
推理得到的?直到大约70年前人们才注意到那些“只可意
会,不可言传”的默知识的重要性。但这些争论在最新的脑
科学研究结果面前都显得肤浅和苍白。最近几十年的科学研
究确认了认知的基础是大脑神经元之间的连接。有了这个基
础,我们就很容易理解为什么有些知识无法表达,也才能明
白为什么人类无法理解机器刚刚发现的这些暗知识。在此基
础上,我们终于可以清晰地区分这样三类知识:人类能掌握
的明知识和默知识以及只有机器才能掌握的暗知识。骄傲的人类
也许是由于几十万年前人类远古祖先某个基因的突变,人们
开始可以把一些有固定意思的发音片段组装成一个能表达更复杂
意思的发音序列。这些发音片段今天我们叫作“单词”,这个表达
特定内容的发音序列今天我们叫作“句子”。这种“组装”能力使人
类用有限的单词可以表达几乎无穷多种意思,语言诞生了。有了
语言的复杂表达能力,人类的协作能力开始迅速提高,可以几十
人一起围猎大型动物,很快人类就上升到地球生物链的顶端。作
为记录语言的符号——文字的发明可以让人类更方便地传播、记
录和积累经验。任何一个地方的人类偶然发现的关于生存的知识
都会慢慢传播开来。一万年前,农业起源于今天的埃及、叙利亚
和伊拉克的肥沃新月带,这些种植经验在几千年中传遍全世界,随之而来的是人类迅速在地球所有适宜农耕的角落定居繁衍。
随着定居的人类数量的增加,人类的组织开始变得更大更复
杂,从亲缘家族到部落,到城邦,再到国家。大规模的复杂组织
可以开展大规模的复杂工程,如建设城市、庙宇和大规模灌溉系
统。这些大规模工程需要更多的天文和数学知识。世界上几乎所
有的古老文明都积累了许多天文知识,但只在希腊半岛诞生了现
代科学的奠基石——数学。欧几里得(Euclid,公元前330—前
275)在公元前300年总结了他前面100年中希腊先哲的数学成
果,写出了人类历史上最伟大的书之一《几何原本》
(Elements)。这本书在中世纪由波斯裔的伊斯兰学者翻译成阿
拉伯文,又从阿拉伯传回文艺复兴前的欧洲,直接影响了从哥白
尼(Nicolaus Copernicus,1473—1543)到牛顿(Issac Newton,1643—1727)的科学革命。
发轫于16世纪的科学革命的本质是什么?是发现更多的知识
吗?是创造出更多的工具吗?都不是。科学革命的本质是找到了
一个可靠的验证知识的方法。
最能体现科学革命本质的就是天文学家开普勒(Johannes
Kepler,1571—1630)发现三定律的过程。最初,在作为主流的
托勒密(Ptolemy,90—168)地心说越来越无法解释天体观测数
据时,哥白尼提出了日心说,用新的模型解释了大部分过去无法
解释的数据。与伽利略(Galileo Galilei,1564—1642)同时代的
天文学家第谷·布拉赫(Tycho Brahe,1546—1601)没有接受哥
白尼的日心说,他提出了“月亮和行星绕着太阳转,太阳带着它
们绕地球转”的“日心—地不动”说。遗憾的是,他倾尽毕生心血观
察了20年的天文数据,直到去世都始终无法让观测到的数据与自
己的模型相吻合。
在第谷去世后,第谷的助手开普勒拿到了他的全部数据,开
普勒完全接受了哥白尼的日心说。他为了让数据与日心说完全吻
合,把哥白尼的地球公转的圆形轨道修正为椭圆轨道,太阳在椭
圆的一个焦点上。这就是开普勒第一定律。他用相同的方法发现
了其他两个定律。开普勒三定律不仅完满解释了第谷的所有观测
数据,并且能够解释任何新观测到的数据。
这个发现过程有三个步骤:第一,积累足够的观测数据(第
谷20年的观测数据);第二,提出一个先验的世界模型(哥白尼
的“日心说”);第三,调整模型的参数直至能够完美拟合已有的数据及新增数据(把圆周轨道调整为椭圆轨道,再调整椭圆轴距
以拟合数据)。验证了这个模型有什么用?最大的用处就是可以
解释新的数据或做出预测。在这里开普勒三定律就是新发现的知
识。发现知识的可靠方法就是不断修改模型使模型与观测数据完
全吻合。
上面这三个步骤奠定了现代科学的基本原则,正式吹响了科
学革命的号角,直接导致了后来的牛顿万有引力的发现,一直影
响到今天。
过去500年中人类对世界的认识突飞猛进,今天大到宇宙,小到夸克都似乎尽在人类的掌握之中。人类可以上天、入地、下
海,似乎无所不能。人类有了“千里眼”“顺风耳”,甚至开始像“上
帝”一样设计新的物种,并企图改变人类进化的进程。人类有理
由相信没有什么知识是不能理解的,也没有什么知识是不能被发
现的……直到2016年3月15日。
天才的哽咽
2016年3月15日,美国谷歌公司的围棋对弈程序AlphaGo以五
局四胜的成绩战胜世界围棋冠军韩国选手李世石。一时间这个消
息轰动世界,全世界有28亿人在关注这场比赛,在中国更是引起
极大的轰动。人们感觉AlphaGo就像从石头缝里蹦出来的孙悟空
一样,完全无法理解一台机器如何能够打败世界围棋冠军。围棋
历来被认为是人类最复杂的游戏之一。围棋每一步的可能的走法
大约有250种,下完一盘棋平均要走150步,这样可能的走法有
250150=10360种,而宇宙从诞生到现在才1017秒,即使是现在世界上最快的超级计算机,要想把所有走法走一遍,计算时间也要
比宇宙年龄都长。即使排除了大部分不可能的走法也是大到无法
计算。机器是怎样学会这么复杂的棋艺的?
这场比赛后,世界排名第一的棋手柯洁在网上说:“AlphaGo
胜得了李世石,胜不了我。”而2017年5月28日,棋手柯洁以0:3
完败AlphaGo,彻底击碎了人类在这种复杂游戏中的尊严。赛
后,这位天才少年一度哽咽,在接受采访时柯洁感叹,AlphaGo
太完美,看不到任何胜利的希望。他流着眼泪说:“我们人类下
了2 000年围棋,连门都没入。”中国棋圣聂卫平更是把AlphaGo尊
称为“阿老师”,他说:“AlphaGo的着数让我看得如醉如痴,围棋
是何等的深奥和神秘。AlphaGo走的顺序、时机掌握得非常好。
它这个水平完全超越了人类,跟它挑战下棋,只能是找死。我们
应该让阿老师来教我们下棋。”他还说:“阿老师至少是20段,简
直是围棋上帝。”
当人们以为这是对弈类程序的高峰时,AlphaGo的研发团队
DeepMind(谷歌收购的人工智能企业,位于伦敦)团队再度碾轧
了人类的认知。2017年12月,DeepMind团队发布了AlphaGo
Zero(阿尔法围棋零)。AlphaGo Zero使用了一种叫作“强化学
习”的机器学习技术,它只使用了围棋的基本规则,没有使用人
类的任何棋谱经验,从零开始通过自我对弈,不断地迭代升级,仅仅自我对弈3天后,AlphaGo Zero就以100:0完胜了此前击败世
界冠军李世石的AlphaGo Lee版本。自我对弈40天后,AlphaGo
Zero变得更为强大,超过了此前击败当今围棋第一人柯洁的
AlphaGo Master(大师版),这台机器和训练程序可以横扫其他棋类。经过4个小时的训练,打败了最强国际象棋AIStockfish,2
个小时打败了最强将棋(又称为日本象棋)AIElmo。
AlphaGo Zero证明了即使在最具有挑战性的某些领域,没有
人类以往的经验或指导,不提供基本规则以外的任何领域的知
识,仅使用强化学习,仅花费很少的训练时间机器就能够远远超
越人类的水平。
机器发现了人类无法理解的知识
AlphaGo Zero给我们的震撼在于人类2 000多年来一代代人积
累的一项技艺在机器眼里瞬间变得一文不值!为什么会这样?围
棋中的可能走法比宇宙中的原子数都多,而人类2 000多年中高水
平对弈非常有限,留下记录的只有几万盘。这个数字和所有可能
走法比,就像太平洋里的一个水分子。而AlphaGo Zero以强大的
计算能力,在很短的时间里探索了大量的人类未曾探索过的走
法。人类下棋的路径依赖性很强,人生有限,想成为高手最稳妥
的办法是研究前人的残局,而不是自己瞎摸索。但AlphaGoZero
在下棋时,不仅一开始的决策是随机的,即使到了大师级后,也
故意随机挑选一些决策,跳出当前思路去探索更好的走法,新发
现的许多制胜走法都是人类从未探索过的,这就是很多走法让聂
卫平大呼“看不懂”的原因。
AlphaGo Zero给我们的震撼在于三个方面:首先,人类能发
现的知识和机器能发现的知识相比,就像几个小脚老太太走过的
山路和几百万辆越野车开过的山路。越野车的速度就是计算机和
AI芯片处理速度,目前继续以指数速度在提高。其次,和机器可能发现的知识相比,人类知识太简单、太幼稚,机器谈笑风生,比人不知道高到哪里去了。最后,机器发现的知识不仅完全超出
了人类的经验,也超出了人类的理性,成为人类完全无法理解的
知识。
2 500年前最有智慧的希腊哲人苏格拉底(Socrates,公元前
469—前399)终其一生得出一个结论:“我唯一知道的是我什么
都不知道。”他的学生柏拉图(Plato,公元前427—前347)认为
我们感官观察到的世界只是真正世界的影子而已。18世纪伟大的
哲学家康德也仰望星空,发出了“我们到底能知道什么”的千古之
问。但古代哲人只能模糊地感觉到人类认识的局限。今天,AlphaGo Zero不仅清晰、具体地把他们的疑虑变成了铁的事实,而且先哲怎么也想不到人类的认识能力是如此有限!
你会质疑说:这不算什么震撼吧,人类早就知道我们已知的
很少,未知的很多。但这个下围棋的例子告诉你:已知的是几万
盘残局,未知的是10360种可能走法,两者相差几百个数量级!
(不是几百倍,是几百个数量级,一个数量级是10倍。)
你学过概率和统计,继续不服:我们早就知道组合爆炸。没
错,但我们知道未知的组合爆炸里有比人类已经获得的知识高深
得多的知识吗?AlphaGo Zero是第一次活生生地证明了这点。听
说过火山爆发和在现场看到的感觉能一样吗?
当然最震撼的就是第三个方面。我们也许知道我们不知道很
多,甚至能用逻辑推断出未知知识里有比已知知识更高深的知
识,但我们怎么也想不到这些知识是人类根本无法理解的。这是人类历史上第一次遇到这样的问题,我们给自己造了个“上帝”!
这件事对哲学和认识论的冲击空前,人类突然不知所措,影响还
在发酵,后果不可估量。
“理解”的意思是要么能用感觉把握事物间的关系,要么能用
概念把经验表达出来,或者用逻辑把事物间的关系表达出来。无
法理解就等于既无法感受又无法表达。
也就是说,机器发现了人类既无法感受也无法表达的知识。
用更通俗的话说就是,机器发现了那些既无法“意会”又无法“言
传”的知识。
一个无法理解的知识的表现形式是什么样的?如果无法理解
又怎么判断它就是知识?当我们想回答上面的问题时,我们发现
必须重新审视什么是“知识”。人类过去几千年是怎样获得知识
的,获得了什么样的知识?就像每次科学上的重大发现都要迫使
我们重新审视过去习以为常的观念一样,今天机器的震撼让我们
必须重新审视过去所有关于“知识”的基本理念。
人类获得知识的行为就是认知。过去我们对世界的认识局限
主要来自观察能力。在望远镜发现之前,第谷根本无法观测行星
运动,当然更谈不上记录数据,也不会有后来的开普勒定律和牛
顿万有引力定律。在显微镜发明之前,我们不可能发现微生物,一切关于细胞和基因的发现都无从谈起。今天谁能花1 000万美元
买一台冷冻电镜,谁就可以看到别人看不到的分子晶体结构,就
可以经常在《自然》(Nature)杂志上发表文章。随着新的观察
仪器的出现和已有观察仪器的改进,我们对世界的认识还会不断深入。
我们对世界认识的第二个局限来自解释能力。所谓解释能力
就是发现事物间的因果关系或者相关性并能够表达出来。即使我
们能观察到许多现象,如果我们无法解释这些现象则还是无法从
这些观察中获得知识。例如第谷虽然有大量观测数据,但终其一
生没有找到一个能解释数据的正确模型。又如我们观察到人有语
言能力而黑猩猩没有,但不知道为什么,仅仅是知道这个现象而
已。
人类几千年来关于知识的争论正是围绕着“观察”还是“解
释”展开的。
理性主义和经验主义之争
自从5 000年前两河流域的苏美尔人发明了人类最早的文字
——楔形文字以来,人类一直在记录和积累知识。但直到2 500年
前希腊人才开始系统地研究关于知识的学问。在这个问题上,一
直有两大流派:理性主义和经验主义。
第一个开启了理性主义的人是苏格拉底。人类此前的大部
分“知识”要么从宗教教义中来,要么从传统习俗中来。人们从生
下来就不加怀疑地接受了这些东西。而苏格拉底则要一一审视这
些东西。苏格拉底说我们都希望有一个“好”的人生,但到底什么
是“好”什么是“坏”呢?不去质疑,不去深究你怎么知道呢?所以
深究和道德是不可分割的,不去深究我们身边的世界不仅是无知
而且是不道德的,所以他的结论是:一个未经深究的人生根本就不值得过。他平时没事就跑到大街上拉住人诘问:“什么是正
义?”“什么是善?”“什么是美?”每当人们给他个定义时,他都能
举出一个反例。他这种深究思辨影响了无数代人。后来当他的学
生柏拉图把“人”定义为“没有毛的双足动物”时,当时的另一位哲
学家提奥奇尼斯马上拿来一只拔光了毛的鸡说:“大家请看柏拉
图的‘人’!”经过一生的深究,苏格拉底得出结论“我唯一知道的
是我什么也不知道”。苏格拉底式思辨震撼了当时的社会,传统
势力认为这样会搞乱人心,当政者用“腐蚀青年思想罪”判处他死
刑,他最终饮毒酒身亡。他一生全部用来和人辩论,没有留下任
何著作。幸亏他的学生柏拉图把老师的辩论编辑成了传世之作
《对话录》。正是苏格拉底开启了通过逻辑思辨来验证知识的希
腊传统。
如果说是苏格拉底开了理性主义的先河,他的弟子柏拉图就
是理性主义集大成的鼻祖。苏格拉底的思辨主要集中在道德哲学
领域,探究什么是“公平”和“善”。而柏拉图则对他的先辈毕达哥
拉斯(Pythagoras,约公元前570—前495)开创的数学传统深为
折服。柏拉图的学说深受数学严格推理的影响。他甚至在他创办
的学宫门口挂了个牌子:“不懂几何者不得入内。”柏拉图学说的
核心是“理想原型”。他说,世界上每一条狗都不一样,我们为什
么认为它们都是狗?人类心中一定早有一个关于狗的理想原型。
我们知道三角形的内角之和等于180度,但我们从未见过一个完
美的三角形。他认为人类的感官无法触及这些理想原型,我们能
感受到的只是这些理想原型的失真拷贝。真实世界就像洞穴外的
一匹马,人类就像一群背对着洞口的洞穴人,只能看到这匹马在
洞穴壁上的投影。柏拉图奠定了理性主义的两大基础——知识(理想原型)是天生的;感官是不可靠的,并由此推出理性主义
的结论:推理而不是观察,才是获取知识的正确方法。
亚里士多德(Aristotle,公元前384—前322)17岁进入柏拉
图的学宫当学生,当时柏拉图已经60岁了。亚里士多德在学宫里
待了20年,直到他的老师柏拉图去世。亚里士多德对老师非常尊
敬,但他完全不同意老师的“理想原型”是先天的。他认为每一条
狗都带有狗的属性,观察了许多狗之后就会归纳出狗的所有属
性。这个“理想原型”完全可以通过后天观察获得,而不需要什么
先天的假设。柏拉图酷爱数学,而亚里士多德喜欢到自然中去观
察植物和动物。两人的喜好和经历是他们产生分歧的重要原因之
一。亚里士多德认为:知识是后天获得的,只有通过感官才能获
得知识。正是亚里士多德开了经验主义的先河。
经验主义这一派后世的著名代表人物有英国的洛克(John
Locke,1632—1704),贝克莱(George Berkeley,1685—1753)
和休谟(David Hume,1711—1776),贝克莱认为人生下来是一
张白纸,所有的知识都是通过感官从经验中学来的。但理性主义
则认为,经验根本不可靠。英国哲学家罗素(Bertrand Russell,1872—1970)有个著名的“火鸡经验论”。火鸡从生下来每天都看
到主人哼着小曲来喂食,于是就根据经验归纳出一个结论:以后
每天主人都会这样。这个结论每天都被验证,火鸡对自己的归纳
总结越来越自信,直到感恩节的前一天晚上被主人宰杀。理性主
义者还问:眼见为实吗?你看看图1.1中的横线是水平的还是倾斜
的?图1.1视错觉图(图中所有横线都是水平的)
理性主义的后世代表人物则有法国的笛卡儿(Rene
Descartes,1596—1650)和德国的莱布尼茨(Gottfried Leibniz,1646—1716)。笛卡儿有句名言“我思,故我在”,我的存在这件
事不需要经验,不需要别人教我,我天生知道。莱布尼茨是和牛
顿一样的天才,他和牛顿同时发明了微积分,也是二进制的发明
人,还发明了世界上第一台手摇计算器。他认为世界上每个事物
都包含了定义这个事物的所有特性,其中也包含了和其他事物的
关系。从理论上我们可以用推理的方法预测全宇宙任何一点,过
去和未来任何时间的状态。
理性主义认为,感官根本不靠谱,最可靠的是理性,基于公
理严格推导出来的几何定理永远都不会错。理性主义找出更多的
例子来说明人类的最基本的概念是天生的。例如自然数,我们怎么学会“1”这个概念的?拿了一个苹果告诉你“这是一个苹果”;又
给你拿了个橘子告诉你“这是一个橘子”。但苹果是苹果,橘子是
橘子,两者没关系,你怎么就能抽象出“1”这个概念来呢?又比
如我们可以根据直角三角形的特点推导出勾股定理,又进一步发
现世界上居然有无法用分数表达的无理数。这种革命性的发现完
全不依赖感觉和经验。小孩一出生就知道这个球不是那个球,这
条狗不是那条狗,这个“同一性”是理解世界最基本的概念,没人
教他。
我们注意到理性主义有一个隐含的假设,就是因果关系。在
莱布尼茨的世界里,一件事会导致另外一件事,所以才有可能推
导。经验主义当然不服,休谟就问,一件事发生在另外一件事之
后,两者未必有因果关系。譬如我把两个闹钟一个设在6:00,一
个设在6:01,能说后面的铃声响了是前一个造成的吗?理性主义
不仅认为事物间有因果关系,而且认为通过逻辑推理可以得到很
多知识。譬如归纳推理:太阳每天早上都会升起。但休谟就质
问:你能像证明数学定理一样证明太阳明天会升起吗?不能吧。
那能观察吗?明天还没到来显然不能观察,那你凭什么说明天太
阳一定升起,我要说明天不一定升起错在哪里了?我们看到休谟
挑战的是归纳背后的假设:事物运动规律不变,在这里就是说地
球和太阳系的运动不会改变。休谟最后说,物理世界没什么因
果,没什么必然,你最多能根据以往的经验告诉我:明天早上太
阳还可能升起。
这两派从17世纪吵到18世纪,这时候在德国偏僻的海德堡出
现了一个小个子乡村秀才。他说,你们双方似乎都有道理,我来整合一下看看。他就是哲学史上最有影响力的康德(Immanuel
Kant,1724—1804)。康德说,没错,我们当然要通过感官去理
解世界。但我们对事物的理解包括这个事物的具体形态和它的抽
象概念。譬如眼前这本书,一本书的具体形态千变万化,但“书”这个概念就是指很多页有字的纸装订在一起的一个东西。
我们说“面前有这本书”的意思到底是什么?那至少要说现在几月
几日几点几分,在某市某区某小区几号楼几号房间的哪个桌子上
有这本书,也就是理解一个具体的东西离不开时间和空间的概
念。但谁教给你时间和空间了?你妈从小教过你吗?你教过你孩
子吗?好像都没有,我们好像天生就懂。所以康德说,你看,必
须有这些先天就有的概念你才能理解世界。我们好像天然知
道“书”是个“东西”,“东西”是一种不依赖我们的独立存在。谁教
给我们“东西”这个概念的?没人,好像又是天生就懂吗?康德整
合了经验主义和理性主义,他的一句名言是“没有内容的思维是
空洞的,没有概念的感知是盲目的。只有把两者结合我们才能认
识世界”。
在2 500年的辩论中,经验主义当然不会否认数学中通过严格
推理得出来的结论的可靠性,理性主义也不得不承认认知物理世
界离不开感官。那么这场打了2 500年的嘴仗到底在争什么呢?问
题出在理性主义者企图把数学世界里证明定理这样的绝对可靠性
推广到物理世界,也即他们企图找到一个检验知识的普遍的标
准,能够适用于所有领域。数学(例如几何学)是建构在公理之
上的一个自洽而完备的系统(至少对自然数和几何是如此)。所
谓自洽就是说,在这个系统里只要从公理出发就不会推导出互相
矛盾的结论;所谓完备就是说,在这个系统里任何一个命题都是可以证实或证伪的。而亚里士多德时代的自然科学的可靠性判断
标准是“观察与模型符合”,即观察到的自然现象和事先假设的模
型的预测结果相符合。这种物理真实性的判断标准和数学中的判
断标准完全不同。所以经验主义觉得硬要把数学中的可靠性标准
搬到自然科学中来不适用,或者说经验主义认为在自然科学领域
只能依赖感官。因此这场争论是不对称的:理性主义要从数学攻
入自然科学,而经验主义死守自然科学的阵地。两方掰扯不清的
另一个原因是谁都不知道感官和认知的本质是什么,或者说知识
的本质是什么。双方根据自己的猜测和假设激烈辩论,一直到20
世纪50年代人们对大脑的研究才取得突破。
知识的生物学基础——神经元连接
你会发现,所有认知的基础都是记忆,如果没有记忆的能
力,观察、理解、推理、想象等其他所有认知行为都不会存在,甚至不会有情绪。一个患阿尔茨海默病的人,面部甚至逐渐失去
表情。人类胎儿在30周后就开始了最初的记忆,婴儿从刚生下就
能分辨出母亲的声音了。
如果认知的基础是记忆,那么记忆的基础又是什么呢?你仔
细想想,记忆其实就是一种关联。你在学“o”这个字母时,是把
一个圆圈的图像和一个“欧”的发音关联起来。那这种关联在大脑
中是如何形成的呢?
这种关联是通过我们大脑中神经元之间的连接形成的。大脑
有大约1 000亿个神经元,一个神经元可以从许多其他神经元接收
电脉冲信号,同时也向其他神经元输出电信号。如图1.2所示,每个神经元都能输出和接收信号。负责输出的
一端叫“轴突”,负责接收的一端叫“树突”。每个神经元都有几千
个树突,负责从不同的神经元接收信号。同样,每个神经元的输
出信号可以传给和它相连的几千个神经元。那么这个最初的信号
是从哪里来的呢?通常都来自感觉细胞,如视觉细胞、听觉细胞
等。
图1.2大脑神经元和突触的结构
图片来源:https:www.researchgate.netfigureGeneric-
neurotransmitter-system_fig1_318305870。那神经元之间是怎么连接的呢?一个神经元的轴突和另外一
个神经元的树突之间有20纳米(一根头发丝的12 000)的小缝
隙,这个缝隙叫“突触”。图1.2的右半部分就是放大了的突触。它
保证了两个神经元各自独立,不会粘在一起。记忆的主要奥秘就
藏在这里。在这个连接的地方前一个神经元的电信号会转化成化
学物质传递到下个神经元,下个神经元接收到化学物质后又会再
转成电信号。不同的突触面积大小不同,化学物质的传递速度和
量不同,因而造成有些突触是“貌合神离”,相互之间并没有电信
号通过;有些则是“常来常往”,经常有信号通过。
你一定听说过俄国生理学家巴甫洛夫(Ivan Pavlov,1849—
1936)的条件反射实验。受到条件反射的启发,加拿大心理学家
赫布(Donald Hebb,1904—1985)在1949年提出了一个大胆的猜
想。他认为当大脑中两个神经元同时受到刺激时,它们之间就会
建立起连接,以后其中一个神经元被激发时会通过连接让另一个
神经元也被激发。譬如在巴甫洛夫对狗的实验中,送食物的时候
同时摇铃,摇铃刺激了听觉神经元,食物味道刺激了嗅觉神经元
并且导致分泌唾液,听觉和视觉神经元同时受到刺激,它们之间
就建立了连接,一个神经元的激发会导致另一个神经元的激发。
经过多次反复,它们的连接会越来越稳定。以后即使没有送食
物,狗只要听到摇铃就像闻到食物一样会分泌唾液。人也是一
样,比如说一个小孩被火烫过一次就能把“火”和“疼”联系起来。
当小孩看见火时,他大脑中负责接收视觉信号的神经元被激发
了,与此同时他的手感觉到烫,于是他大脑中负责接收皮肤感觉
细胞的神经元也被激发了。如果看到火和感觉到疼这两件事同时
发生,那么这两个神经元细胞就连通了,也就是有信号通过了。下次这个孩子见到火,马上会想到疼,因为当负责看到火的神经
元被激发后,马上会把信号传给负责“疼”这种感觉的神经元,就
能让小孩想到疼。刺激越强,神经元的连接就越稳固。孩子被火
烫过一次手就永远记住了,再也不会去摸火;有些刺激很弱,连
接就不稳固,长时间不重复就会断开。例如背英文单词,重复的
刺激越多,信号的传递速度就越快。比如一个篮球运动员对飞过
来的篮球的反应比普通人快很多,一个空军飞行员对飞机姿势和
敌人导弹的反应都比普通人快,这些都是反复训练出来的。所谓
赫布猜想,本质上是通过建立神经元之间的连接从而建立起不同
事物之间的联系。后来这个猜想被科学家反复证实,就成了现在
我们常说的赫布学习定律。
赫布定律揭示了记忆或者说关联的微观机制,启发了好几代
计算机科学家,他们开始用电子线路模仿神经元,然后用许多电
子神经元搭建越来越大的神经元网络,今天这些神经网络的记忆
和关联能力已经远远超过了人类,许多机器的“神迹”大都源于这
种超强的记忆和关联能力。在第三章,我们会介绍为什么神经网
络的超强记忆和关联能力会转化为不可思议的“超人”能力。
这些在大脑中由神经元的连接形成的关联记忆又可以分为两
类:可表达的和不可表达的。
可表达的“明知识”
目前,脑神经科学的最新研究发现,可表达的记忆并不是对
应着一组固定神经元的连接,而是大致地对应于散布在大脑皮层
各处的一些连接。原因是用来表达的语言和文字只能是体验的概括和近似。这类可以用语言表达或数学公式描述的知识就是人类
积累的大量“正式知识”,也可以称为“明知识”。它们记载在书
籍、杂志、文章、音频等各种媒体上。
要想把某种关联表达出来,人类唯一的方法是通过语言和符
号。语言和符号表达的第一个前提是要有概念。所谓概念就是某
个特定的发音或符号稳定地对应于一个事物或行为。大部分的名
词和动词都是这样的概念。第二个前提是每个概念都不同于其他
概念,猫就是猫,狗就是狗,不能把猫叫成狗,或者把狗叫成
猫,两者要能区分开。这叫“同一律”。第三个前提是猫不能同时
也不是猫,黑不能同时也是白。这叫“不矛盾律”。有了这些基本
前提,根据已知的事物间的关系我们就可以推导出新的知识或者
论证一个决定的合理性。推理、假设、联想,这些本质上都是建
立在语言之上的思维活动,没有语言就完全无法思维。所有的正
常思维都要借助概念,要遵循“同一律”和“不矛盾律”。语言是人
类和所有动物的最大区别。黑猩猩可以学会很多概念,譬
如“我”“吃”和“香蕉”等,但无论实验人员如何训练黑猩猩,它们
都无法组合出“我要吃香蕉”这样的句子。人的语言能力的本质是
什么?它的生物学基础是什么?语言和自我意识是什么关系?目
前这些都还不清楚。但我们知道,人类语言是不精确的,越基本
的概念越不容易定义清楚,像“公平”“理性”等。人类语言中有大
量含混和歧义的表述,像“今天骑车子差点滑倒,幸亏我一把把
把把住了”。
英国哲学家罗素企图把语言建立在精确的逻辑基础之上,他
用了几百页纸的篇幅来证明1+1=2。德国哲学家维特根斯坦(Ludwig Wittgenstein,1889—1951)认为人类有史以来几乎所
有的哲学辩论都源于语言的模糊不清,因而没有任何意义。他认
为在世界中只有事实有意义,在语言中只有那些能够判断真伪的
论断才能反映事实。他的结论是:我们的语言受限,因而我们的
世界受限。
为什么语言的表达能力受限?用信息论的方法可以看得很清
楚。我们大脑接收的环境信息量有多大?一棵树、一块石头、一
条狗都包含几十MB(兆字节)甚至几十GB(千兆字节)的数
据,我们的感觉接收神经元虽然大大简化了这些信息,但它们向
大脑传导的信息量仍然非常大,表1.1是各个感觉器官每秒钟能向
大脑传递的信息量。
表1.1人体各个感官向大脑传送信息的速率资料来源:https:www.britannica.comscienceinformation-
theoryPhysiology。
大脑存储这些信息的方式是神经元之间的连接,大脑在存储
时可能进一步简化了这些信息,但它们的信息量仍然远远大于我
们语言所能表达的信息量。人类语言的最大限制是我们的舌头每
秒钟只能嘟噜那么几下,最多表达几十个比特的意思。(比如读
书,我们平均每分钟能读300字,每秒读5个字=40比特。)这样
大脑接收和存储的信息与能用语言表达出来的信息量就有6个数
量级的差别。也就是说极为丰富的世界只能用极为贫乏的语言表
达。许多复杂事物和行为只能用简化了的概念和逻辑表达。这就是人类语言的基本困境。
只可意会的“默知识”
由于舌头翻卷速度严重受限,以神经元连接形式存在大脑中
的人类知识只有极少一部分可以被表达出来。而绝大部分知识无
法用语言表达,如骑马、打铁、骑自行车、琴棋书画,察言观
色、待人接物、判断机会和危险等。这些知识由于无法记录,所
以无法传播和积累,更无法被集中。英籍犹太裔科学家、哲学家
波兰尼(Michael Polyani,1891—1976)称这些知识为“默会知
识”或者“默知识”。波兰尼举了骑自行车的例子。如果你问每个骑
自行车的人是怎么保持不倒的,回答会是“车往哪边倒,就往哪
边打车把”。从物理学上可以知道,当朝一个方向打把时会产生
一个相反方向的离心力让车子平衡。甚至可以精确计算出车把的
转弯半径应该和速度的平方成反比。但哪个骑自行车的人能够知
道骑车的速度呢?即使知道谁又能精确地把转弯半径控制在速度
平方的反比呢?所有骑自行车的人都是凭身体的平衡感觉左一把
右一把地曲折前进。世界上大概没有一个人学骑自行车是看手册
学会的,事实上也没有这样的学习手册。大部分技能类的知识都
类似。
默知识和明知识主要有以下四点区别:
(1)默知识无法用语言和文字描述,因此不容易传播,无
法记录和积累,只能靠师傅带徒弟。像大量的传统工艺和技能,如果在一代人的时间里没人学习就会从历史上彻底消失。(2)获取默知识只能靠亲身体验,传播只能靠人与人之间
紧密的互动(你第一次骑自行车时你爸在后面扶着)。而这种互
动的前提是相互信任(你不敢让陌生人教你骑自行车)。获得默
知识必须有反馈回路(骑自行车摔了跤就是姿势错了,不摔跤就
是姿势对了)。
(3)默知识散布在许多不同人的身上,无法集中,很难整
合,要想使用整合的默知识需要一群人紧密协调互动。由于无法
言传,所以协调极为困难(比如杂技叠罗汉)。
(4)默知识非常个人化。每个人对每件事的感觉都是不同
的,由于无法表达,因而无法判断每个人感觉的东西是否相同。
基于对默知识的理解,奥地利经济学家哈耶克(Friedrich
Hayek,1899—1992)论证了市场是最有效的资源配置形式。因
为市场上的每个人都有自己不可表达的、精微的偏好和细腻的需
求,而且没人能够精确完整地知道其他人的偏好和需求,也就是
说供需双方实际上无法直接沟通。供需双方最简洁有效的沟通方
式就是通过商品的价格。在自由买卖的前提下,市场中每个人只
要根据价格信号就可以做出决定。价格可以自动达到一个能够反
映供需双方偏好和需求的均衡点。一个价格数字,就把供需双方
的无数不可表达的信息囊括其中。这种“沟通”何其简洁,这种“协
调”何其有效,这种自发形成的秩序何其自洽。哈耶克根据同样
的道理论证了国家或政府永远都无法集中这些不可表达的分散信
息。
在机器学习大规模使用之前,人类对于默知识没有系统研究。但现在我们发现机器非常擅长学习默知识。这就给我们提出
了三个严肃的问题。
(1)默知识在所有知识中占比有多大?
(2)默知识在人类社会和生活中有多大用处?
(3)如何使用默知识?
第一个问题的简单粗暴的回答是默知识的量远远大于可陈述
的明知识。原因是事物的状态很多是难以观察的,更多是不可描
述的。人类的描述能力非常有限,只限于表达能力极为有限的一
维的语言文字。在所有已经产生的信息中,文字只占极少的比
例,大量的信息以图片和视频方式呈现。人类现代每年产生的各
种文字大约是160TB。世界最大的美国国会图书馆有2 000万册
书,几乎涵盖了人类有史以来能够保存下来的各种文字记录,就
算每本书有100万字,这些书的总信息量也只有20TB。而目前用
户每分钟上传到YouTube的视频是300小时,每小时视频算1GB,每年上传的量就是157 680TB。如果把每个人手机里的视频都算
上,那么视频信息是文字信息的上亿倍。今后这个比例还会不断
加大。虽然这些视频或图片都是“信息”,还不是“知识”,但我们
也可以想象从视频图片中能提取出的隐藏的相关性的量一定远远
大于所有的文字知识。
有了第一个问题的答案,就容易回答第二个问题。很显然,用机器学习从视频和图片中萃取知识是人类认识世界的一个新突
破,只要有办法把事物状态用图片或视频记录下来,就有可能从中萃取出知识来。如果视频和图片的信息量是文字的上亿倍,那
么我们有理由期待从中萃取出的知识呈爆炸式增长,在社会和生
活中起到关键甚至主导作用。人工智能通过观看大量人类历史上
的影视作品,可以归纳提取出影视中的经典桥段,创作出新颖的
配乐、台词和预告片,供人类借鉴或使用。2016年,IBM(国际
商业机器公司)的沃森系统为二十世纪福克斯电影公司的科幻电
影《摩根》(Morgan)制作了预告片。IBM的工程师们给沃森看
了100部恐怖电影预告片,沃森对这些预告片进行了画面、声
音、创作构成的分析,并标记上对应的情感。它甚至还分析了人
物的语调和背景音乐,以便判断声音与情感的对应关系。在沃森
完成学习后,工作人员又将完整的Morgan电影导入,沃森迅速挑
出了其中10个场景组成了一段长达6分钟的预告片。在沃森的帮
助下,制作预告片的时间由通常的10天到1个月,缩减到了短短
的24个小时。同样道理,机器学习可以从海量的生态、生产和社
会环境数据中萃取出大量的未曾发现的知识。
第三个问题最有意思。由于机器萃取出的知识是以神经网络
参数集形式存在的,对人类来说仍然不可陈述,也很难在人类间
传播。但是这些知识却非常容易在机器间传播。一台学会驾驶的
汽车可以瞬间“教会”其他100万台汽车,只要把自己的参数集复
制到其他机器即可。机器间的协同行动也变得非常容易,无非是
用一组反馈信号不断地调整参加协同的每台机器的参数。
如果用一句话总结默知识和明知识的差别那就是波兰尼说
的:We know more than we can tell(知道的远比能说出来的
多)。明知识就像冰山浮出水面的一角,默知识就是水下巨大的冰山。这两类知识也包括那些尚未发现的知识,一旦发现,人类
要么可以感受,例如第一个登上珠峰的人能感受到缺氧;要么从
理性上可以理解,例如看懂一个新的数学定理的推导过程。
既不可感受也不能表达的“暗知识”
既然可以感受的是默知识,可以表达的是明知识,那么机器
刚刚发现的,既无法感受也无法表达的知识就是暗知识。我们用
是否能感受作为一个坐标轴,用是否能表达(或描述)作为另一
个坐标轴,就可以用图1.3把三类知识的定义清晰地表达出来。在
这张图里,明知识又被分为两类:第一类是那些既可以感受又可
以表达的,例如浮力定律、作用力反作用力定律等。第二类是不
可感受可以表达的,如大部分的数学以及完全从数学中推导出来
但最后被实验验证了的物理定律,以及相对论和量子力学。图1.3知识的分类
为了理解暗知识的本质,我们必须先搞清楚“知识”与我们今
天常用的“信息”和“数据”有什么不同。稍加研究就能发现关于信
息、数据和知识的定义有很多并且非常混乱。笔者在下面给出一
组符合信息论和脑神经科学研究结果的简单而自洽的定义。
信息是事物可观察的表征,或者说信息是事物的外在表现,即那些可观察到的表现。在我们没有望远镜时,谈论肉眼以外星
空里的信息毫无意义。
数据是已经描述出来的部分信息。任何一个物体的信息量都
非常大,要想精确地完全描述一块石头,就要把这块石头里所有基本粒子的状态以及它们之间的关系都描述出来,还要把这块石
头与周围环境和物体的关系都描述出来。而关于这块石头的数据
通常则少得多,例如它的形状、重量、颜色和种类。
知识则是数据在时空中的关系。知识可以是数据与时间的关
系,数据与空间的关系。如果把时间和空间看作数据的一部分属
性,那么所有的知识就都是数据之间的关系。这些关系表现为某
种模式(或者说模式就是一组关系)。对模式的识别就是认知,识别出来的模式就是知识,用模式去预测就是知识的应用。开普
勒的行星运动定律就是那些观测到的数据中呈现的时空关系。牛
顿定律的最大贡献可能不在于解释现有行星的运动,而在于发现
了海王星。这些数据在时空中的关系只有在极少数的情况下才可
以用简洁美妙的数学方程式表达出来。在绝大多数情形下,知识
表现为数据间的相关性的集合。这些相关性中只有极少数可以被
感觉、被理解,绝大多数都在我们的感觉和理解能力之外。
人类的理解能力由感受能力和表达能力组成。人类的感受能
力有限,局限性来自两个方面。一是只能感受部分外界信息,例
如人眼无法看到除可见光之外的大部分电磁波频谱,更无法感受
大量的物理、化学、生物和环境信息。二是人类的感官经验只局
限在三维的物理空间和一维空间。对高维的时空人类只能“降
维”想象,用三维空间类比。对于数据间的关系,人类凭感觉只
能把握一阶的或线性的关系,因为地球的自转是线性的,所
以“时间”是线性的。例如当我们看到水管的水流进水桶里时,水
面的上升和时间的关系是线性的,我们凭感觉可以预测大概多长
时间水桶会满。人类感官对于二阶以上的非线性关系就很难把握。例如当水桶的直径增加1倍时,水桶能盛的水会增加4倍,这
点就和“直觉”不相符。
人类的表达能力只限于那些清晰而简单的关系,例如少数几
个变量之间的关系,或者是在数学上可以解析表达的关系(“解
析表达”的意思就是变量之间的关系可以用一组方程式表达出
来)。当数据中的变量增大时,或当数据间的关系是高阶非线性
时,绝大多数情况下这些关系无法用一组方程式描述。所以当数
据无法被感受,它们之间的关系又无法用方程解析表达时,这些
数据间的关系就掉入了人类感官和数学理解能力之外的暗知识大
海。
我们现在可以回答“一个人类无法理解的暗知识的表现形式
是什么样的”,暗知识在今天的主要表现形式类似AlphaGo Zero里
面的“神经网络”的全部参数。在第三章详细介绍神经网络之前,我们暂时把这个神经网络看成一个有许多旋钮的黑盒子。这个黑
盒子可以接收信息,可以输出结果。黑盒子可以表达为一个一般
的数学函数:Y=fw(X)。这里Y是输出结果,fw(X)是黑盒子本
身,X是输入信息,w是参数集,就是那些旋钮,也就是暗知
识。
我们如何知道这个函数代表了知识,也即这个函数有用?这
里的判别方法和现代科学实验的标准一样:实验结果可重复。对
AlphaGo Zero来说就是每次都能赢;用严格的科学语言来说就是
当每次实验条件相同时,实验结果永远可重复。读完第三章,读
者就会从细节上清楚暗知识是如何被验证的。注意,暗知识不是那些人类尚未发现但一经发现就可以理解
的知识。比如牛顿虽然没有发现相对论,但如果爱因斯坦穿越时
空回去给他讲,他是完全可以理解的。因为理解相对论用到的数
学知识如微积分牛顿都有了。即使在微积分产生之前,如果爱因
斯坦穿越2 000年给亚里士多德讲相对论,亚里士多德也能理解,至少能理解狭义相对论背后的物理直觉。但如果给亚里士多德讲
量子力学他就不能理解,因为他的生活经验中既没有薛定谔的猫
(用来比喻量子力学中的不确定性,一个封闭的盒子里的猫在盒
子没打开时同时既是死的也是活的,一旦打开盒子看,猫就只能
有一种状态,要么是死要么是活),他的数学水平也无法理解波
动方程。那么我们可以说对亚里士多德来说,量子力学就是暗知
识。量子力学因为没有经验基础,甚至和经验矛盾,在刚发现的
初期,几乎所有的物理学家都大呼“不懂”,至今能够透彻理解的
人也极少。甚至连爱因斯坦都不接受不确定性原理。
人类过去积累的明知识呈现出完美的结构,整个数学就建立
在几个公理之上,整个物理就建立在几个定律之上,化学可以看
成是物理的应用,生物是化学的应用,认知科学是生物学的应
用,心理学、社会学、经济学都是这些基础科学的应用组合。这
些知识模块之间有清晰的关系。但是机器挖掘出来的暗知识则像
一大袋土豆,每个之间都没有什么关系,更准确地说是我们不知
道它们之间有什么关系。
我们可以预见一幅未来世界的知识图谱:所有的知识分为两
大类界限分明的知识——人类知识和机器知识。人类的知识如果
不可陈述则不可记录和传播。但机器发掘出来的知识即使无法陈述和理解也可以记录并能在机器间传播。这些暗知识的表现方式
就是一堆看似随机的数字,如一个神经网络的参数集。这些暗知
识的传播方式就是通过网络以光速传给其他同类的机器。
暗知识给我们的震撼才刚刚开始。从2012年开始的短短几年
之内,机器已经创造了下面这些“神迹”:对复杂病因的判断,准
确性超过医生;可以惟妙惟肖地模仿大师作画、作曲,甚至进行
全新的创作,让人类真假难辨;机器飞行员和人类飞行员模拟空
战,百战百胜。
我们在第六章会看到更多这样的例子。人类将进入一个知识
大航海时代,我们将每天发现新的大陆和无数金银财宝。我们今
天面对的许多问题都像围棋一样有巨大的变量,解决这些问题和
围棋一样是在组合爆炸中寻求最优方案,例如全球变暖的预测和
预防、癌症的治愈、重要经济社会政策的实施效果、“沙漠风
暴”这样的大型军事行动。系统越复杂,变量越多,人类越无法
把握,机器学习就越得心应手。无数的机器将不知疲倦地昼夜工
作,很快我们就会发现机器新发掘出来的暗知识会迅速积累。和
下围棋一样,暗知识的数量和质量都将快速超过我们在某个领域
积累了几百年甚至几千年的知识。明知识就像今天的大陆,暗知
识就像大海,海平面会迅速升高,明知识很快就会被海水包围成
一个个孤岛,最后连珠穆朗玛峰也将被淹没在海水之下。
这场人类认知革命的意义也许会超过印刷术的发明,也许会
超过文字的发明,甚至只有人类产生语言可与之相比。请系好安
全带,欢迎来到一个你越来越不懂的世界!第二章
榨取数据——机器能学会的知识
导读
在深入探讨机器如何学习暗知识之前,我们先要知道机
器也能够自己学习明知识和默知识。在这一章我们介绍机器
学习的五大流派的底层逻辑和各自不同的先验模型。虽然现
在神经网络如日中天,但其他四大流派也不容忽视。上一章我们说了人类通过感官和逻辑能掌握明知识和默知
识,但人类对暗知识既无法感受也无法理解。现在我们要看看机
器能掌握哪些知识,并擅长掌握哪些知识。
机器学习明知识
计算机科学家最早的想法是把自己的明知识,包括能够表达
出来的常识和经验放到一个巨大的数据库里,再把常用的判断规
则写成计算机程序。这就是在20世纪70年代兴起并在20世纪80年
代达到高潮的“知识工程”和“专家系统”。比如一个自动驾驶的“专
家系统”就会告诉汽车,“如果红灯亮,就停车,如果转弯时遇到
直行,就避让”,依靠事先编好的一条条程序完成自动驾驶。结
果你可能想到了,人们无法穷尽所有的路况和场景,这种“专家
系统”遇到复杂情况时根本不会处理,因为人没教过。“专家系
统”遇到的另一个问题是假设了人类所有的知识都是明知识,完
全没有意识到默知识的存在。一个典型的例子是20世纪80年代中
国的“中医专家系统”。当时计算机专家找到一些知名的老中医,通过访谈记录下他们的“望闻问切”方法和诊断经验,然后编成程
序输入到计算机中。在中医眼中每一个病人都是独特的。当他看
到一个病人时会根据经验做出一个整体的综合判断。这些经验连
老中医自己都说不清道不明,是典型的默知识。所以中医诊断绝
不是把舌苔的颜色划分成几种,把脉象分成几十种,然后用查表
方式就可以做判断的。“专家系统”既不能给机器输入足够的明知
识,更无法把默知识准确地表达出来输入给机器。所以,“专家
系统”和“知识工程”在20世纪80年代之后都偃旗息鼓了。要想把一个领域内的所有经验和规则全部写出来不仅耗费时
间,而且需要集合许多人。即使如此,那些谁也没有经历过的情
况还是无法覆盖。电脑的信息处理速度比人脑快得多,那么能不
能把大量的各种场景下产生的数据提供给机器,让机器自己去学
习呢?这就是现在风行一时的“机器学习”。
今天的机器可以自己学习两大类明知识:用逻辑表达的判断
规则和用概率表达的事物间的相关性。
符号学派——机器自己摸索出决策逻辑
前面说过,理性主义认为事物间都有因果关系,基于因果关
系,通过逻辑论证推理就能得到新知识。在机器学习中这一派被
称为符号学派,因为他们认为从逻辑关系中寻找的新知识都可以
归结为对符号的演算和操作,就像几何定理的推理一样。这种知
识通常可以用一个逻辑决策树来表示。决策树是一个根据事物属
性对事物分类的树形结构。比如冬天医院门诊人满为患,测完体
温,主任医生先问“哪里不舒服”,病人说“头疼,咳嗽”,主任医
生再听呼吸。感冒、流感、肺炎都可能是这些症状的原因,现在
要根据这些症状判断病人到底得了什么病,这种从结果反着找到
因果链条的过程就叫“逆向演绎”。这时候主任医生用的就是一个
决策树:体温低于38.5℃,咳嗽,头痛,可能是普通感冒,回去
多喝白开水!体温高于38.5℃,还剧烈咳嗽呼吸困难,可能是肺
炎,咳嗽不厉害就可能是流感。实际情形当然要比这复杂。但原
理就是根据观察的症状逐项排除,通过分类找到病因。
这时候门诊新来了实习医生小丽,要在最短时间内学会主任医生的诊断方法。主任医生忙得根本没时间教她,就扔给她一沓
过去病人的病历和诊断结果,自己琢磨去!小丽看着几十个病人
的各项指标和诊断结果,不知道从哪里下手。这时候刚学了决策
树的主治医生小张路过说:我来帮你。咱先随便猜一个主任的判
断逻辑,比如先看是否咳嗽,再看是否发烧。把这些病例用这个
逻辑推演一遍,如果逻辑的判断结果和主任的诊断结果吻合,咱
就算猜中了。如果不吻合,咱就换个逻辑,无非是换些判断准
则,比如你可能一开始把体温标准定在了37.5℃,结果把很多普
通感冒给判断成流感了。当你用39℃时,又会把流感判断成普通
感冒。几次试验你就找到了38.5℃这个最好的值。最后你找到的
逻辑对所有病例的判断都和主任医生的诊断完全吻合。
所以决策树学习就是先找到一个决策树,它对已知数据的分
类和已知结果最接近。好的分类模型是每一步都能让下一步
的“混杂度”最小。在实际的机器学习中,决策树不是猜出来而是
算出来的。通过计算和比较每种分类的混杂度的降低程度,找到
每一步都最大限度降低混杂度的过程,就是这个决策树机器学习
的过程。所以机器学习决策树的原理是:根据已知结果可以反推
出事物间的逻辑关系,再用这些逻辑关系预测新的结果。
在这个例子里的“知识”就是医生的诊断方法,作为明知识被
清晰表达为决策逻辑树。而这种计算和比较分类混杂度的方法就
是让机器自动学习医生诊断知识的方法。
贝叶斯学派——机器从结果推出原因的概率
符号学派认为有因必有果,有果必有因。贝叶斯学派问,因发生果一定发生吗?感冒是发烧的原因之一,但感冒不一定都发
烧。贝叶斯学派承认因果,但认为因果之间的联系是不确定的,只是一个概率。
我们的经验中比较熟悉的是当一个原因发生时结果出现的概
率,例如你感冒后会发烧的概率,但我们的直觉不太会把握逆概
率,即知道结果要求推出原因的概率,也就是要判断发烧是感冒
引起的概率。贝叶斯定理就是教我们怎么算这样的概率。举个例
子,某人去医院检查身体时发现艾滋病病毒呈阳性,现在告诉你
一个艾滋病人检查结果呈阳性的概率是99%,也就是只要你是艾
滋病人,检查结果基本都是阳性。还告诉你,人群中艾滋病患者
大约是0.3%,但所有人中查出阳性的人有2%。现在问得艾滋病
的概率多大?你的直觉反应可能是,要出大事了!现在我们看看
贝叶斯定理怎么说。贝叶斯定理如下:
P(得艾滋病|检查呈阳性)=P(得艾滋病)×P(检查呈阳性|
得艾滋病)P(检查呈阳性)=99%×0.3%2%=14.85%。
也就是说即使他检查呈阳性,他得病的概率也不到15%!这
个结果非常违反直觉。原因在哪里呢?在于人群中查呈阳性的概
率远大于人群中得艾滋病的概率。这主要是由于检测手段不准
确,会“冤枉”很多好人。所以以后不管谁查出了什么病呈阳性,你要问的第一件事是检查呈阳性和得病的比率有多大,这个比率
越大就可以越淡定。所以贝叶斯定理告诉我们的基本道理是:一
个结果可能由很多原因造成,要知道一个结果是由哪个原因造成
的,一定要先知道这个原因在所有原因中的占比。一个好的医生知道,要判断病人是否感冒,只看是否发烧这
一个症状不够,还要看是否有咳嗽、嗓子痛、流鼻涕、头痛等症
状。也就是我们要知道P(感冒|发烧、咳嗽、嗓子痛、流鼻涕、头痛……)。贝叶斯定理告诉我们计算上面的概率可以通过计算
P(发烧、咳嗽、嗓子痛、头痛……|感冒)获得。为了简化计
算,我们这里假设发烧、咳嗽、嗓子痛、头痛这些症状都是独立
的,互相不是原因(很显然这个假设不完全对,很可能嗓子疼是
咳嗽引起的),这样P(发烧、咳嗽、嗓子痛、头痛……|感冒)
=P(发烧|感冒)×P(咳嗽|感冒)×P(嗓子痛|感冒)×P(头痛|感
冒)×……
这里每一个概率都比较容易得到。这在机器学习里叫作“朴
素贝叶斯分类器”。这个分类器广泛应用于垃圾邮件的过滤。我
们知道垃圾邮件往往会有“免费、中奖、伟哥、发财”这类词汇,这类词汇就相当于感冒会出现的症状,垃圾邮件就相当于感冒。
过滤垃圾邮件变成了判断在出现这些词汇的情况下这封邮件是垃
圾邮件的概率,也就是通过统计P(出现“免费”|垃圾邮件),P(出现“中奖”|垃圾邮件)等的概率,来算出P(垃圾邮件|出
现“免费、中奖、伟哥、发财”……)的概率。
同样的原理还被广泛应用在语音识别上。一个单词有各种各
样的发音,语音识别就是听到一个发音判断是某个单词的概率。
如果我们把“吃饭”这个词的天南地北男女老少的发音都收集起
来,统计出“吃饭”这个词和各种发音的频次,我们听到一个发
音“洽碗”时,就可以判断是否在说“吃饭”。为什么说贝叶斯朴素
分类器是机器学习呢?因为它是通过采集大量数据统计出每个单词和它们分别对应的发音的频率来判断一个发音是什么单词的。
这些数据越多,判断的准确性就越高。
在这个例子里,“知识”是知道当一个结果发生时是哪个原因
造成的。这个知识被清晰地表达为一个条件概率。机器通过统计
每种原因的占比来算出从结果到原因的概率。
类推学派——机器学习默知识
我们生活中很多经验来自类比。医生一看病人的面部表情和
走路姿势就基本能判断出是普通感冒还是流感,因为流感症状比
感冒厉害得多。科学上的许多重要发现也是通过类比。当达尔文
读到马尔萨斯(Malthus,1766—1834)的《人口论》(Principle
of Population)时,被人类社会和自然界的激烈竞争的相似性所
触动;玻尔的电子轨道模型直接借鉴了太阳系的模型。机器学习
中用类比方法的这一派叫类推学派,他们的逻辑很简单:第一,两个东西的某些属性相同,它俩就是类似的;第二,如果它们的
已知属性相同,那么它们的未知属性也会相同。开好车上班的人
可能也会用苹果手机,喜欢看《星球大战》(Star Wars)的人可
能也会喜欢看《三体》等。类比的逻辑可以明确表达,但具体的
类比常常是默知识。例如老警察一眼就能看出谁是小偷,但不一
定说得清楚原因。
在类推学派中最基础的算法叫最近邻法。最近邻法的第一次
应用是1894年伦敦暴发霍乱,在伦敦的某些城区每8个人就会死1
个,当时的理论是这种疾病是由一种“不良气体”造成的。但这个
理论对控制疾病没有用。内科医生约翰·斯诺把伦敦每个霍乱病例都标在地图上,他发现所有的病例都靠近一个公共水泵。最后推
断病因是这个水泵的水源污染,当他说服大家不要再用这个水泵
的水后,疾病就得到了控制。在这里这些数据的相似点就是和这
个水泵的距离。最近邻法还有一个应用就是在网上搜照片,你对
高铁上霸座的人很愤慨,你把他的照片上传,网站给你显示出几
张和他长得最像的照片,并且有文字,你一看,天哪,还是个在
读博士生!同样的道理,很多智能手机都可以自动进行照片分
类,把你手机里的人像都自动归类。
在类推学派中,第一件事是要定义“相似度”。相似度可以是
身高、收入等连续变量,也可以是买了某一类书的次数的统计变
量,也可以是性别这样的离散变量。总之,只有定义了相似度,才能度量一个分类方法是否最优。人可以感受相似度,但无论是
人的感官还是大脑都无法量化相似度。人类在做相似度比较时,甚至都不知道自己在比较哪些特征和属性,但机器可以很容易量
化这些相似度。所以只要机器抓准了特征和属性,比人的判断还
准。
类推算法可以用于跨领域的学习。一个消费品公司的高管到
互联网媒体公司不需要从头学起,华尔街雇用很多物理学家来研
究交易模型,是因为这些不同领域问题的内在数学结构是类似
的。类推算法最重要的是能用类比推导出新知识,就像我们前面
提到的达尔文受《人口论》的启发。
虽然机器可以学习明知识和默知识,但它最大的本事是学习
暗知识。机器发现暗知识
暗知识就是那些既无法被人类感受又不能表达出来的知识。
也就是说人类本身无法理解和掌握这些知识,但机器却可以。机
器有两种方法可以掌握这些知识:模仿人脑和模仿演化。
联结学派
联结学派的基本思路就是模仿人脑神经元的工作原理:人类
对所有模式的识别和记忆建立在神经元不同的连接组合方式上。
或者说一个模式对应着一种神经元的连接组合。联结学派就是目
前最火爆的神经网络和深度学习,它在五大学派中占绝对统治地
位。目前人工智能的高科技公司中绝大部分是以神经网络为主。
第三章我们专门讨论神经网络。
进化学派
机器学习中一共有五大学派,最后一个学派是进化学派。他
们是激进主义经验派,是彻底的不可知论者。进化学派不仅觉得
因果关系是先验模型,甚至觉得类比,神经元连接也都是先入为
主的模型。他们认为不管选择什么样的先验模型,都是在上帝面
前耍人类的小聪明,世界太复杂,没法找到模型。进化学派的基
本思路是模仿自然界的演化:随机的基因变异被环境选择,适者
生存。他们的做法就是把一种算法表达成像基因一样的字符串,让不同的算法基因交配,让生出来的儿女算法去处理问题,比爸
妈好的留下来配种继续生孙子,比爸妈差的就淘汰。比如我们要通过进化算法找到最优的垃圾邮件过滤算法。我
们先假设凡是垃圾邮件都包含1 000个诸如“免费”“中奖”“不转不
是中国人”这样的单词或句子。对于每个单词我们可以对邮件施
加一些规则,如删除或者怀疑(“怀疑”是进一步看有没有其他垃
圾词汇)等。如果规则就这两种,我们可以用一个比特表示:1
删除,0怀疑。这样要对付有1 000个垃圾词的算法就可以表示成1
000比特的一个字符串。这个字符串就相当于一个算法的基因。
如果我们从一堆随机的1 000比特长的字符串开始,测量每个字符
串代表的算法的适应度,也即它们过滤垃圾邮件的有效性。把那
些表现最好的字符串留下来互相“交配”,产生第二代字符串,继
续测试,如此循环,直到一代和下一代的适应度没有进步为止。
注意,这里和生物的进化有个本质区别,就是所有的算法都
是“长生不老”的。所以老一代里的优秀算法不仅可以和同代的算
法竞争,而且可以和儿子、孙子、子子孙孙互相竞争,最后的胜
利者不一定都是同一代的算法。
进化算法的问题是“进化”毫无方向感,完全是瞎蒙。在前面
的垃圾邮件过滤器例子里,1 000比特的字符串的所有可能性是
21000,也即10300,即使用目前世界最快的超级计算机,“进
化”到地球爆炸都不可能穷尽所有可能,在有限时间内能探索的
空间只是所有可能空间的极少一部分。地球可是用了40亿年时间
才进化出了现在所有的生物。
图2.1是美国华盛顿大学佩德罗·多明戈斯(Pedro Domingos)
教授总结的一张五大流派“八卦图”。
机器学习中的符号学派、贝叶斯学派、类推学派和联结学派的共同点是根据一些已经发生的事件或结果,建立一个预测模
型,反复调整参数使该模型可以拟合已有数据,然后用此模型预
测新的事件。不同的是它们各自背后的先验世界模型。符号学派
相信事物间都有严密的因果关系,可以用逻辑推导出来;贝叶斯
学派认为,因发生,果不一定发生,而是以某个概率发生;类推
学派认为,这个世界也许根本没有原因,我们只能观测到结果的
相似,如果一只鸟走路像鸭子,叫起来像鸭子,那么它就是只鸭
子;联结学派认为,相似只是相关性能被人理解的那层表皮,隐
藏的相关性深邃得无法用语言和逻辑表达;最后进化学派认为,什么因果?什么相关?我的世界模型就是没有模型!从零开始,不断试错,问题总能解决!图2.1机器学习的五大流派
图片来源:佩德罗·多明戈斯,《终极算法》,中信出版社,2017年。
现在我们终于可以清理一下满天飞的名词了。我们在媒体上
最常听到的是这四个名词:人工智能、机器学习、神经网络、深
度学习。这四个词的关系如图2.2所示,人工智能是最大的一个
圆,圆里面分为两部分:一部分叫人工学习,也就是前面我们讲
的专家系统;另一部分叫机器学习,就是机器自己学习。机器学
习里面包含神经网络,在神经网络里面还要再分,一个是浅度学
习,一个是深度学习。在过去芯片集成度低时,我们只能模仿很
少的神经元。现在由于集成度在提高,我们可以模仿很多的神经
元,当很多神经元被组成多层的网络时,我们就叫它深度学习。
所以人工智能、机器学习、神经网络和深度学习的关系,其实就
像一个洋葱一样,一层包裹一层,最外面的是人工智能,往里一
点是机器学习,再往里是神经网络,最深层就是深度学习。
所以这四个词有下面的包含关系:人工智能>机器学习>神经
网络>深度学习。图2.2 AI中四个概念的包含关系
今天我们说到的人工智能,其实就是机器学习里面的神经网
络和深度学习。但是在一般的商业讨论中,这四个概念经常是混
着用的。第三章
神经网络——萃取隐蔽相关性
导读
在了解了机器学习各个流派的方法后,本书的主角“神
经网络”现在闪亮登场。本章将深入介绍神经网络学习的原
理和在商业上应用最多的几种形态,以及它们的适用范围。
有了这些基础,我们才可以真正理解AlphaGo Zero是怎样发
现神迹般的暗知识的。对于只想了解AI商业前景的读者,也
可以先跳过这一章,读完后面描述机器学习神奇应用的章节
后再回来弄懂它是如何工作的。从感知器到多层神经网络
1943年,心理学家沃伦·麦卡洛克(Warren McCulloch)和数
理逻辑学家沃尔特·皮茨(Walter Pitts)提出并给出了人工神经网
络的概念及人工神经元的数学模型,从而开了人类神经网络研究
的先河。世界上第一个人工神经元叫作TLU(Threshold Linear
Unit,即阈值逻辑单元或线性阈值单元)。最初的模型非常简
单,只有几个输入端和输出端,对权值的设置和对阈值的调整都
较为简单。
1957年,一个开创性的人工神经网络在康奈尔航空实验室诞
生了,它的名字叫作感知器(Perceptron),由弗兰克·罗森布莱
特(Frank Rosenblatt)提出,这也是首次用电子线路来模仿神经
元。他的想法很简单,如图3.1所示:将其他电子神经元的几个输
入按照相应的权重加在一起,如果它们的和大于一个事先给定的
值,输出就打开,让电流通向下一个神经元;如果小于这个事先
给定的值,输出就关闭,没有电流流向下一个神经元。
1960年,斯坦福大学教授伯纳德·威德罗(Bernard Widrow)
和他的第一个博士生马尔西安·泰德·霍夫(Marcian Ted Hoff)提
出了自适应线性神经元(ADaptive LInear NEurons,ADLINE)。
他们第一次提出了一种可以自动更新神经元系数的方法(机器自
我学习的原始起点):用输出误差的最小均方去自动迭代更新神
经元权重系数,直至输出信号和目标值的误差达到最小。这样就
实现了权重系数可以自动连续调节的神经元。自适应线性神经元
最重要的贡献是第一个使用输出信号和目标值的误差自动反馈来调整权值,这也为后面神经网络发展历史上里程碑式的反向传播
算法奠定了基础。
图3.1感知器的电子线路
这个单层的神经网络也被称为自适应信号处理器,被广泛应
用在通信和雷达当中。霍夫后来加入英特尔,在1971年设计了世
界上第一个微处理器Intel 4004。威德罗教授也是笔者20世纪80年
代后期在斯坦福大学的博士生导师。笔者曾经在他的指导下做过
神经网络的研究工作。图3.2是笔者2016年和他讨论神经网络未来
发展时的合影,笔者手中拿的那个黑盒子就是他1960年做出的
ADLINE单层神经网络。这个盒子到今天还在工作,美国国家博
物馆曾经想要这个盒子做展品,但威德罗教授回答说“我还要用
它来教学”。图3.2笔者和自己当年斯坦福大学的博士导师,神经网络鼻祖
之一威德罗教授的合影威德罗教授在1962年还提出过一个三层的神经网络(Multi-
Layer Adaptive Linear Neurons,MADALINE),但没有找到一个
能够用于任意多层网络的、简洁的更新权重系数的方法。由于单
层网络有广泛应用而多层网络的运算速度太慢(当时的电脑运算
速度是今天的100亿分之一),所以在MADALINE之后没有人去
继续深入探讨多层网络。
由于缺少对人脑工作模式的了解,神经网络的进展一度较为
缓慢,而它进入快速发展期的一个触发点则是医学领域的一个发
现。1981年,诺贝尔生理学或医学奖颁发给了美国神经生物学家
大卫·胡贝尔(David Hubel)、托尔斯滕·威塞尔(Torsten
Wiesel)和罗杰·斯佩里(Roger Sperry)。前两位的主要贡献是
发现了人类视觉系统的信息处理采用分级方式,即在人类的大脑
皮质上有多个视觉功能区域,从低级至高级分别标定为V1~V5等
区域,低级区域的输出作为高级区域的输入。人类的视觉系统从
视网膜(Retina)出发,经过低级的V1区提取边缘特征,到V2区
的基本形状或目标的局部,再到高层V4的整个目标(例如判定为
一张人脸),以及到更高层进行分类判断等。也就是说高层的特
征是低层特征的组合,从低层到高层的特征表达越来越抽象和概
念化。至此,人们了解到大脑是一个多层深度架构,其认知过程
也是连续的。
神经网络学习的本质是大量神经元通过复杂的连接形成记
忆。因为分析简单且容易用电子元件实现,一开始人工神经网络
就如图3.3那样由一层一层组成。其实人脑的神经元连接非常复
杂,没有这么一层一层的清晰和有秩序。但我们目前并没有弄清楚人脑神经元的连接方式,先从简单的假设入手是科学的一般方
法。
图3.3一个多层神经网络(其中每个方块代表一个神经元)
20世纪80年代,神经网络的另一个重大突破是当时在加利福
尼亚州大学圣迭戈校区任教的美国心理学家大卫·鲁梅哈特
(David Rumelhart)和在卡内基梅隆大学任教的计算科学家杰弗
里·辛顿(Jeffrey Hinton)提出的多层神经网络,以及一个普遍的
自动更新权重系数的方法。前面说过,威德罗教授在1962年提出
过一个三层的神经网络,但功亏一篑,没有找到一个简洁的任意多层网络权重系数的更新方法。这个问题在1986年被鲁梅哈特和
辛顿解决了。他们借鉴了单层神经网络中威德罗-霍夫(Widrow-
Hoff)反馈算法的思路,同样用输出误差的均方值一层一层递进
地反馈到各层神经网络去更新系数。这个算法就是今天几乎所有
神经网络都在用的“反向传播”算法。“反向传播”听上去很“高大
上”,实际上就是在自动控制和系统理论里面多年一直在用的“反
馈”,只不过在多层网络中反馈是一层一层递进的。因为一个多
层的神经网络要通过成千上万次“用输出误差反馈调整系数”,所
以运算量非常大。在20世纪80年代的计算能力限制下,神经网络
的规模非常小(例如三层,每层几十个神经元)。这种小规模的
神经网络虽然显示了神奇的能力(例如能够识别0~9一共10个手
写体数字),但仍然无法找到真正的商用。
从第一个电子神经元感知器的发明(1957年)到神经网络的
大规模应用(2012年)整整经历了55年的艰辛探索,许多天才科
学家不顾嘲讽和失败,坚信这条路是对的。图3.4是在这个探索旅
程中做出重大贡献的科学家。图3.4 1940—2010年基于神经网络的AI发展史上做出突破性
贡献的科学家
图片来源:
https:beamandrew.github.iodeeplearning20170223deep_learning_101_part1.html。
神经网络模型:满是旋钮的黑盒子
在这一节中,我们用最简单的方法介绍机器学习的机理。像
图3.3这样一个多层神经网络的左端是输入端,即要识别的信息从
这里输入。例如要识别一幅图像,每个输入Xi就是这张图像的一个像素的灰度值(为了简单起见我们假设图像是黑白的,如果是
彩色的,我们可以想象三个这样的网络重叠起来用)。从输入层
的每个神经元到下一层的每个神经元都有一个连接,从输入层的
第i个神经元到下一层第j个神经元的连接有一个乘法因子Wij。每
一层到下一层都类似。在输出端,每根线对应一个识别出来的物
体。我们可以把每个输出想象成一个灯泡。当机器发现输入是某
个物体时,对应该物体的灯泡就在所有输出灯泡里最亮。
像这样一个多层次的神经网络是如何“学习”的呢?我们可以
把这个多层网络看成一个黑盒子。盒子外面有许多可以调节的旋
钮,如图3.5所示。图3.5机器学习:调节黑盒子外的旋钮
我们的第一个任务是训练这个黑盒子能够识别图像中的物
体。例如在图3.5中,输入端有两张图,一张汽车图片和一张猫的
图片。我们训练的目的是只要输入各种汽车的图片,机器就能告
诉我们“这张图是汽车”(对应“汽车”这个物体的输出端的灯泡最
亮)。同样,只要我们输入猫的图片,机器就告诉我们“这张图是猫”(对应“猫”的灯泡最亮)。训练的过程是这样的:我们先指
定输出的一个灯泡最亮对应于识别出了汽车,第二个灯泡最亮对
应猫,等等。我们先找到足够多的汽车图片(例如1万张,训练
图片越多,训练出的机器判断越准确),一张一张给机
器“看”(实际训练是一组一组地给机器看)。在机器没有训练好
时,当我们输入一张汽车图片时,输出的灯泡会乱亮。我们此时
耐心地调节那些旋钮直到只有对应“汽车”的灯泡亮为止。然后我
们输入下一张汽车图片,也调到只有对应汽车的灯泡亮为止,如
此一直到1万张。然后我们再输入第一张猫的图片,调节旋钮直
到对应“猫”的灯泡亮为止,也如此一直到1万张猫的图片都输入
完为止。如果我们让机器学习1 000种物体的图片,那我们对每种
物体图片都要如此操作,让输出端对应这种物体的灯泡最亮。所
以在机器学习中,“训练”是最耗时的。在训练过程中,这些训练
用的图片我们事先知道是什么内容,或者叫作“标注”过的图片。
当训练结束后,第二步是测试。也就是拿一些不在训练集里面的
图片让机器辨认,如果机器都能辨认出来,这部机器就算训练好
了,可以交付使用了。一旦训练测试结束,机器的参数集就不改
变了,也就是所有的旋钮都固定不动了。只要是输入训练过的种
类,机器都应该能识别出来。
如果一部机器要识别1 000种物体的图片,就要至少有1 000
个输出端(每个输出端对应一种物体)。假设图片分辨率是
100×100=10 000像素(很低的分辨率),如果这部机器只有三层
神经网络(深度最浅的“深度”学习网络),输入端和中间层之
间,中间层和输出之间的连接就有10 000×10 000+10 000×1
000=1.1亿个。也就是这部机器有1亿多个旋钮。截至2017年,最大的神经网络已经号称有上万亿的参数,即上万亿个旋钮。这么
多旋钮显然无法用人工去调节。
雾里下山:训练机器模型
幸运的是数学上200年前就有了“自动”调节旋钮的办法。这
个办法叫作“最陡梯度法”,或者通俗地叫作“雾里下山法”。当我
们训练一个机器学习模型时,我们事先知道每一张图片是什么物
体(汽车、猫等已经标注的图片),我们输入汽车图片时,要求
只有对应“汽车”的那个灯泡最亮。在我们调节旋钮之前,灯泡的
亮和灭都是混乱的,和我们的要求有很大误差。这些误差是由旋
钮的值决定的。如果把这些误差画成一幅图像,就像图3.6一样有
很多山峰,误差就是山峰的高度,图像的横轴和纵轴就是旋钮的
值。图3.6用“最陡梯度法”寻找误差最小的“山谷”
图片来源:维基百科。
当我们输入第一张图片时,我们可能站在一个随机的位置,例如某一座山峰的山顶或半山腰,我们的任务就是走到最低的一
个谷底(误差最小)。我们此时相当于在大雾中被困在山里只能
看见眼前的山坡,一个最笨的办法就是“最陡下降法”:站在原地
转一圈,找到一个最陡的下山方向往这个方向走一步。在这个新
的位置上,再转一圈找到最陡的下山方向再走一步,如此循环,一直走到山脚为止。在“最陡下降法”中每次转圈找最陡下山方向相当于用误差函
数的偏微分方程求梯度。简单地讲,旋钮的每一步的调节值是可
以算出来的。这样我们根据输出的误差一步一步地算出旋钮的调
节值,直到满意为止。这种根据误差回头调节旋钮的方法也
叫“反向传播算法”,意思是用输出误差一层一层地从输出端向输
入端把各层的权重系数算出来。
AlphaGo的“上帝视角”
有了上面的基础,我们现在就可以理解为什么AlphaGo这么
厉害。围棋棋盘有19×19=361个交叉点,每个交叉点可以二选
一:白子或黑子。这样所有的摆法就是2361,或者10108。人类2
000年来一共保留下来的围棋残局中盘大约3 000万个。人类下过
的棋局相当于大海里的一滴水(即使剔除那些明显没有意义的摆
法)。一位棋手即使每天下2盘棋,50年内天天下,一生也只能
下36 500盘棋。图3.7是一张“雾里下山”的示意图。下棋的终极目
标相当于在群山中找到最低的谷底(对应于最理想的走法)。如
果所有可能的走法是绵延几千里的群山,人类棋手2 000年来就相
当于一直在同一个小山坳里面打转转。第一位棋手偶然的棋路会
影响他的徒弟,以后的徒子徒孙都始终在这个小山坳附近徘徊。
而机器学习像个“神行太保”,以比人快百万倍的速度迅速扫遍群
山,很快就能找到一个远离人类徘徊了2 000年的更低的山谷(可
能还不是绝对最低,但比人类徘徊处低)。这也是连棋圣聂卫平
都连呼“看不懂”AlphaGo棋路的原因。(见图3.7)图3.7机器学习可以迅速扫过群山找到最低处
这个原理可以用于解决许多类似的问题。这类问题的特点是
变量非常多,可能解是天文数字,例如经济和社会决策、军事行
动策划等。
局部最优:没到山底怎么办“雾里下山法”会遇到一个问题,就是会走进一个不是最低的
谷底而且再也走不出来了。用一维函数能清楚地看到这个问题。
图3.8是有两个“谷底”:A点和B点的一维函数。当下山走到A点
时,只要每次的步伐不是特别大,不论往左还是往右再移动,总
是会回到A点。这在数学上叫“局部最小值”,而B点才是“全局最
小值”。
图3.8有两个谷底的一维函数
但是如果我们从一维扩展到二维,就有可能从一个“局部最
小值”中逃逸。在图3.9中,假设函数1是一个沿X轴切下去的一维
函数,A点就是函数1的一个“局部最小值”。如果一个小珠子只能
沿着X轴滚动,就会陷在A点出不来。但在图中的二维曲面上,小珠子只要沿着Y轴方向挪动一点,就到了C点,而从这个C点出
发就能到达整个曲面的“全局最小值”B点。当误差函数的维数增
加时,这种从“局部最小值”逃逸的机会就会增大。我们无法画出
三维以上的图像,但我们可以想象每个“局部最小值”附近都有许
多“虫洞”可以方便逃逸。维数越高,这种虫洞就越密集,就越不
容易陷在一个“局部最小值”里。
图3.9从一维空间扩展到二维空间,误差函数找到“全局最小
值”的概率增大
如果图3.9不够直观,我们可以用一个数字阵列来表达。首先
假设地形是一个一维函数,每个数字表示它的海拔高度。在图
3.10中,有两个最小的海拔高度0和5,但是无论从哪一边开始下
山,每走一步的话,都会被困在高度5这个“局部最小值”里出不来,无法走到“绝对最小值”0。
图3.10地形函数的数字阵列
但是,如果将这个地形叠加为二维函数,仍然用数字表示海
拔高度,我们可以看到,无论从哪一边开始下山,每走一步,当
在一维函数中走到“局部最小值”5以后,在另外一个维度的函数
中,则可以继续走到更低的海拔,直到到达“全局最小值”0。同
样地,维度越多,在某一个维度到达“局部最小值”后,可以选择
的其他维度和路径就越多,因此被困在“局部最小值”的概率就越
低。(见图3.11)图3.11将地形叠加为二维函数
深度学习——化繁为简
为什么深度学习有许多层神经元?这是因为世界上许多信息
和知识是可以通过分层表达的。例如人脸是很复杂的一幅图像,但人脸可以先分解成五官,五官的复杂程度就比人脸低了,五官
又可以进一步分解为线条。深度学习就是用一层神经元去识别一
个层级的信息。在图3.12中,左图是第一层网络来识别人脸上的
线条,中间的图是第二层网络在识别出线条的基础上识别出器
官,右图是第三层网络在识别出器官的基础上识别出长相。同样
一个时间序列的信息,例如语音也可以分解为递进的层级:句
子、单词、音节等。分层的最大好处是大大降低计算量,把原来
的N次计算变为m×logN次计算,这里m是层数。
除了将要处理的信息表达为层级以外,另外一种降低计算量
的方法是将“一大块”信息分解为许多小块来处理。例如想要在一
张像素很大的图片中识别出一个小三角形,我们只需拿着这个小
三角形的模板在大图中滑动比较即可。例如一张图的像素是1
000×1 000=1 000 000,如果拿一个1 000×1 000像素的模板去比
较,计算量大约是1 000 000×1 000 000。如果这个三角形的大小
是10×10,我们用10×10“模板滑动法”,计算量只要10×10×1 000
000,是原来的万分之一。图3.12深度学习神经网络学习得到的不同层次的特征
图片来源:维基百科。
机器要处理的信息有些是空间信息,例如图片,有些是时间
信息,例如语音。针对不同的信息,神经网络的结构不同。最常
见的有两种,第一种是处理空间信息的卷积神经网络
(Convolutional Neural Network,CNN),第二种是处理时间信
息的循环神经网络(Recurrent Neural Network,RNN)。下面我
们一一介绍。
化整为零的卷积神经网络
“卷积”这个词什么意思待会咱们再讲,但现在可以告诉你的
是,目前人工智能和机器学习制造的奇迹,从下围棋到自动驾驶
再到人脸识别,背后全是卷积神经网络。能知道卷积神经网络的工作原理,你就和周围大部分读了几本人工智能的书的人不是一
个档次了。虽然大部分人不会从事人工智能的专业工作,但卷积
神经网络解决问题的思路会让我们拍案叫绝。第一个提出卷积神
经网络的是前面说的神经网络教父杰弗里·辛顿教授的博士后学
生,一位叫岩拉孔(Yan LeCun)的法国人,现在任
Facebook(脸书)人工智能研究所主任,和辛顿同为神经网络四
大天王之一。
降低运算量就是降低成本
神经网络每一层的每一个神经元都和后面一层的每一个神经
元相连接。如果第一层有1万个神经元,第二层也有1万个,这两
层之间的连接就有1亿个。如果像微软那个一举超过人脸识别图
像能力的ResNet(深度残差网络)有152层,这些连接就有151亿
个。也就是说我们要调整的黑盒子上有151亿个旋钮。为了识别
10种动物,要给训练机器看10万张动物图片,一张图片就要算
151亿次乘法和加法,10万张至少是1 500万亿次运算。这才是识
别10种动物的训练运算量,如果要训练识别1万种动物呢?用今
天的最快的CPU(电脑中央处理器)或GPU(图形处理器),也
要算几个月甚至几年。对计算量要求更大的是识别,识别一张图
片要算150亿次不难,但Facebook上每天上传的何止几亿张照
片?降低运算量就意味着降低成本。
降低运算量的第一招就是把问题分类,如果只处理某一类问
题,针对这些问题的共同特点,就有可能简化算法。我们知道,人从外界获得的信息90%以上是视觉信息,视觉信息主要是图
像,视频也可以分解成快速闪过的图像。那图像有什么特点呢?一幅图像的信息量很大,但不管是风景还是人物,画面上总有大
部分区域没有什么变化,像天空。引起你注意的东西往往都是一
小块,例如人的眼睛、天空中的鸟、地上的花。这个叫作图像中
信息的局域性。图像的第二个特点是可以分解为更简单的元素,例如风景分解为天空、大地、植物、动物,人物分解为五官。卷
积神经网络就是利用图像的以上两个特点进行了大幅度的运算简
化。
以人脸识别为例,要识别一个人,先要抓住他的特征,比如
浓眉大眼高鼻梁。第一步就是把五官找出来。其实警察抓犯罪嫌
疑人早就用了这一招。警察局的画师会问目击者犯罪嫌疑人的性
别、年龄、身高、种族等,然后问目击者犯罪嫌疑人的五官长什
么样,目击者能描述的五官种类非常有限,大眼睛、小眼睛,最
多加个单眼皮、双眼皮、高鼻梁、塌鼻梁,根据目击者的描述画
师画出一幅人脸,然后目击者再说眼角朝下,没这么大,画师再
不断改,直到目击者觉得和记忆基本相符。人脸那么复杂根本无
法用语言描绘,但如果变成五官的组合描绘起来就简单多了。假
设每个五官都能分10种,就能组合出1万种脸来,再加上年龄、性别、种族就能组合出几十万张脸,这样把从70亿人中找一张脸
的任务就分解成了从10种眼睛中找出一种眼睛,再从10种鼻子中
找出一种鼻子这样简单得多的任务。
卷积神经网络是怎样工作的
卷积神经网络就是用的警察局这一招。假如我们现在要从分
布在北京大街小巷的摄像头的视频中发现100个重要的犯罪嫌疑
人,第一步是用这些犯罪嫌疑人的已有照片来训练机器。训练的第一步就是要从这些照片中提取五官的特征。因为五官在一张照
片中只占一小块,那我们就做个找五官的小模板,专业术语叫滤
波器,用这个小模板在要处理的图像上从左扫到右,从上扫到
下,看看能否发现眼睛,另外一个小模板负责发现鼻子等。什么
叫“发现鼻子”?就是负责发现鼻子的小模板是一张像鼻子的图
案,这个图案扫到鼻子处时重合度最大。什么叫提取特征?就是
一开始这个鼻子图案是个随机图案,像是随手那么一画,扫一遍
下来发现没有什么重合度,那就变一变这个图案,最后变得和犯
罪嫌疑人的鼻子很像时,重合度就会最大。等负责找出鼻子、眼
睛、嘴巴等的模板图案都和犯罪嫌疑人的吻合后就算训练成功
了。以后你输入一张照片,机器就可以飞速地告诉你这个是不是
犯罪嫌疑人。
在机器学习中,是机器自己寻找特征。一开始机器并不知道
要找哪些特征。所以这些小模板并不知道它们要找鼻子或眼睛。
这些小模板从开始的一个随机图形到最后一定会演变成五官吗?
答案是如果五官是人脸上最重要的特征,这些小模板到最后一定
会演变成五官。但神奇的是机器还能发现我们人类都没注意到的
人脸上的重要特征。假如我们多加一个小模板变成六个,这六个
中会有五个各自对应一个器官,还有一个就会找到一个新的特
征,如两眼之间的距离,或者口鼻之间的距离,等等。所以小模
板越多,抓到的特征就越多,识别就越准确。
现在你要问,这个小模板发现鼻子和前面讲的神经网络黑盒
子的调旋钮是什么关系?其实这个小模板就是一组旋钮,一个有
5×5=25个像素的小模板就相当于25个旋钮,每个像素的颜色浓度对应着一个旋钮的某个位置,调旋钮就是让小模板里的图案越来
越像犯罪嫌疑人的鼻子。我们之前讲过,这个“调旋钮”不是人工
调的,是算出来的。
现在我们可以看看到底省了多少计算量,如果一张图片是1
024×1 024≈100万像素,每个像素对应一个接收神经元,每层有
100万个神经元,这样一个全连接的神经网络每一层要有100万
×100万=1万亿次计算。现在只要五个小模板,每个负责找到五官
中的一个。每个小模板把图片上下左右扫一遍的计算量是
5×5×100万=2 500万次,5个模板就是1.25亿次。计算量变成了原
来的万分之一!
我现在可以告诉你什么叫“卷积”,上面说的小模板把图片上
下左右横扫一遍发现重合度的过程就叫卷积。你看这个唬人的黑
科技名词其实就是这么简单的一回事。
上面是对卷积神经网络的基本原理的一个通俗解释。对于想
更深入了解的读者可以看附录1中一个典型卷积网络的精确描
述。从附录1中可以看出卷积神经网络不仅是一个高阶的非线性
网络,也是一个无法用方程式表达的函数。给定一个训练数据
集,最后这些数据之间的相关性都会凝结在网络参数里。或者说
神经网络是数据相关性的“萃取器”。但萃取了哪些相关性?为什
么萃取这些相关性则是人们未必能理解的。比如人脸识别,机器
抓取的用于识别的人脸特征可能是人类不熟悉的那些特征,甚至
完全没有意识到的特征。对于那些人类感官无法感受的复杂数据
集,比如一个核电厂成千上万个子系统产生的数据以及它们之间
的相关性,那更是人类完全无法理解的。卷积神经网络能做哪些事
首先,几乎所有的图像类的处理,如图像分类、人脸识别、X光读片,都适合用卷积神经网络。图像分类最著名的大赛就是
斯坦福大学李飞飞教授创办的ImageNet(计算机视觉系统识别项
目,是目前世界上图像识别最大的数据库)大赛。这个大赛提供
1 000种不同物体的几百万张图片让参赛者训练自己的模型,参赛
时给大家一些新的图片让参赛者识别,看谁的识别准确率最高。
2012年辛顿的学生亚历克斯·克里捷夫斯基(Alex Krizhevsky)第
一次用一个5层的卷积神经网络就把多年徘徊在74%的准确率一举
提高到84%,震惊了业界。到2015年微软的152层ResNet把准确率
提高到了96%,超过了人类的准确率95%。从那以后进展就越来
越小。有些公司组织大量的人力,采集更多的训练图片,尝试更
多的小模板,更精心地微调那些旋钮,最后能达到比现有结果好
0.1%,然后就可以宣称自己是世界第一了。但这个世界第一意义
不大,因为没有在网络结构上和算法上有任何创新,当时人家一
个研究生Alex一举提高10个百分点,你扑上去几十上百人提高0.1
个百分点,不算本事。对不懂卷积神经网络的投资人、股民、政
府官员来说,这块“世界第一”的牌子还挺唬人的。但读到这里你
以后就不会被忽悠了。
更有用的是通过识别一张图片中所有的物体,甚至发现物体
之间的关系来“理解”这张图片。譬如机器看完一张图片后会说出
来“蓝天白云下,一位戴草帽的年轻妈妈在草地上教孩子学走
路,她们的小狮子狗在旁边卧着”。X光读片也是卷积神经网络一个很好的应用。假如要在胸片
中发现早期肺癌,就需要拿大量已经确诊的早期肺癌片子来训练
机器,这样训练好的机器就可以快速地发现肺癌。随着X光仪、CT机等医疗成像设备的普及,有经验的读片医生非常稀缺。特别
是在小城市、县城、乡村更缺乏这样的好医生。如果机器读片能
够达到甚至超过北京、上海大医院有经验的医生,将是普惠医疗
的一个巨大进展。我们在第六章会专门讲AI在医疗健康领域的应
用,包括X光读片的现状和挑战。
卷积神经网络虽然应用很广,但它解决不了一些重要的问
题,如股票预测和自然语言理解。下面我们就介绍可以解决这类
问题的另一个很牛的网络。
处理序列信息的循环神经网络
为什么需要循环神经网络
卷积神经网络可以处理图像分类和识别。图像信息处理的特
点是一张图像的所有信息同时给你,而且下一张图像和上一张图
像可以完全没有关系,就像是吃一盘饺子,先吃哪个后吃哪个都
无所谓。但自然界还有另外一类信息和图像不同,信息的先后顺
序很重要,不能前后颠倒,像自然语言、股票曲线、天气预报数
据等。和图像信息的另一个不同之处在于这些信息是连续产生
的,无法分成一块一块的,像一次喝进去一瓶啤酒,你无法清楚
地分成几十“口”,你就是这么咕嘟咕嘟连着灌下去的。我们把图
像这样不分先后的信息称为“空间信息”,把连续的、有先后顺序
的称为“时间信息”或“序列信息”。卷积神经网络每次能处理的信息都是个固定的量,所以不适合处理连续发生的信息。
于是,一种不同的神经网络——循环神经网络就应运而生
了,它的结构比卷积神经网络还复杂。但循环网络背后的直觉和
道理不难懂,其实掌握一门学科最重要的是理解背后的直觉,有
些研究生、工程师可以背很多方程式,写很多程序,但对背后的
直觉并不清晰,这就大大限制了他们的想象力和创造力。我们这
本书的目的不是要把大家训练成工程师,而是通过弄懂背后的道
理来对这个未来的大潮流有高屋建瓴的理解,从而产生全局性的
把握。
在介绍循环神经网络之前,我们先看个例子。譬如我们在下
面的句子里猜词填空:“我是广东人,会讲_____话。”在这里如
果我们没有看到第一句“我是广东人”就很难填空。这就是一个典
型的根据前面出现的信息对后面可能会出现的信息的预测。循环
神经网络就特别适合处理这类问题。这个网络有两个特点,分别
对应时间序列信息的两个特点:一是输入端可以接收连续的输
入,二是可以记住信息的先后顺序。
循环神经网络背后的直觉
现在我们看看循环神经网络如何做这样的预测。像其他神经
网络一样,第一步是训练机器。我们先一句一句地训练,比如训
练的第一句就是“我是上海人,会讲上海话”。一开始训练机器
时,给机器一个“我”字,机器会乱预测,比如预测出下个字是介
词“但”,可“我但”没意义。机器和训练样本一比知道自己错了,就去调黑盒子上的旋钮,一直调到机器会在“我”后面预测出“是”来。训练就是这样给机器读大量的各种各样的句子,当机
器读了很多以“我”开始的句子时,就会发现“我”后面一定是动
词,特别是关系动词或能愿动词,像“我是”“我要”。但“我”后面
可以有很多动词,“我想”“我吃”“我喝”,到底选哪个呢?这就需
要更前面的信息了。所以循环神经网络要存储前面的信息。当机
器读了很多“我是上海人,会讲上海话”“我是河南人,会讲河南
话”这类的句子后,就会慢慢发现规律,这时候你让它填“我是广
东人,会讲_____ 话”的空时,它就把我是“什么”人那个“什么”给
填进去了。
这时候你会问,这好像不用这么复杂的神经网络吧,只要统
计每个词后面出现的词的概率,然后预测哪个概率最高不就得
了?过去的确是这么做的,但效果不好,像我们前面举的例
子,“我”后面的可能性太多了。那你会接着说:“我们也统计前面
更多的字不就得了?”那我问你,统计前面多少个字呢?要不要
把词组和短句也作为一个单位来统计?但词组和短句多得数不
清,你怎么教会机器认识哪些是词组?你会发现越深究问题就越
多,而且问题变得无穷复杂,以至于都不知道该提取哪些特征。
而神经网络可以自动找到那些人类找不到的或者根本没意识到的
前后信息之间的相关性。就像我们之前讲到卷积神经网络不仅能
找到人脸的五官特征,还能找到人平时不注意的其他特征如两眼
间距等。
有兴趣的读者可以看附录2里面关于循环神经网络的技术介
绍。从附录2里可以看出由于循环神经网络里有反馈回路,整个
网络更是一个高度非线性、无法解析表达的网络。循环网络萃取出的数据在时间上的相关性更是人类无法感受和理解的暗知识。
因为人脑非常不善于存储很长一段时间的信息。
循环神经网络的神奇应用
循环神经网络的第一个重要应用是机器翻译。机器翻译最早
是语言学家手工写一大堆语法,然后根据单词出现的顺序用语法
把它们组织起来。这是典型的“专家系统”。我们前面讲过,这样
的手工系统无法应付千变万化的自然语言。后来的机器学习翻译
就是前面说过的统计方法,统计大量的句子中每个字出现在另外
一个字之后的频率,然后挑选最可能出现的那个字。我们前面也
说了这种方法的局限性。现在最新、最牛的机器翻译,从谷歌、Facebook、微软到百度统统都是用循环神经网络。翻译和前面的
填空例子相比,多了可用的信息。例如英文“I am Chinese,I can
speak mandarin”可以翻译成中文“我是中国人,会讲普通话”,机
器翻译除了可以根据前面出现的中文词预测后面的中文词之外,还可以根据整个英文句子和整个中文句子之间的对应关系来提高
预测的准确性。这就是目前最广泛使用的“编码器-解码器”翻译模
型。这里用两个循环神经网络,一个网络先把整个英文句子的结
构信息都压缩到一个字符中,然后第二个网络在一个字一个字地
预测时可以根据这个包含了整个句子的结构信息做辅助判断。机
器翻译正处在技术突破的边缘,一旦突破将给我们的生活带来巨
变。
机器学习不仅在科学技术的进步上大显神威,也开始进入人
文领域。循环神经网络第二个有意思的应用是写诗。我们会在第
六章中详细介绍。同样的道理,还可以写小说。只要让机器大量阅读一位作者的著作,机器就会学会这个作者的文字风格,甚至
可以写出海明威风格的《红楼梦》,或者曹雪芹风格的《老人与
海》。
循环神经网络很神奇,但我们下面要介绍的“强化学习”更神
奇。
AlphaGo与强化学习
机器学习迄今为止最让人类惊奇的表现就是下围棋。下围棋
的问题是当我每走一步时,如何使得最终赢棋的概率最大?如果
我不走150步,只走两步,每步双方只随机选5种走法,我走第一
步有五种选择,对方对我这五种选择的每一种又有五种选择,我
走第二步一共有5×5×5=125种选择。但通常走完两步离终局还很
远,那我从走完第二步的这125个位置上各派出一批“侦察兵”,每个“侦察兵”蒙着头一条道走到黑,看到岔路任选一条,尽快走
到终局,如果猜对了,给这个出发点加一分,猜错了,减一分。
从每个位置上派出的“侦察兵”越多,从这125个出发点到终局的
赢率就越准确。这个“有限出发点,随机侦察”的方法有个唬人的
专业名字叫“蒙特卡洛树搜索”。蒙特卡洛是摩纳哥的赌场区,所
以蒙特卡洛就是“随机”的意思。
但这种下棋策略只能勉强达到一二段的业余水平,与围棋大
师相比还差得很远。为什么?
因为“侦察兵”往前走时随机选岔道实际上是随机地替对方选
了走法。我们不禁会想到:见到岔路随机选多笨,完全可以根据阳光、藓苔、足迹这些东西做个判断。“侦察兵”很委屈地说:我
怎么知道该怎样判断?AlphaGo寻思说:“人类2 000多年下了那么
多盘棋,咱能不能先学学?”这时候AlphaGo祭出了大法器,就是
我们前面讲过的卷积神经网络。
卷积神经网络最适合处理图像,经过大量图片的训练后,你
给它个新的图片,它告诉你是猫、狗、汽车的概率分别有多少。
对于下棋,问题转化成:给个中盘,要判断哪种走法赢的概率最
大。在人类下过的棋局中,每个中盘都对应着一个走法。现在可
以把一个中盘看成一幅图像,把对应的走法看成与这个图像对应
的物体。现在找到中盘最好的走法就相当于判断这幅图像最像哪
个物体。那我就拿人类下过的棋局来训练AlphaGo里负责走子的
卷积神经网络——决策网络。现在把3 000万个人类走过的中盘输
入给决策网络,调整决策网络上的旋钮,一直到这个网络的走法
和人的走法类似。现在AlphaGo已经是七八段的水平了,但还打
不过大师,为什么?虽然现在“侦察兵”每一步都是按人类的走
法,但“侦察兵”的每一步只是替对方随机选一个。如果能让对方
的选择也按人类的走法,这条路对弈下去就更逼真了。AlphaGo
这时候拔了身上一根毫毛,吹口仙气儿,“变!”又“变”出一个一
模一样的AlphaGo。哥俩都是八段,再大战百万回合,又摸索出
很多原来人类没有探索过的捷径,又产生了很多数据,继续训练
决策网络,没多长时间就打败了李世石,再练一阵子,在网上打
出Master的旗号,横扫天下高手,无一失手,直至把柯洁挑下
马。
前面介绍的无论是卷积神经网络还是循环神经网络都需要大量的训练数据,这也叫“监督学习”。在“监督学习”中通常有唯一
或明确的答案,猫就是猫,狗就是狗。但生活中还有一类问题是
没有明确答案的。例如我们学习骑自行车,没有人能说清楚正确
姿势是什么,不管你姿势多难看,骑上去不摔倒就是对的。这类
问题的特点是答案不唯一但知道结果的对错。这种通过每次结果
的反馈逐渐学习正确“行为”的算法就叫“强化学习”。在强化学习
算法中有一个“奖惩函数”,不同的行为会得到不同的奖惩。譬如
我们在楼里打电话时,如果信号不好,我们就拿着手机,边走边
问对方“能听到吗?”。我们得到的信息并不能直接告诉我们哪里
信号最好,也无法告诉我们下一步应该往哪个方向走,每一步的
信息只能让我们评估当前的状况是更好还是更差。我们需要走
动、测试,以决定下一步应该往哪儿走。AlphaGo的随机树搜索
就是强化学习,通过派出“侦察兵”来测试某种走法的赢率。赢了
加一分,输了减一分,这就是强化学习中的奖惩函数,存储各种
走法输赢积分的网络也叫“价值网络”。哥俩对战就是站在人类肩
膀上的强化学习。所以AlphaGo是监督学习和强化学习的混合方
式。
在AlphaGo的学习过程中,人类的3 000万中盘仅仅把它领入
门而已,进步主要靠哥俩自己厮杀。相当于你去学围棋,一开始
跟着你爸学,你爸就是个业余选手,你两个星期就跟你爸学不了
什么了,以后都要靠自己琢磨了。AlphaGo也一样,想清楚这
点,干脆从零开始,人类2 000多年积累的东西也许就是老爸那点
业余水平,学不学无所谓。AlphaGo Zero横空出世了,这
个“Zero”就是从零学起的意思。AlphaGo Zero从一开始就是哥俩
自娱自乐,和AlphaGo不同的是,在下每一步棋之前,不需要随机地选125个出发点了,而是根据当前的小路“记号”和打分先在
这个中盘选一个最可能赢的走法和“双胞胎弟弟”试走一次到终
局,试走过程中每一步双方都用同一个决策网络指导如何走子。
这个决策网络的功能很简单:给我一个中盘,我告诉你所有走法
的赢率,这样一次到终局后就对从这个走法出发的路是否能赢多
了点信息。一路上边走边做记号,第一,记住有没有走过这条
路;第二,等到了终局后根据输赢再记下这条路的好坏。这
个“做记号”就是不断更新价值网络。这样在同一个中盘哥俩试走
了几万次到终局,基本摸清哪条路好走,哪条路不好走,也就是
对于这个中盘我已经估摸出了所有走法的赢率。此时,我用几万
次试走出来的赢率来更新决策网络。更新的方法就是用这个中盘
做网络的输入,调试网络权重系数让输出的各走法赢率接近试走
测出来的赢率。这一切做完后再根据测出的赢率郑重地正式走一
步棋。哥哥下完一步该弟弟走了,弟弟的程序和哥哥完全一样,也是先试走许多次,用测出来的赢率更新决策网络,再根据测出
来的赢率走子。以后哥俩就这么不断重复下去。AlphaGo Zero诞
生后的第一局的第一个中盘,哥俩完全是乱下,但第一盘走完就
多了一点点知识,哥俩用这点可怜的知识走第二盘就比第一盘靠
谱了一点点,架不住计算能力强大,AlphaGo Zero每秒钟可以走8
万步,平均一盘棋不到400步,所以哥俩一秒钟相当于下200盘
棋。每盘长进一点,到第7个小时,也就是相当于下了500万盘棋
后就下得像模像样了。一天半后,也就是相当于下了2 600万盘棋
后就超过了战胜李世石的AlphaGo Lee。3天后,AlphaGo Zero就
和AlphaGo Lee打了个100:0。AlphaGo Lee一共学了3 000万个中
盘,大致相当于3 000万400=8万盘棋,这时AlphaGo Zero已经相
当于下了5 100万盘棋。21天后就打败了横扫天下无敌手的AlphaGoMaster,到40天后哥俩已经妥妥地称霸天下,独孤求
败。到这里,AlphaGo团队终于松了口气,放下了原先的一个最
大担忧:如果不让人类引进门,从零学起,这哥俩会不会在野地
里瞎逛,在林子里迷路,像梦游一样原地绕大圈,永远都走不出
来。这证明了在强化学习中只要每一步都知道对错,有惩罚奖
励,哥俩很快就会放弃那些明显不通的绝大部分的道路,很快就
会找到一条正路。AlphaGo用了1 200个CPU,176个GPU,而
AlphaGo Zero只用了4个TPU(张量处理单元)。计算资源的大幅
度下降主要来自算法的精简,不需要用人类数据训练了。由此可
见,在不同的应用场景下,数据并非都那么重要。在下围棋这件
事上,人类的经验反而拖了后腿。AlphaGo Zero给我们最重要的
启示是柯洁说的那句话,“人类下了2 000年围棋,连边儿都没摸
着”。非常原始的机器在自己摸索了36个小时后,就超过了全人
类2 000年来摸索积累的全部围棋知识。
现在请大家思考三个问题:
为什么AlphaGo Zero从零学起反而比人强?
AlphaGo Zero再从头学一遍,功力还和原来一样吗?
AlphaGo Zero是不可战胜的吗?
神经网络悖论
读者到这里会发现一个悖论:神经网络是模仿人脑,怎么能
够发现和掌握人脑无法掌握的知识?我们知道目前的半导体芯片
中的人工神经网络只是对大脑的一个简单模仿,无论是在神经元数量还是在连接的复杂性上都远不如人脑。到底是什么原因使得
人工神经网络能够在发现隐蔽的相关性方面远超人脑,创造出如
此多的神迹呢?
第一个原因是人的感官和机器的“感官”相比实在太差。人的
感官在几亿年的进化中主要是为了在自然界中觅食和求偶。所以
只能感受到部分外部世界信息。比如眼睛只能看到光谱中的可见
光这一小段,无法“看见”从无线电波到毫米波再到远红外的电磁
波,也无法“看见”从紫外线到X射线再到伽马射线。人的耳朵也
听不到20赫兹以下的亚声波和20 000赫兹以上的超声波。不仅如
此,人类的视觉和听觉对强度的分辨率非常粗糙,只能分出数量
级。人类的触觉、嗅觉、味觉分辨率更是粗糙。而机器的“感
官”,就是各类物理、化学、生物类的传感器则比人的感官精密
得多。不仅可以“感受”到人类感受不到的信息,对信息的分辨率
也远超人类。如果有办法把这些传感器信号不经过人类感官直接
输入大脑,人类大脑也能和机器一样发现数据间复杂隐蔽的相关
性吗?大脑能处理高分辨率的外界信息吗?我们可以合理地推测
出大脑的进化应该和感官相匹配。如果感官只能提供低分辨率信
息,大脑处理高分辨率信息的能力就是一种浪费,这种功能要么
不可能演化出来,要么即使偶然变异出来也会被进化无情地消
灭。
第二个原因是电子神经元比生物神经元的传输信号速度快,准确度高。由于人脑神经元在突触部分的信号是通过化学分子传
导的(细胞膜内外带电的离子浓度差造成电压差),每秒钟大约
只能传导400次信号。而电子神经元间的传输速度就是芯片上不同晶体管之间的传输速度,比人脑神经元要快几万倍。人脑神经
元突触之间的传输非常不可靠,平均每次传输的成功率只有30%
(这种随机性也许是意识“涌现”的重要条件之一),而电子神经
元之间的传输可靠性几乎是100%。人脑神经元由于结构复杂,不
同神经元之间的电信号会互相干扰,而电子神经元之间的干扰可
以忽略不计。所以人脑神经元是一个慢腾腾的老出错的系统,而
电子神经元是一个高速的精密系统。
第三个原因是目前还没有办法获得大脑内部每一个神经元的
连接强度。即使我们有办法把外界传感器信号直接输入大脑,大
脑也可以处理这些信息,这些信息也只能被雪藏在一个人的脑子
里,成为无法沟通、无法传播、无法记录的默知识。但电子神经
网络中的每一个神经元之间的连接强度,也就是两个神经元连接
的权重系数都是可以存储、提取的。所以机器获得的暗知识是可
以传播、复制、记录的。
所以对这个悖论的回答是,人工神经网络虽然是模仿大脑,但它具备了人类没有的三个优势:能“感受”人类感受不到的信
息,与人脑相比又快又准,每一个神经元的状态都是可测量的。
神经网络五大研究前沿
之前介绍的几种神经网络都是目前商用中的主流算法,但机
器学习的潜力还远没有被挖尽,现在每年关于机器学习的论文还
在呈指数级增长,在研究型的大学里任何关于机器学习的课程都
爆满。可以预期在今后3~5年中还会不断有新的算法突破,下面
介绍的都是目前炙手可热的研究方向,每一个方向的突破都会产生巨大的商业价值。
非监督学习
在前述的机器学习算法中,我们总有一个训练数据集合,即“标注数据”,如所有汽车图片都会标注上“汽车”,所有猫的图
片都会标注上“猫”等。这样在训练的输出端,我们就知道结果是
否正确,因此可以用正确结果和输出结果的差来训练机器(调整
各层的权重系数),就像一个妈妈教孩子认识东西,这类算法
叫“监督学习”。在机器学习中还有一种算法不依赖于“标注数
据”,叫“非监督学习”,像一个孩子在没人教的情况下自己学习。
非监督学习最常用的情形是分类,例如一个孩子见过许多猫和狗
后,如果大人不告诉孩子这两种动物的名字,孩子也许不知道名
字,但慢慢会知道猫和狗是两种不同的动物。在商业上有很多应
用,例如在营销上面可以根据人群的不同属性将其划分成不同人
群进行精准营销;在社交媒体上面,可以根据人们之间的互动次
数,划出每个人的朋友圈子;在医疗诊断上面可以根据不同症状
之间的相关性更精确地预测还未发现的疾病;等等。
增量学习和连续学习
目前的机器学习算法都是“离线训练”,先用一大堆数据训练
模型,训练完测试好就拿去做识别用,在识别过程中,这个模型
是固定的。如果发现了新的情况,有了新的训练数据,就要把新
数据和原来的老数据合在一起重新训练这个模型,训练完还要重
新测试才能使用。许多互联网巨头每个月都要训练几十万个模
型,目前的计算量主要在训练上。增量学习就是当有新数据时,只用新数据训练原来的模型,使机器在原有的识别功能之上增加
新的识别功能。连续学习就是能够边识别边学习。这两种学习算
法都还在研究的早期阶段。
生成对抗网络
监督学习的最大问题之一就是需要大量人工标注的数据。在
很多情况下,要么没有数据,要么标注的工作量太大。生成对抗
网络(Generative Adversarial Network,GAN)解决了这个问题。
因此GAN成为目前最炙手可热的非监督学习算法之一。
GAN减少深度学习训练所需的数据量的方法是:从少量的已
有数据出发去创造出更多的新的标注数据——多数情况下是图像
数据。
图3.13是GAN的示意图,图中有两个深度神经网络:G和D,其中G是生成网络,D是鉴别网络。生成网络的任务是根据一组
真实、有限的数据(例如一组图片)生成更多类似但不同的数
据。然后把这些生成的数据和真实数据混在一起喂给鉴别网络。
鉴别网络的任务是使用很少的真实数据训练后,分出哪些是真实
数据哪些是生成数据。如果生成网络生成的数据能被鉴别网络认
出来不是真实数据,就说明生成网络模仿得不够真实,需要继续
调整网络参数,目的是让鉴别网络分不出来。如果鉴别网络分不
出来真假,就说明鉴别网络不够好,需要继续调整参数分出真
伪。这样“道高一尺,魔高一丈”地持续对抗下去,两个网络就越
来越好:生成网络模仿得越来越真,鉴别网络越来越“火眼金
睛”。当两个网络打得难解难分时,生成网络生成出来的数据就和真实数据无法分辨。当缺乏足够多的真实数据时这些生成数据
就可以用于神经网络的训练了。
图3.13生成对抗网络
可以把这个过程想象为一个警察和假币伪造者之间的比拼,伪造者想把假币做得像真的,警察希望看到任何钞票时都能鉴别
出真伪。两个对抗网络也在彼此学习,也就是说,当一个网络努
力去鉴别假币时,另一个网络就能把假币做得越来越真。另一个例子是生成对抗网络可以模仿名画。经过训练之后的
最终结果是,一个网络可以像凡·高、毕加索一样作画,另一个网
络能以你闻所未闻的洞察力鉴别画作。这对于医疗等领域来说非
常重要,在这些领域中,由于隐私的需要,可用的数据非常有
限。GAN可以填补缺失的数据,自行制作完全“臆造”的病患数
据,而这些数据在用于训练AI时和真实数据同样有效。深度生成
模型有广泛的应用,包括密度估计、图像降噪(从低分辨率或高
噪音的图像中生成高品质图像)、图像修复(从部分残缺的图像
中恢复完整图像)、数据压缩、场景理解、表征学习、3D场景搭
建、半监督分类或分级控制等。
相比判别模型(例如CNN),生成模型更厉害的原因如下:
(1)能够从数据中识别并表现出隐藏的结构,例如三维物
体的旋转、光强、亮度或形状等概念。
(2)能够想象世界“可以是什么样”,而不是仅仅展现世
界“已经是什么样”。
(3)通过拟合并生成近似真实的场景,可以预见未来。
迁移学习
迁移学习的一个例子是当一个神经网络学会了中文翻译成日
文,再让它学德文翻译成英文时就比从头训练要花的时间少得
多。这里面的道理在于语言的结构有很多相似的地方,一旦掌握
了这些结构,学习下一个就快了。这和人的技能学习类似。可以
想象,只要两种任务的结构有相似之处,就可以用迁移学习的方法。
学习如何学习
学习如何学习也叫“元学习”。目前所有的神经网络都是为了
一个单一任务而被设计和训练的。换一个不同的任务,例如从识
别图片换成学下棋,原来的机器就完全不工作了。目前的所
谓“元学习”并非让机器和人一样掌握举一反三的能力,而是让同
一个机器适应更多种类的工作。一个办法是训练时用多个种类的
任务来训练。另一个办法是把机器分为两个层次:学习任务的机
器和观察学习过程的机器。如果后者能够领悟出不同任务之间的
相关性,就可以更快地学习新任务。
神经网络可以有许多不同的结构,例如不同的层数、不同的
连接方式,等等。把这些结构看成一个可能的空间,让机器自己
在这个空间中寻找对给定问题的最佳结构。
深度学习的局限性
上面介绍了一些目前最热的神经网络,例如卷积神经网络、循环神经网络、强化学习、生成对抗网络等,它们有很多神奇的
地方,在实际中也得到了相当广泛的应用。但神经网络也好,深
度学习也好,都不是万能的,它们有其自身的局限性。
神经网络的一个局限性是,需要依赖特定领域的先验知识,也就是需要特定场景下的训练,说白了就是神经网络只会教什么
学什么,不会举一反三。神经网络的这个局限性,是因为神经网络的学习本质上就是对相关性的记忆,也就是说神经网络将训练
数据中相关性最高的因素作为判断标准。打比方说,如果一直用
各个品种的白色狗来训练神经网络,让它学会“这是狗”的判断,神经网络会发现这些狗最大的相关性就是白色,从而得出结论:
白色=狗。在这种情况下,让这个神经网络看见一只白猫,甚至
一只白兔子,它仍然会判断为狗。机器学习的这种呆板行为,用
专业术语描述叫“过度拟合”。如果想让神经网络变得更聪明,就
必须用各种颜色、各个品种、是否穿衣服等各种场景下的狗来训
练神经网络,如此它才有可能发现不同的狗之间更多的相关性,从而识别出更多的狗。人类则不同,一个两三岁智力发育正常的
孩子,在看过几只狗之后,就能认出这世上几乎所有的狗了。无
须大量标注数据和特殊场景的训练,只需要少量的数据,人脑就
可以自己想清楚这个过程。在这方面,目前的神经网络和人脑相
比,还有很大的差距。
再如前面提到的汽车和猫的例子,如果一直用正常的汽车来
训练这个神经网络,那么当神经网络突然看到图3.14的时候,很
有可能无法把它认作汽车,而觉得它更像猫。
这个问题在自动驾驶领域显得尤为突出,由于道路交通状况
的复杂性,各种交通指示标志的多样性,想把所有的道路交通场
景都训练到显然是不可能的。2016年特斯拉第一起自动驾驶致死
的事故也和这个原因有关。图3.14机器学习会把这辆汽车当成猫
神经网络的另一个局限性是无法解释结果为什么是这样,因
为人类无法理解暗知识,所以更无法解释。对于神经网络这
个“满是旋钮的黑盒子”,每个旋钮为什么旋转到那个位置,而不
是多一点或者少一点,都是无法解释的。这个不可解释性在许多
涉及安全和公共政策的领域都是很大的问题。例如,医疗涉及人
的健康和生命,医生的诊断需要根据极为严谨的医学逻辑,因此
医疗对于人工智能的可解释性要求远高于其他行业,极少有医院
或医生敢把无法解释的诊断结果用在患者身上。然而由于神经网
络自身不具备医学逻辑,其输出的结果也缺乏医学上的解释性,因此目前人工智能在医学上的应用,无论是影像识别还是辅助诊
断,都需要专业医生的复核,距离取代医生还有较大的距离。
人工智能之所以有上述两个局限性,主要是因为目前的神经
网络只有相关性的学习能力,没有因果推理能力,更无法把一步
一步推理的过程表现出来。因此,想要克服这两个局限性,我们
需要有因果推理能力的人工智能。要实现这件事情,人工智能需
要做的,不仅是识别场景,还需要将识别出来的场景和它具体的
功能以及想做的事情结合起来,从而实现合理的逻辑推理。
让我们看看人脑是如何理解一个场景的。当人进入一个新的
房间时,会很自然地对这个房间的大小,里面各个物品的大小、位置等有一个大致的认识。之后,人脑会把识别出的场景和物
品,与其功能一一匹配,例如,床是用来躺的,而且是一张双人
床可以躺两个人,椅子是用来坐的,杯子是用来喝水的,等等。然而值得注意的是,上述的几何重建和功能推理,其精度是和具
体任务相结合的。例如,人一开始看到杯子,会匹配它喝水的功
能,并看到它放在桌子上,判断距离自己两三米远,这个距离判
断是非常不精确的。然而当人真的需要喝水时,喝水成为一个任
务,人在走过去拿杯子的过程中,不断地、更加精确地判断自己
和杯子的距离,直到非常精确地拿到杯子。这个过程就是一个典
型的任务驱动的场景识别和功能推理。
此外,人类对于功能的推理,并非会拘泥于具体的物体,而
是能抽象出这个物体和功能有关的物理特性,从而匹配其功能。
仍然以喝水为例,如果房间里没有杯子,但是有一个瓢、一个盘
子、一根擀面杖,人会很自然地选择瓢作为喝水的工具(如果连
瓢都没有则可能选择盘子),因为瓢可以作为容器的物理特点和
杯子是一致的。而且,选择了瓢之后,人拿瓢的动作,喝水的动
作,都会和拿杯子不一样,这同样是由杯子和瓢不同的物理特性
决定的。由此可见,人对于物体的功能推理,是会根据任务的要
求,抽象其物理特性,从而推理它的功能并完成任务,因此人工
智能的场景识别和功能匹配,是需要基于场景和物体的物理特性
来完成的,而不仅仅是识别和标定具体功能。
这种基于任务驱动的因果推理和当前的神经网络的对比如
下。(见表3.1)
表3.1神经网络和任务驱动的对比资料来源:朱松纯,《正本清源》,2016年11月刊登于《视
觉求索》。
目前在这个方面探索的代表人物是加州大学洛杉矶校区
(UCLA)的图灵奖获得者朱迪亚·珀尔(Judea Pearl)教授以及他的同事朱松纯教授。他们认为可以建立一个基于常识之上
的“概率决策图”,也叫“概率语法图”。这个模型把人类的常识和
世界模型都包含进来,又采用贝叶斯原理,可以像人类一样不需
要许多数据就能学会,在处理许多问题上效率远高于神经网络。
在高科技领域,硅谷一家由斯坦福大学教授威德罗的弟子创办的
人工智能公司Vicarious得到了著名风险投资人蒂尔(Peter
Thiel)、特斯拉创始人马斯克、脸书创始人扎克伯格(Mark
Zuckberg)和亚马逊创始人贝佐斯(Jeff Bezos)的投资。他们也
是采用了概率决策图的方法。虽然目前他们是少数派,但也许若
干年后会异军突起,就像神经网络坐了50年“冷板凳”今天突然一
飞冲天一样。第四章
逐鹿硅谷——AI产业争霸战
导读
这一章不谈理论和技术,只谈AI的产业生态。对于想抓
住AI时代投资机会的人,这章提供了对AI产业和商业的一个
基础理解。没有读过前面章节的读者也可以直接读这一章。最新技术巨浪
人工智能毫无疑问是继移动互联网之后的一次超级大浪,其
规模和影响至少是互联网级别的。这次创新大浪启动的标志性事
件是2012年的ImageNet比赛。ImageNet目前有1 400万张图片,其
中上百万张有文字标注。标注的文字通常是用短语描述该图片的
内容(例如“草地上卧着的一条黄狗”)。ImageNet的比赛主要是
看谁的程序能够最准确地识别出图片的内容。在2012年以前,识
别主要是人工选择物体特征并且写出识别这些特征的程序,准确
率的最高水平一直在74%左右徘徊。2012年,亚历克斯·克里捷夫
斯基使用多层神经网络AlexNet一举把识别率提高了10个百分
点,达到84%。
这个突破性结果立即引起了产业界的强烈兴趣和关注。谷歌
大脑的负责人杰夫·迪恩(Jeff Dean)敏锐地发现了这个重大机
遇,他用了一年的时间说服了谷歌当时的CEO(首席执行官)兼
创始人拉里·佩奇(Larry Page),开始全公司大举转型AI,随后
Facebook、微软、百度等科技巨头纷纷跟进。如图4.1所示,在今
后几年,神经网络不断提高识别的准确率,终于在2015年达到
96%的准确率,超过了人类所能达到的95%。这些突破证明了机
器学习可以开始解决实际问题,也让工业界认识到了巨大的商业
潜力。但这个突破来之不易,AI走过了60年的艰辛道路。图4.1 2010—2015年ImageNet大赛历年识别准确率
图片来源:http:yann.lecun.com。
AI突破三要素
AI发展了60年,为什么到今天能够突破?这是由于长期积累
的三个条件成熟了。
第一个条件是计算能力。计算能力和半导体的集成度(在单
位半导体材料面积上可以集成的晶体管的数量)直接相关。从第
一个集成电路晶体管诞生以来,在过去的50年中,半导体的集成
度的增加速度基本遵循“摩尔定律”。1965年4月19日,《电子学》杂志(Electronics)发表了仙童半导体公司工程师戈登·摩尔
(Gordon Moore,后成为英特尔的创始人之一)撰写的文章《让
集成电路填满更多的组件》,文中预言半导体芯片上集成的晶体
管和电阻数量将每年增加一倍。1975年,摩尔在IEEE(电竞和电
子工程师协会)国际电子组件大会上提交了一篇论文,根据当时
的实际情况对摩尔定律进行了修正,把“每年增加一倍”改为“每两
年增加一倍”,而这个定律经过传播演化,变成今天普遍流行的
说法“计算机运算速度每18个月提升一倍,价格每18个月下降一
半”。1970年一个芯片上的晶体管数量约为1 000个,今天一个芯
片上的晶体管数量达到100亿个,不到50年中提高了1 000万倍。
相应地,计算能力也提高了1 000万倍。目前虽然单个芯片的晶体
管数量增加速度放缓,但人们开始把成百上千个芯片封装在一起
以便提高总的计算速度。
计算能力对人工智能的巨大推动还体现在一个标志性事件上
——GPU(图形处理器)被用于训练AI算法。2009年,斯坦福大
学计算机系教授吴恩达和他的博士生拉加特·蓝恩纳(Rajat
Raina)第一次提出由于神经网络中大量计算可以并行,用一个
GPU可以比双核CPU快70倍,原来需要几周完成的计算一天就可
以完成。之后纽约大学、多伦多大学及瑞士人工智能实验室纷纷
在GPU上加速其深度神经网络。赢得2012年ImageNet竞赛的
AlexNet同样用的也是GPU。从此之后,GPU就在神经网络的训
练和识别中树立了公认的王者地位。再到后来AlphaGo发威战胜
人类顶级围棋手,背后则是谷歌自行研发的专为深度学习使用的
TPU发挥了重要支撑,每个TPU可以提供10倍于GPU的计算能
力。在本章中将会详细分析为什么TPU比GPU快。第二个条件是数据。如果说算法是火箭发动机,那么数据就
是燃料。由于互联网的发展和各类传感器(例如在各种环境中的
温度、位置、压力等物理化学变量的测量,社会中大量摄像头的
存在)成本的大幅下降和广泛安装,根据IDC(互联网数据中
心)的监测统计,2011年全球数据总量已经达到1.8ZB(1ZB=1
万亿GB),相当于18亿个1TB的移动硬盘,而这个数值还在以每
两年翻一番的速度增长,预计到2020年全球将总共拥有35ZB的数
据量,增长近20倍。
这比从人类出现到计算机出现前产生的所有数据都多。以目
前的传感器技术发展速度,若干年后回头看今天的数据量,不仅
量小而且数据采集的密度和广度都远远不够。
第三个条件就是那批甘愿坐“冷板凳”的科学家经过了几十年
的积累,终于从2006年开始在算法上有了重大突破。当时在多伦
多大学任教的辛顿教授在美国《科学》杂志和相关的期刊上发表
了论文,证明了深度神经网络的能力和实用性。从此,基于多层
神经网络的深度学习理论成为本轮人工智能发展的重要推动力,相当于过去飞机从达·芬奇设计的扇翅膀的飞行器变成有螺旋桨的
发动机,人工智能的概念和应用开始一路攀升,语音识别、机器
视觉技术在几年间便超过了人类的水平。
正是算力、数据、算法这三个要素同步成熟,形成合力,终
于带来了今天AI的爆发。这三个要素中最重要的是计算能力的发
展和算法的互相促进。
金字塔形的产业结构一个产业的生态主要是指这个产业有哪些环节和这些环节之
间的关系,例如哪个环节是生态的瓶颈并掌握最强的砍价能力。
更深入的产业生态分析还包括各个环节的未来发展以及对整个生
态的影响。AI的产业生态如图4.2所示,是一个金字塔形的结构。
图4.2AI产业生态的金字塔形结构
金字塔的下层对上层有依赖性,但反之不成立。也就是说上
层是驱动力,是自变量,下层是驱动结果,是因变量。金字塔的
宽度大致对应市场规模和公司的数量。所以越上层对整个行业的
影响越大但市场规模越小,越下层市场规模越大但影响越小。
产业的皇冠:算法
我们前面说过,AI近年的突破性发展的三个驱动因素之一是神经网络算法的突破。其实这是三个因素中最重要的因素,因为
其他两个因素(计算能力和数据量)属于“搭便车”。目前研究算
法主要集中在美国的一流大学和几家超级互联网公司(谷歌、Facebook、亚马逊、微软、IBM、百度等)。大学的算法研究大
部分都是学术性和公开的,而大公司的算法研究最核心的只留给
自己用。专门研究算法的私人企业屈指可数,一家著名的算法公
司就是被谷歌收购的大胜围棋世界冠军的DeepMind。另一家是由
硅谷老将,曾经做出世界上第一台掌上电脑PalmPilot的杰夫·霍金
斯(Jeff Hawkins)创办的Numenta(公司名来自拉丁文mentis,意为“心灵”)。Numenta是一个由私人资助的研究所,他们过去
十几年专注于发展一种叫作层级时序记忆(Hierarchical Temporal
Memory,HTM)的算法。这种算法受大脑新皮质中锥体细胞的
启发,网络结构远比各种神经网络复杂。这种算法的一个特点是
可以连续学习。神经网络都有一个缺陷,在模型训练完毕后,如
果有新数据可以用,就必须把新数据和原来的老数据合并在一起
重新训练模型。而HTM的连续学习没有这个缺陷,当新数据来了
以后,只要继续把新数据喂给模型即可。HTM的第二个优势在于
可以将物理世界的基本常识融入模型。Numenta并不寻求直接提
供商业解决方案,而是仅仅提供算法的许可,让合作伙伴用自己
的算法来解决商业问题。Numenta还提供了开源的平台,让更多
的开发者在这个平台上完善HTM算法。从Numenta出来创业的威
德罗教授的博士生迪利普·乔治(Dileep George)基于HTM创办
了一家做机械手通用软件的公司Vicarious。相对于应用,纯粹做
算法的公司少得可怜,原因主要是缺乏商业模式。
技术制高点:芯片半导体芯片是一切信息技术的基础,有了芯片才有电脑和存
储,有了电脑和存储才有互联网,有了互联网才有大数据,有了
大数据才有人工智能。在这每一波的发展中,芯片都是最关键的
环节,芯片厂商总是处在霸主地位。在大型机时代,能够自己开
发芯片的IBM独占鳌头。在个人电脑时代,能够生产出最好的
CPU的英特尔成为新的霸主。在移动通信时代,高通
(Qualcomm)几乎垄断了手机芯片,直接挑战英特尔的霸主地
位。在云计算大数据时代,三星(Samsung)凭借自己在存储芯
片方面的优势成为世界半导体第一大厂家。在人工智能时代,谁
将是新的霸主?
这个新霸主的桂冠很可能落在硅谷的半导体公司英伟达
(Nvidia)头上。英伟达成立于1993年,创始人是出生于中国台湾,小时候随父母来到美国的斯坦福大学毕业生黄仁勋(Jen-sen Huang)。公司最初是做电脑图形显示卡,20多年来一直在研发销售图形显卡和图形处理芯片GPU。除了工业应用之外,图形显卡的最大市场是电脑游戏,今天高端电脑游戏里面几乎清一色用英伟达的显卡。当电脑游戏市场开始成熟后,英伟达也曾经想进入手机市场并收购过相应的公司,但是并不成功。直到2012年上天为准备好了的英伟达掉下一块“大馅饼”,这个馅饼就是我们前面提到过的2012年的ImageNet比赛。在这个比赛中取得突破的AlexNet的发明人亚历克斯就使用了英伟达的GPU,证明了GPU非常适合用于有许多并行计算的神经网络,比CPU快得多。在这之后的几年,其他人都开始采用GPU,比谁能将网络做得更大,层数更多。从此以后,GPU成了神经网络计算的引擎,相当于
CPU对电脑的作用一样。为什么GPU会成为神经网络计算的引擎?训练神经网络就相当于调黑盒子上的旋钮,调旋钮是通过数学的算法调的,这些旋钮动辄几十亿个,需要大量的计算。传统电脑用的是CPU,用CPU去调旋钮相当于调完第一个再调第二个,一个一个按顺序来,虽然现在CPU很快,但神经网络的旋钮实在太多了,连CPU都招架不住了,这时候GPU就出现了。
GPU和CPU不一样的地方是它一次可以同时调成千上万个旋钮,原来CPU几年才能调完的活GPU几天就干完了(有兴趣的读者可以看附录3中 ......
作者:【美】王维嘉
出版社:中信出版集团
出版时间:2019年4月
ISBN:9787508692982
本书由中信出版集团授权得到APP电子版制作与发行
版权所有·侵权必究导读
一直以来人类的知识可以分为两类:“明知识”和“默知
识”(Tacit Knowldge,又称默会知识)。明知识就是那些可以用
文字或公式清晰描述和表达出来的知识。默知识则是个人在感觉
上能把握但无法清晰描述和表达的知识,也即我们常说的“只可
意会,不可言传”的那类知识。人类发明文字以来,积累的知识
主要是明知识,因为只有明知识才可以记录和传播。直到大约70
年前,人类才意识到默知识的存在。今天,人工智能,特别是其
中的一个重要流派——神经网络,突然发现了海量的、人类既无
法感受又无法描述和表达的“暗知识”——隐藏在海量数据中的相
关性,或者万事万物间的隐蔽关系。这些暗知识可以让我们突然
掌握不可思议的“魔力”,能够做很多过去无法想象的事情。本书
就是要清楚阐述机器学习发掘出了什么样的暗知识,为什么机器
能够发现这些暗知识,以及这些暗知识对我们每个人会有什么影
响。
本书分为三个部分。
第一部分包括第一、二、三章,其中第一章里我们发现
AlphaGo(阿尔法围棋)给我们带来的最大震撼是人类完全无法
理解机器关于下棋的知识。这个发现迫使我们重新审视人类对
于“知识”的所有观念。这一章回顾了2 500年来人类所熟悉的明知
识和直至大约70年前才注意到的默知识。近几十年的脑神经科学
的研究成果让我们对知识的本质有了更清楚的认识,也回答了为
什么人类既无法感受,也无法理解机器发现的那些暗知识。这一章还分析了明知识、默知识和暗知识之间的区别,讨论了为什么
暗知识的总量将远远超过人类能掌握的所有知识。
第二章介绍了机器是怎样学习的,能学习哪些知识,同时介
绍了机器学习的五大流派以及各流派从数据中挖掘知识的方法。
第三章则重点介绍了目前机器学习中最火的神经网络,包括
神经网络的基本工作原理和目前在商业上应用最广的几种形态,以及各自适用的领域。有了这些基础就可以判断AI(人工智能)
在各个行业的商业机会和风险。也只有理解了这些原理,才能真
正理解暗知识的特点。为易于阅读和照顾不同读者的需求,在这
一章中我们尽量用通俗的语言解释这些工作原理,而把精确的技
术原理介绍放在附录里。
第二部分(第四、五章)讨论了AI对商业的影响。我们将看
到机器发掘出来的暗知识对我们生活的直接影响。对于想把握AI
商业趋势的读者来说,这部分的内容至关重要。其中,第四章描
述了当前的AI产业生态,第五章详尽探讨了哪些行业将面临AI的
颠覆,以及在不同行业的投资机会和陷阱。
第三部分(第六、七章)的内容是AI对未来和社会的影响。
第六章重点讨论目前还没有商业化的,但可能更深刻影响我们的
一些神奇的AI应用。第七章讨论了机器和人的关系:机器能在多
大程度上取代人的工作,会造成哪些社会问题(例如大面积失
业)。这两章的主要目的是开脑洞,探讨那些我们今天可能还看
不到的更深远的影响。本章也试图回答人类的终极恐惧:机器人
最终会控制人类吗?本书的各个章节前后连贯,但也可以跳着读,对于那些只对
商业感兴趣的读者,可以跳过第二、三章直接读第四、五章。
笔者在美国斯坦福大学读博士期间做过人工智能研究,后来
在硅谷和中国创办高科技公司,目前在硅谷专注于投资人工智
能。每年访问调研上千家硅谷和中国的科技公司,接触顶级大学
最前沿的研究,这些都有助于笔者从大量的实践中提炼出自己对
行业的原创的分析和洞见,而不是人云亦云。
笔者长期对人类如何获得知识感兴趣,在投资、研究和写作
AI的过程中,发现了暗知识这样一个人类以往未曾发现的领域。
这个概念的提出一定会引起争议,笔者欢迎读者的批评并期待在
批评和讨论中进一步深化在这方面的认识。
本书的目标读者是企业和政府工作人员及其他知识阶层,包
括学生。暗知识对人类的影响刚刚开始。从暗知识这个新视角出
发,可以更深刻地理解这次AI巨浪。这波巨浪可能超过互联网,许多行业都会深受影响。本书希望能回答“AI对我的行业和职业
会有什么影响”。只有把AI的技术、趋势和应用深入浅出地讲清
楚,读者才可能举一反三,理解AI对自己的影响。本书从笔者自
己的投资实践出发,希望能为在AI时代进行投资提供一些参考。
在AI飓风里泥沙俱下,鱼龙混杂,会有大量的炒作,读完本书可
以帮助读者辨别真伪,不会被轻易忽悠。在今后5~10年,不论是
风险投资私募股权投资还是在公开股票市场投资都需要有这样的
辨别能力。本书最后在讨论人工智能对整个社会的影响时也提出
了一些未经检验的建议。每当读到市面上科技类的书籍时,常被那些含混不清的描述
所困扰。当年在斯坦福大学上课时留下的最深印象就是那些学科
的开山鼻祖对自己学科理解之深入。他们能用最简单的方式把最
深奥的道理讲明白,让听课的学生一下子就能理解一门学科的核
心概念,而且一辈子不会忘记。从那以后,笔者就坚信,如果学
生没听懂,一定是老师没讲明白。这本书希望用最通俗易懂的语
言介绍暗知识和AI。任何具有高中以上学历的读者如果有没读懂
的地方,一定是因为笔者没有写明白。
今天每个人都要面对海量的信息和知识,如何让读者花最少
的时间获取最大量的信息和知识成为一个挑战。笔者最欣赏的文
章和书籍是那些没有一句多余的话的,这也是笔者写作本书的目
标之一。本书希望能够做到读者在机场书店买了这本书后能在下
飞机前读完,而且读完之后可以清晰地判断这场技术大浪对自己
的影响。
王维嘉
2019年1月13日于硅谷序言
“暗知识”和现代社会
自2017年AlphaGo大胜柯洁,人工智能即将碾轧人类的话题
便进入大众视野,迅即引起普遍的狂热和焦虑。我认为,王维嘉
这本《暗知识:机器认知如何颠覆商业和社会》的出版,是对这
种情绪的有效清醒剂和解毒药。
说这本书是清醒剂,是因为它极为简明清晰地叙述了人工智
能的科学原理及其技术实现,无论是神经网络结构,其自我学习
的过程,还是深度学习和卷积机制,《暗知识:机器认知如何颠
覆商业和社会》比现在出版的任何一本书都讲得更清楚、易读。
以人类认知为背景来解读人工智能,正好可以为当前人工智能领
域中泛起的非理性狂热降温。其实,早在20世纪60年代,控制论
创始人维纳(Norbert Wiener)的学生阿比布(Michael Arbib)在
《大脑、机器和数学》一书中,已经清晰地叙述了神经元网络数
学模型和学习机原理,并讲过这些原理有助于我们“从‘机
器’中‘赶走鬼魂’”。阿比布讲的“机器”是指大脑的记忆、计算和学
习等功能,它们自笛卡儿以来被视为机器的有机体(生
物),“鬼魂”则是指生物的本能和学习能力。而王维嘉的《暗知
识:机器认知如何颠覆商业和社会》一书,“赶走”的不是以往所
说的有机体的神秘性,而是对人工智能研究和可能性的想象中
的“鬼魂”,即误以为当神经元网络的连接数量接近于人脑时,它
们会涌现出如人类那样的自我意识和主体性等。
人工智能的神经元网络系统能做什么?如上所说,早在它被做出来以前,数学家已经证明,无论神经元网络多么复杂,它等
价于有限自动机;而一个能和环境确定性互动(自耦合、反馈和
自我学习)的有限自动机(神经元网络),只不过是某一种类型
的图灵机(通用计算机)。
也就是说,人工智能革命之基础——神经元网络的自我学习
及其与环境互动所能达到的极限,都超不过图灵机的行为组合。
从20世纪下半叶至今,伴随着人工智能的快速、高度发展,关于
它能否在未来某一天具有意识的讨论,一直是在电脑和人脑差别
的框架中展开的。我认为,只要发展出相应的数学理论,就能了
解神经元网络学习已做出的和可能做的一切。但有一点是毫无疑
问的,它不可能具有自我意识、主体性和自主性。
为什么说这本书是解毒药?因为维嘉在解释为什么人工智能
可以比人更多、更快地掌握知识(能力)时,把人工智能所掌握
的信息定义为“暗知识”,从而可以得出清晰的理论表述。我们首
先要弄明白什么是知识,知识就是人获得的信息。而人利用信息
(知识)离不开获得信息和表达信息两个基本环节,人获得信息
是用感官感知(即经验的),表达信息是通过符号(语言)和对
符号结构之研究(符号可以是非经验的)。这样,他根据“可否
感知”和“可否表达”,把人可利用的知识分为如下四种基本类型:
第一,可感知亦可表达的知识。它包括迄今为止所有的科学
和人文知识。
第二,不可感知但可表达的知识。任何经验的东西都是可感
知的,不可感知的就是非经验的。有这样的知识吗?当然有。以数学为例,抽象代数的定理是正确的知识,但可以和经验无关。
人之所以为人,就在于可以拥有纯符号的知织,它是理性的重要
基础。
第三,可感知但不可表达的知识。它包括人的非陈述性记忆
和“默会知识”。
第四,不可感知亦不可表达的知识。这就是当前神经元网络
通过学习掌握的知识。维嘉将这类大大超出了个别人所能记忆和
学习的知识称为“暗知识”。“暗知识”的提出,不仅是一项哲学贡
献,也为当前盛行的科学乌托邦提供了一剂解毒药。
20世纪社会人文研究最重要的成就,就是发现“默会知识”和
市场的关系。人类可共享的知识都是可以用符号表达的知识,但
它不可能包含每个人都具有的“默会知识”。经济学家利用“默会知
识”的存在,证明了基于理性和科学知识的计划经济不可能代替
市场机制。一个充分利用人类知识的社会,一定是立足于个人自
主、互相交换自己的能力和知识所形成的契约组织。忽视所有个
人具有的“默会知识”,把基于理性和可表达的知识设计出的社会
制度付诸实践,会出现与原来意图相反的后果。哈耶克称这种对
可表达知识的迷信为“理性的自负”。今天随着大数据的应用,这
种理性的自负再一次出现在人工智能领域。而“暗知识”的提出,扩大了不能用符号表达知识的范围,进一步证明了哈耶克的正确
性。所以,我说这本书是对当前理性自负的有效解毒药。
维嘉在书中提出的另一个有意义的问题是“暗知识”会在何种
程度上改变现代社会。正如该书副标题所说,这种新型知识大规模的运用,将会导致大量拥有专门知识和技能的人失业、一批又
一批的行业消失,甚至连医生专家都可能被取代。姑且不论这种
预测是否准确,有一点是肯定的,即人工智能必定会极大地改变
我们赖以生存的社会。那么,它会把人类社会带到哪里去?这正
是人工智能革命带来的普遍焦虑之一。人工智能对城市管理和对
每个人私隐的掌握,是否会导致个人自由和隐私的丧失?由大数
据和人工智能高科技管理的社会,还是契约社会吗?
现代社会和传统社会的本质不同就在于其高度强调个人的主
体性和创造性,任何信息的获得、表达和应用都离不开个人的主
体性和创造性。我认为,人工智能可以具有掌握“暗知识”的能
力,但它不可能具有自我意识,当然亦无所谓主体性,它只能被
人所拥有。因此,一个能允许知识和技术无限制进步的社会,仍
然是建立在个人契约之上的。也就是说,无论科学技术发展到什
么程度,现代社会的性质不会因之而改变。
然而,我认为,人工智能或许会使现代社会的科层组织的形
式发生改变。为什么现代社会需要科层组织?众所周知,现代社
会除了由法律和契约提供组织框架以外,还必须向所有人提供不
同类型的公共事务服务,如治安、交通设施、教育、医疗等。为
此就要设立处理不同类型事务的专门机构来管理社会,如军队和
政府科层组织。科层组织之间功能的实现和协调,要利用符号表
达的共享知识,因此,随着现代社会的复杂化,必定出现技术官
僚的膨胀。而人工智能革命和“暗知识”的运用,必定会向社会管
理层面深入。如果它运用得不好,会使现代社会生长出超级而无
能的官僚机构的毒瘤;如果它运用得好,可以促使人更好地发挥自主性和创造性,甚至可以取代科层管理中不必要的机构。因
此,我认为人工智能将会在这一层面给现代社会带来巨大影响。
科层组织的形成和理性化的关系,是韦伯分析现代社会的最
重要贡献。在未来,随着人工智能对“暗知识”的掌握和运用向社
会管理渗透,甚而替代,将会证明韦伯这一重要论断不再成立。
可惜的是,维嘉的《暗知识:机器认知如何颠覆商业和社会》一
书忽略了人工智能革命和现代社会官僚化关系的讨论。科层组织
的设立是基于理性(共享知识),人工智能擅长的是掌握“暗知
识”,如果从事社会公共事务管理的人员可以被掌握“暗知识”的人
工智能取代,科层组织还有存在的必要吗?或者,它将以什么样
的新形式存在?如果不再需要科层组织,未来无政府的现代社会
将如何运行?这正是我们应该关注的,它需要人文和科学两个领
域的对话。
金观涛
2019年2月寄语译:我非常高兴推荐这本书。这本书对机器学习的发明带来
的下一场工业革命进行了详尽的分析。我希望这个技术将被
用来使人类的生活更美好、更和平,并不再有战争。——伯
纳德·威德罗,2019年2月26日于斯坦福第一章
横空出世——暗知识的发现
导读
正当人类自以为掌握了关于这个世界的海量知识时,一
种能够自我学习的机器给了我们当头一棒:机器发现了一类
人类既无法感受,也不能理解的知识。这类知识的发现,逼
迫我们重新审视过去所有关于知识的观念。我们回顾了2 500
年来在这个问题上的争论:知识是通过经验得到的还是通过
推理得到的?直到大约70年前人们才注意到那些“只可意
会,不可言传”的默知识的重要性。但这些争论在最新的脑
科学研究结果面前都显得肤浅和苍白。最近几十年的科学研
究确认了认知的基础是大脑神经元之间的连接。有了这个基
础,我们就很容易理解为什么有些知识无法表达,也才能明
白为什么人类无法理解机器刚刚发现的这些暗知识。在此基
础上,我们终于可以清晰地区分这样三类知识:人类能掌握
的明知识和默知识以及只有机器才能掌握的暗知识。骄傲的人类
也许是由于几十万年前人类远古祖先某个基因的突变,人们
开始可以把一些有固定意思的发音片段组装成一个能表达更复杂
意思的发音序列。这些发音片段今天我们叫作“单词”,这个表达
特定内容的发音序列今天我们叫作“句子”。这种“组装”能力使人
类用有限的单词可以表达几乎无穷多种意思,语言诞生了。有了
语言的复杂表达能力,人类的协作能力开始迅速提高,可以几十
人一起围猎大型动物,很快人类就上升到地球生物链的顶端。作
为记录语言的符号——文字的发明可以让人类更方便地传播、记
录和积累经验。任何一个地方的人类偶然发现的关于生存的知识
都会慢慢传播开来。一万年前,农业起源于今天的埃及、叙利亚
和伊拉克的肥沃新月带,这些种植经验在几千年中传遍全世界,随之而来的是人类迅速在地球所有适宜农耕的角落定居繁衍。
随着定居的人类数量的增加,人类的组织开始变得更大更复
杂,从亲缘家族到部落,到城邦,再到国家。大规模的复杂组织
可以开展大规模的复杂工程,如建设城市、庙宇和大规模灌溉系
统。这些大规模工程需要更多的天文和数学知识。世界上几乎所
有的古老文明都积累了许多天文知识,但只在希腊半岛诞生了现
代科学的奠基石——数学。欧几里得(Euclid,公元前330—前
275)在公元前300年总结了他前面100年中希腊先哲的数学成
果,写出了人类历史上最伟大的书之一《几何原本》
(Elements)。这本书在中世纪由波斯裔的伊斯兰学者翻译成阿
拉伯文,又从阿拉伯传回文艺复兴前的欧洲,直接影响了从哥白
尼(Nicolaus Copernicus,1473—1543)到牛顿(Issac Newton,1643—1727)的科学革命。
发轫于16世纪的科学革命的本质是什么?是发现更多的知识
吗?是创造出更多的工具吗?都不是。科学革命的本质是找到了
一个可靠的验证知识的方法。
最能体现科学革命本质的就是天文学家开普勒(Johannes
Kepler,1571—1630)发现三定律的过程。最初,在作为主流的
托勒密(Ptolemy,90—168)地心说越来越无法解释天体观测数
据时,哥白尼提出了日心说,用新的模型解释了大部分过去无法
解释的数据。与伽利略(Galileo Galilei,1564—1642)同时代的
天文学家第谷·布拉赫(Tycho Brahe,1546—1601)没有接受哥
白尼的日心说,他提出了“月亮和行星绕着太阳转,太阳带着它
们绕地球转”的“日心—地不动”说。遗憾的是,他倾尽毕生心血观
察了20年的天文数据,直到去世都始终无法让观测到的数据与自
己的模型相吻合。
在第谷去世后,第谷的助手开普勒拿到了他的全部数据,开
普勒完全接受了哥白尼的日心说。他为了让数据与日心说完全吻
合,把哥白尼的地球公转的圆形轨道修正为椭圆轨道,太阳在椭
圆的一个焦点上。这就是开普勒第一定律。他用相同的方法发现
了其他两个定律。开普勒三定律不仅完满解释了第谷的所有观测
数据,并且能够解释任何新观测到的数据。
这个发现过程有三个步骤:第一,积累足够的观测数据(第
谷20年的观测数据);第二,提出一个先验的世界模型(哥白尼
的“日心说”);第三,调整模型的参数直至能够完美拟合已有的数据及新增数据(把圆周轨道调整为椭圆轨道,再调整椭圆轴距
以拟合数据)。验证了这个模型有什么用?最大的用处就是可以
解释新的数据或做出预测。在这里开普勒三定律就是新发现的知
识。发现知识的可靠方法就是不断修改模型使模型与观测数据完
全吻合。
上面这三个步骤奠定了现代科学的基本原则,正式吹响了科
学革命的号角,直接导致了后来的牛顿万有引力的发现,一直影
响到今天。
过去500年中人类对世界的认识突飞猛进,今天大到宇宙,小到夸克都似乎尽在人类的掌握之中。人类可以上天、入地、下
海,似乎无所不能。人类有了“千里眼”“顺风耳”,甚至开始像“上
帝”一样设计新的物种,并企图改变人类进化的进程。人类有理
由相信没有什么知识是不能理解的,也没有什么知识是不能被发
现的……直到2016年3月15日。
天才的哽咽
2016年3月15日,美国谷歌公司的围棋对弈程序AlphaGo以五
局四胜的成绩战胜世界围棋冠军韩国选手李世石。一时间这个消
息轰动世界,全世界有28亿人在关注这场比赛,在中国更是引起
极大的轰动。人们感觉AlphaGo就像从石头缝里蹦出来的孙悟空
一样,完全无法理解一台机器如何能够打败世界围棋冠军。围棋
历来被认为是人类最复杂的游戏之一。围棋每一步的可能的走法
大约有250种,下完一盘棋平均要走150步,这样可能的走法有
250150=10360种,而宇宙从诞生到现在才1017秒,即使是现在世界上最快的超级计算机,要想把所有走法走一遍,计算时间也要
比宇宙年龄都长。即使排除了大部分不可能的走法也是大到无法
计算。机器是怎样学会这么复杂的棋艺的?
这场比赛后,世界排名第一的棋手柯洁在网上说:“AlphaGo
胜得了李世石,胜不了我。”而2017年5月28日,棋手柯洁以0:3
完败AlphaGo,彻底击碎了人类在这种复杂游戏中的尊严。赛
后,这位天才少年一度哽咽,在接受采访时柯洁感叹,AlphaGo
太完美,看不到任何胜利的希望。他流着眼泪说:“我们人类下
了2 000年围棋,连门都没入。”中国棋圣聂卫平更是把AlphaGo尊
称为“阿老师”,他说:“AlphaGo的着数让我看得如醉如痴,围棋
是何等的深奥和神秘。AlphaGo走的顺序、时机掌握得非常好。
它这个水平完全超越了人类,跟它挑战下棋,只能是找死。我们
应该让阿老师来教我们下棋。”他还说:“阿老师至少是20段,简
直是围棋上帝。”
当人们以为这是对弈类程序的高峰时,AlphaGo的研发团队
DeepMind(谷歌收购的人工智能企业,位于伦敦)团队再度碾轧
了人类的认知。2017年12月,DeepMind团队发布了AlphaGo
Zero(阿尔法围棋零)。AlphaGo Zero使用了一种叫作“强化学
习”的机器学习技术,它只使用了围棋的基本规则,没有使用人
类的任何棋谱经验,从零开始通过自我对弈,不断地迭代升级,仅仅自我对弈3天后,AlphaGo Zero就以100:0完胜了此前击败世
界冠军李世石的AlphaGo Lee版本。自我对弈40天后,AlphaGo
Zero变得更为强大,超过了此前击败当今围棋第一人柯洁的
AlphaGo Master(大师版),这台机器和训练程序可以横扫其他棋类。经过4个小时的训练,打败了最强国际象棋AIStockfish,2
个小时打败了最强将棋(又称为日本象棋)AIElmo。
AlphaGo Zero证明了即使在最具有挑战性的某些领域,没有
人类以往的经验或指导,不提供基本规则以外的任何领域的知
识,仅使用强化学习,仅花费很少的训练时间机器就能够远远超
越人类的水平。
机器发现了人类无法理解的知识
AlphaGo Zero给我们的震撼在于人类2 000多年来一代代人积
累的一项技艺在机器眼里瞬间变得一文不值!为什么会这样?围
棋中的可能走法比宇宙中的原子数都多,而人类2 000多年中高水
平对弈非常有限,留下记录的只有几万盘。这个数字和所有可能
走法比,就像太平洋里的一个水分子。而AlphaGo Zero以强大的
计算能力,在很短的时间里探索了大量的人类未曾探索过的走
法。人类下棋的路径依赖性很强,人生有限,想成为高手最稳妥
的办法是研究前人的残局,而不是自己瞎摸索。但AlphaGoZero
在下棋时,不仅一开始的决策是随机的,即使到了大师级后,也
故意随机挑选一些决策,跳出当前思路去探索更好的走法,新发
现的许多制胜走法都是人类从未探索过的,这就是很多走法让聂
卫平大呼“看不懂”的原因。
AlphaGo Zero给我们的震撼在于三个方面:首先,人类能发
现的知识和机器能发现的知识相比,就像几个小脚老太太走过的
山路和几百万辆越野车开过的山路。越野车的速度就是计算机和
AI芯片处理速度,目前继续以指数速度在提高。其次,和机器可能发现的知识相比,人类知识太简单、太幼稚,机器谈笑风生,比人不知道高到哪里去了。最后,机器发现的知识不仅完全超出
了人类的经验,也超出了人类的理性,成为人类完全无法理解的
知识。
2 500年前最有智慧的希腊哲人苏格拉底(Socrates,公元前
469—前399)终其一生得出一个结论:“我唯一知道的是我什么
都不知道。”他的学生柏拉图(Plato,公元前427—前347)认为
我们感官观察到的世界只是真正世界的影子而已。18世纪伟大的
哲学家康德也仰望星空,发出了“我们到底能知道什么”的千古之
问。但古代哲人只能模糊地感觉到人类认识的局限。今天,AlphaGo Zero不仅清晰、具体地把他们的疑虑变成了铁的事实,而且先哲怎么也想不到人类的认识能力是如此有限!
你会质疑说:这不算什么震撼吧,人类早就知道我们已知的
很少,未知的很多。但这个下围棋的例子告诉你:已知的是几万
盘残局,未知的是10360种可能走法,两者相差几百个数量级!
(不是几百倍,是几百个数量级,一个数量级是10倍。)
你学过概率和统计,继续不服:我们早就知道组合爆炸。没
错,但我们知道未知的组合爆炸里有比人类已经获得的知识高深
得多的知识吗?AlphaGo Zero是第一次活生生地证明了这点。听
说过火山爆发和在现场看到的感觉能一样吗?
当然最震撼的就是第三个方面。我们也许知道我们不知道很
多,甚至能用逻辑推断出未知知识里有比已知知识更高深的知
识,但我们怎么也想不到这些知识是人类根本无法理解的。这是人类历史上第一次遇到这样的问题,我们给自己造了个“上帝”!
这件事对哲学和认识论的冲击空前,人类突然不知所措,影响还
在发酵,后果不可估量。
“理解”的意思是要么能用感觉把握事物间的关系,要么能用
概念把经验表达出来,或者用逻辑把事物间的关系表达出来。无
法理解就等于既无法感受又无法表达。
也就是说,机器发现了人类既无法感受也无法表达的知识。
用更通俗的话说就是,机器发现了那些既无法“意会”又无法“言
传”的知识。
一个无法理解的知识的表现形式是什么样的?如果无法理解
又怎么判断它就是知识?当我们想回答上面的问题时,我们发现
必须重新审视什么是“知识”。人类过去几千年是怎样获得知识
的,获得了什么样的知识?就像每次科学上的重大发现都要迫使
我们重新审视过去习以为常的观念一样,今天机器的震撼让我们
必须重新审视过去所有关于“知识”的基本理念。
人类获得知识的行为就是认知。过去我们对世界的认识局限
主要来自观察能力。在望远镜发现之前,第谷根本无法观测行星
运动,当然更谈不上记录数据,也不会有后来的开普勒定律和牛
顿万有引力定律。在显微镜发明之前,我们不可能发现微生物,一切关于细胞和基因的发现都无从谈起。今天谁能花1 000万美元
买一台冷冻电镜,谁就可以看到别人看不到的分子晶体结构,就
可以经常在《自然》(Nature)杂志上发表文章。随着新的观察
仪器的出现和已有观察仪器的改进,我们对世界的认识还会不断深入。
我们对世界认识的第二个局限来自解释能力。所谓解释能力
就是发现事物间的因果关系或者相关性并能够表达出来。即使我
们能观察到许多现象,如果我们无法解释这些现象则还是无法从
这些观察中获得知识。例如第谷虽然有大量观测数据,但终其一
生没有找到一个能解释数据的正确模型。又如我们观察到人有语
言能力而黑猩猩没有,但不知道为什么,仅仅是知道这个现象而
已。
人类几千年来关于知识的争论正是围绕着“观察”还是“解
释”展开的。
理性主义和经验主义之争
自从5 000年前两河流域的苏美尔人发明了人类最早的文字
——楔形文字以来,人类一直在记录和积累知识。但直到2 500年
前希腊人才开始系统地研究关于知识的学问。在这个问题上,一
直有两大流派:理性主义和经验主义。
第一个开启了理性主义的人是苏格拉底。人类此前的大部
分“知识”要么从宗教教义中来,要么从传统习俗中来。人们从生
下来就不加怀疑地接受了这些东西。而苏格拉底则要一一审视这
些东西。苏格拉底说我们都希望有一个“好”的人生,但到底什么
是“好”什么是“坏”呢?不去质疑,不去深究你怎么知道呢?所以
深究和道德是不可分割的,不去深究我们身边的世界不仅是无知
而且是不道德的,所以他的结论是:一个未经深究的人生根本就不值得过。他平时没事就跑到大街上拉住人诘问:“什么是正
义?”“什么是善?”“什么是美?”每当人们给他个定义时,他都能
举出一个反例。他这种深究思辨影响了无数代人。后来当他的学
生柏拉图把“人”定义为“没有毛的双足动物”时,当时的另一位哲
学家提奥奇尼斯马上拿来一只拔光了毛的鸡说:“大家请看柏拉
图的‘人’!”经过一生的深究,苏格拉底得出结论“我唯一知道的
是我什么也不知道”。苏格拉底式思辨震撼了当时的社会,传统
势力认为这样会搞乱人心,当政者用“腐蚀青年思想罪”判处他死
刑,他最终饮毒酒身亡。他一生全部用来和人辩论,没有留下任
何著作。幸亏他的学生柏拉图把老师的辩论编辑成了传世之作
《对话录》。正是苏格拉底开启了通过逻辑思辨来验证知识的希
腊传统。
如果说是苏格拉底开了理性主义的先河,他的弟子柏拉图就
是理性主义集大成的鼻祖。苏格拉底的思辨主要集中在道德哲学
领域,探究什么是“公平”和“善”。而柏拉图则对他的先辈毕达哥
拉斯(Pythagoras,约公元前570—前495)开创的数学传统深为
折服。柏拉图的学说深受数学严格推理的影响。他甚至在他创办
的学宫门口挂了个牌子:“不懂几何者不得入内。”柏拉图学说的
核心是“理想原型”。他说,世界上每一条狗都不一样,我们为什
么认为它们都是狗?人类心中一定早有一个关于狗的理想原型。
我们知道三角形的内角之和等于180度,但我们从未见过一个完
美的三角形。他认为人类的感官无法触及这些理想原型,我们能
感受到的只是这些理想原型的失真拷贝。真实世界就像洞穴外的
一匹马,人类就像一群背对着洞口的洞穴人,只能看到这匹马在
洞穴壁上的投影。柏拉图奠定了理性主义的两大基础——知识(理想原型)是天生的;感官是不可靠的,并由此推出理性主义
的结论:推理而不是观察,才是获取知识的正确方法。
亚里士多德(Aristotle,公元前384—前322)17岁进入柏拉
图的学宫当学生,当时柏拉图已经60岁了。亚里士多德在学宫里
待了20年,直到他的老师柏拉图去世。亚里士多德对老师非常尊
敬,但他完全不同意老师的“理想原型”是先天的。他认为每一条
狗都带有狗的属性,观察了许多狗之后就会归纳出狗的所有属
性。这个“理想原型”完全可以通过后天观察获得,而不需要什么
先天的假设。柏拉图酷爱数学,而亚里士多德喜欢到自然中去观
察植物和动物。两人的喜好和经历是他们产生分歧的重要原因之
一。亚里士多德认为:知识是后天获得的,只有通过感官才能获
得知识。正是亚里士多德开了经验主义的先河。
经验主义这一派后世的著名代表人物有英国的洛克(John
Locke,1632—1704),贝克莱(George Berkeley,1685—1753)
和休谟(David Hume,1711—1776),贝克莱认为人生下来是一
张白纸,所有的知识都是通过感官从经验中学来的。但理性主义
则认为,经验根本不可靠。英国哲学家罗素(Bertrand Russell,1872—1970)有个著名的“火鸡经验论”。火鸡从生下来每天都看
到主人哼着小曲来喂食,于是就根据经验归纳出一个结论:以后
每天主人都会这样。这个结论每天都被验证,火鸡对自己的归纳
总结越来越自信,直到感恩节的前一天晚上被主人宰杀。理性主
义者还问:眼见为实吗?你看看图1.1中的横线是水平的还是倾斜
的?图1.1视错觉图(图中所有横线都是水平的)
理性主义的后世代表人物则有法国的笛卡儿(Rene
Descartes,1596—1650)和德国的莱布尼茨(Gottfried Leibniz,1646—1716)。笛卡儿有句名言“我思,故我在”,我的存在这件
事不需要经验,不需要别人教我,我天生知道。莱布尼茨是和牛
顿一样的天才,他和牛顿同时发明了微积分,也是二进制的发明
人,还发明了世界上第一台手摇计算器。他认为世界上每个事物
都包含了定义这个事物的所有特性,其中也包含了和其他事物的
关系。从理论上我们可以用推理的方法预测全宇宙任何一点,过
去和未来任何时间的状态。
理性主义认为,感官根本不靠谱,最可靠的是理性,基于公
理严格推导出来的几何定理永远都不会错。理性主义找出更多的
例子来说明人类的最基本的概念是天生的。例如自然数,我们怎么学会“1”这个概念的?拿了一个苹果告诉你“这是一个苹果”;又
给你拿了个橘子告诉你“这是一个橘子”。但苹果是苹果,橘子是
橘子,两者没关系,你怎么就能抽象出“1”这个概念来呢?又比
如我们可以根据直角三角形的特点推导出勾股定理,又进一步发
现世界上居然有无法用分数表达的无理数。这种革命性的发现完
全不依赖感觉和经验。小孩一出生就知道这个球不是那个球,这
条狗不是那条狗,这个“同一性”是理解世界最基本的概念,没人
教他。
我们注意到理性主义有一个隐含的假设,就是因果关系。在
莱布尼茨的世界里,一件事会导致另外一件事,所以才有可能推
导。经验主义当然不服,休谟就问,一件事发生在另外一件事之
后,两者未必有因果关系。譬如我把两个闹钟一个设在6:00,一
个设在6:01,能说后面的铃声响了是前一个造成的吗?理性主义
不仅认为事物间有因果关系,而且认为通过逻辑推理可以得到很
多知识。譬如归纳推理:太阳每天早上都会升起。但休谟就质
问:你能像证明数学定理一样证明太阳明天会升起吗?不能吧。
那能观察吗?明天还没到来显然不能观察,那你凭什么说明天太
阳一定升起,我要说明天不一定升起错在哪里了?我们看到休谟
挑战的是归纳背后的假设:事物运动规律不变,在这里就是说地
球和太阳系的运动不会改变。休谟最后说,物理世界没什么因
果,没什么必然,你最多能根据以往的经验告诉我:明天早上太
阳还可能升起。
这两派从17世纪吵到18世纪,这时候在德国偏僻的海德堡出
现了一个小个子乡村秀才。他说,你们双方似乎都有道理,我来整合一下看看。他就是哲学史上最有影响力的康德(Immanuel
Kant,1724—1804)。康德说,没错,我们当然要通过感官去理
解世界。但我们对事物的理解包括这个事物的具体形态和它的抽
象概念。譬如眼前这本书,一本书的具体形态千变万化,但“书”这个概念就是指很多页有字的纸装订在一起的一个东西。
我们说“面前有这本书”的意思到底是什么?那至少要说现在几月
几日几点几分,在某市某区某小区几号楼几号房间的哪个桌子上
有这本书,也就是理解一个具体的东西离不开时间和空间的概
念。但谁教给你时间和空间了?你妈从小教过你吗?你教过你孩
子吗?好像都没有,我们好像天生就懂。所以康德说,你看,必
须有这些先天就有的概念你才能理解世界。我们好像天然知
道“书”是个“东西”,“东西”是一种不依赖我们的独立存在。谁教
给我们“东西”这个概念的?没人,好像又是天生就懂吗?康德整
合了经验主义和理性主义,他的一句名言是“没有内容的思维是
空洞的,没有概念的感知是盲目的。只有把两者结合我们才能认
识世界”。
在2 500年的辩论中,经验主义当然不会否认数学中通过严格
推理得出来的结论的可靠性,理性主义也不得不承认认知物理世
界离不开感官。那么这场打了2 500年的嘴仗到底在争什么呢?问
题出在理性主义者企图把数学世界里证明定理这样的绝对可靠性
推广到物理世界,也即他们企图找到一个检验知识的普遍的标
准,能够适用于所有领域。数学(例如几何学)是建构在公理之
上的一个自洽而完备的系统(至少对自然数和几何是如此)。所
谓自洽就是说,在这个系统里只要从公理出发就不会推导出互相
矛盾的结论;所谓完备就是说,在这个系统里任何一个命题都是可以证实或证伪的。而亚里士多德时代的自然科学的可靠性判断
标准是“观察与模型符合”,即观察到的自然现象和事先假设的模
型的预测结果相符合。这种物理真实性的判断标准和数学中的判
断标准完全不同。所以经验主义觉得硬要把数学中的可靠性标准
搬到自然科学中来不适用,或者说经验主义认为在自然科学领域
只能依赖感官。因此这场争论是不对称的:理性主义要从数学攻
入自然科学,而经验主义死守自然科学的阵地。两方掰扯不清的
另一个原因是谁都不知道感官和认知的本质是什么,或者说知识
的本质是什么。双方根据自己的猜测和假设激烈辩论,一直到20
世纪50年代人们对大脑的研究才取得突破。
知识的生物学基础——神经元连接
你会发现,所有认知的基础都是记忆,如果没有记忆的能
力,观察、理解、推理、想象等其他所有认知行为都不会存在,甚至不会有情绪。一个患阿尔茨海默病的人,面部甚至逐渐失去
表情。人类胎儿在30周后就开始了最初的记忆,婴儿从刚生下就
能分辨出母亲的声音了。
如果认知的基础是记忆,那么记忆的基础又是什么呢?你仔
细想想,记忆其实就是一种关联。你在学“o”这个字母时,是把
一个圆圈的图像和一个“欧”的发音关联起来。那这种关联在大脑
中是如何形成的呢?
这种关联是通过我们大脑中神经元之间的连接形成的。大脑
有大约1 000亿个神经元,一个神经元可以从许多其他神经元接收
电脉冲信号,同时也向其他神经元输出电信号。如图1.2所示,每个神经元都能输出和接收信号。负责输出的
一端叫“轴突”,负责接收的一端叫“树突”。每个神经元都有几千
个树突,负责从不同的神经元接收信号。同样,每个神经元的输
出信号可以传给和它相连的几千个神经元。那么这个最初的信号
是从哪里来的呢?通常都来自感觉细胞,如视觉细胞、听觉细胞
等。
图1.2大脑神经元和突触的结构
图片来源:https:www.researchgate.netfigureGeneric-
neurotransmitter-system_fig1_318305870。那神经元之间是怎么连接的呢?一个神经元的轴突和另外一
个神经元的树突之间有20纳米(一根头发丝的12 000)的小缝
隙,这个缝隙叫“突触”。图1.2的右半部分就是放大了的突触。它
保证了两个神经元各自独立,不会粘在一起。记忆的主要奥秘就
藏在这里。在这个连接的地方前一个神经元的电信号会转化成化
学物质传递到下个神经元,下个神经元接收到化学物质后又会再
转成电信号。不同的突触面积大小不同,化学物质的传递速度和
量不同,因而造成有些突触是“貌合神离”,相互之间并没有电信
号通过;有些则是“常来常往”,经常有信号通过。
你一定听说过俄国生理学家巴甫洛夫(Ivan Pavlov,1849—
1936)的条件反射实验。受到条件反射的启发,加拿大心理学家
赫布(Donald Hebb,1904—1985)在1949年提出了一个大胆的猜
想。他认为当大脑中两个神经元同时受到刺激时,它们之间就会
建立起连接,以后其中一个神经元被激发时会通过连接让另一个
神经元也被激发。譬如在巴甫洛夫对狗的实验中,送食物的时候
同时摇铃,摇铃刺激了听觉神经元,食物味道刺激了嗅觉神经元
并且导致分泌唾液,听觉和视觉神经元同时受到刺激,它们之间
就建立了连接,一个神经元的激发会导致另一个神经元的激发。
经过多次反复,它们的连接会越来越稳定。以后即使没有送食
物,狗只要听到摇铃就像闻到食物一样会分泌唾液。人也是一
样,比如说一个小孩被火烫过一次就能把“火”和“疼”联系起来。
当小孩看见火时,他大脑中负责接收视觉信号的神经元被激发
了,与此同时他的手感觉到烫,于是他大脑中负责接收皮肤感觉
细胞的神经元也被激发了。如果看到火和感觉到疼这两件事同时
发生,那么这两个神经元细胞就连通了,也就是有信号通过了。下次这个孩子见到火,马上会想到疼,因为当负责看到火的神经
元被激发后,马上会把信号传给负责“疼”这种感觉的神经元,就
能让小孩想到疼。刺激越强,神经元的连接就越稳固。孩子被火
烫过一次手就永远记住了,再也不会去摸火;有些刺激很弱,连
接就不稳固,长时间不重复就会断开。例如背英文单词,重复的
刺激越多,信号的传递速度就越快。比如一个篮球运动员对飞过
来的篮球的反应比普通人快很多,一个空军飞行员对飞机姿势和
敌人导弹的反应都比普通人快,这些都是反复训练出来的。所谓
赫布猜想,本质上是通过建立神经元之间的连接从而建立起不同
事物之间的联系。后来这个猜想被科学家反复证实,就成了现在
我们常说的赫布学习定律。
赫布定律揭示了记忆或者说关联的微观机制,启发了好几代
计算机科学家,他们开始用电子线路模仿神经元,然后用许多电
子神经元搭建越来越大的神经元网络,今天这些神经网络的记忆
和关联能力已经远远超过了人类,许多机器的“神迹”大都源于这
种超强的记忆和关联能力。在第三章,我们会介绍为什么神经网
络的超强记忆和关联能力会转化为不可思议的“超人”能力。
这些在大脑中由神经元的连接形成的关联记忆又可以分为两
类:可表达的和不可表达的。
可表达的“明知识”
目前,脑神经科学的最新研究发现,可表达的记忆并不是对
应着一组固定神经元的连接,而是大致地对应于散布在大脑皮层
各处的一些连接。原因是用来表达的语言和文字只能是体验的概括和近似。这类可以用语言表达或数学公式描述的知识就是人类
积累的大量“正式知识”,也可以称为“明知识”。它们记载在书
籍、杂志、文章、音频等各种媒体上。
要想把某种关联表达出来,人类唯一的方法是通过语言和符
号。语言和符号表达的第一个前提是要有概念。所谓概念就是某
个特定的发音或符号稳定地对应于一个事物或行为。大部分的名
词和动词都是这样的概念。第二个前提是每个概念都不同于其他
概念,猫就是猫,狗就是狗,不能把猫叫成狗,或者把狗叫成
猫,两者要能区分开。这叫“同一律”。第三个前提是猫不能同时
也不是猫,黑不能同时也是白。这叫“不矛盾律”。有了这些基本
前提,根据已知的事物间的关系我们就可以推导出新的知识或者
论证一个决定的合理性。推理、假设、联想,这些本质上都是建
立在语言之上的思维活动,没有语言就完全无法思维。所有的正
常思维都要借助概念,要遵循“同一律”和“不矛盾律”。语言是人
类和所有动物的最大区别。黑猩猩可以学会很多概念,譬
如“我”“吃”和“香蕉”等,但无论实验人员如何训练黑猩猩,它们
都无法组合出“我要吃香蕉”这样的句子。人的语言能力的本质是
什么?它的生物学基础是什么?语言和自我意识是什么关系?目
前这些都还不清楚。但我们知道,人类语言是不精确的,越基本
的概念越不容易定义清楚,像“公平”“理性”等。人类语言中有大
量含混和歧义的表述,像“今天骑车子差点滑倒,幸亏我一把把
把把住了”。
英国哲学家罗素企图把语言建立在精确的逻辑基础之上,他
用了几百页纸的篇幅来证明1+1=2。德国哲学家维特根斯坦(Ludwig Wittgenstein,1889—1951)认为人类有史以来几乎所
有的哲学辩论都源于语言的模糊不清,因而没有任何意义。他认
为在世界中只有事实有意义,在语言中只有那些能够判断真伪的
论断才能反映事实。他的结论是:我们的语言受限,因而我们的
世界受限。
为什么语言的表达能力受限?用信息论的方法可以看得很清
楚。我们大脑接收的环境信息量有多大?一棵树、一块石头、一
条狗都包含几十MB(兆字节)甚至几十GB(千兆字节)的数
据,我们的感觉接收神经元虽然大大简化了这些信息,但它们向
大脑传导的信息量仍然非常大,表1.1是各个感觉器官每秒钟能向
大脑传递的信息量。
表1.1人体各个感官向大脑传送信息的速率资料来源:https:www.britannica.comscienceinformation-
theoryPhysiology。
大脑存储这些信息的方式是神经元之间的连接,大脑在存储
时可能进一步简化了这些信息,但它们的信息量仍然远远大于我
们语言所能表达的信息量。人类语言的最大限制是我们的舌头每
秒钟只能嘟噜那么几下,最多表达几十个比特的意思。(比如读
书,我们平均每分钟能读300字,每秒读5个字=40比特。)这样
大脑接收和存储的信息与能用语言表达出来的信息量就有6个数
量级的差别。也就是说极为丰富的世界只能用极为贫乏的语言表
达。许多复杂事物和行为只能用简化了的概念和逻辑表达。这就是人类语言的基本困境。
只可意会的“默知识”
由于舌头翻卷速度严重受限,以神经元连接形式存在大脑中
的人类知识只有极少一部分可以被表达出来。而绝大部分知识无
法用语言表达,如骑马、打铁、骑自行车、琴棋书画,察言观
色、待人接物、判断机会和危险等。这些知识由于无法记录,所
以无法传播和积累,更无法被集中。英籍犹太裔科学家、哲学家
波兰尼(Michael Polyani,1891—1976)称这些知识为“默会知
识”或者“默知识”。波兰尼举了骑自行车的例子。如果你问每个骑
自行车的人是怎么保持不倒的,回答会是“车往哪边倒,就往哪
边打车把”。从物理学上可以知道,当朝一个方向打把时会产生
一个相反方向的离心力让车子平衡。甚至可以精确计算出车把的
转弯半径应该和速度的平方成反比。但哪个骑自行车的人能够知
道骑车的速度呢?即使知道谁又能精确地把转弯半径控制在速度
平方的反比呢?所有骑自行车的人都是凭身体的平衡感觉左一把
右一把地曲折前进。世界上大概没有一个人学骑自行车是看手册
学会的,事实上也没有这样的学习手册。大部分技能类的知识都
类似。
默知识和明知识主要有以下四点区别:
(1)默知识无法用语言和文字描述,因此不容易传播,无
法记录和积累,只能靠师傅带徒弟。像大量的传统工艺和技能,如果在一代人的时间里没人学习就会从历史上彻底消失。(2)获取默知识只能靠亲身体验,传播只能靠人与人之间
紧密的互动(你第一次骑自行车时你爸在后面扶着)。而这种互
动的前提是相互信任(你不敢让陌生人教你骑自行车)。获得默
知识必须有反馈回路(骑自行车摔了跤就是姿势错了,不摔跤就
是姿势对了)。
(3)默知识散布在许多不同人的身上,无法集中,很难整
合,要想使用整合的默知识需要一群人紧密协调互动。由于无法
言传,所以协调极为困难(比如杂技叠罗汉)。
(4)默知识非常个人化。每个人对每件事的感觉都是不同
的,由于无法表达,因而无法判断每个人感觉的东西是否相同。
基于对默知识的理解,奥地利经济学家哈耶克(Friedrich
Hayek,1899—1992)论证了市场是最有效的资源配置形式。因
为市场上的每个人都有自己不可表达的、精微的偏好和细腻的需
求,而且没人能够精确完整地知道其他人的偏好和需求,也就是
说供需双方实际上无法直接沟通。供需双方最简洁有效的沟通方
式就是通过商品的价格。在自由买卖的前提下,市场中每个人只
要根据价格信号就可以做出决定。价格可以自动达到一个能够反
映供需双方偏好和需求的均衡点。一个价格数字,就把供需双方
的无数不可表达的信息囊括其中。这种“沟通”何其简洁,这种“协
调”何其有效,这种自发形成的秩序何其自洽。哈耶克根据同样
的道理论证了国家或政府永远都无法集中这些不可表达的分散信
息。
在机器学习大规模使用之前,人类对于默知识没有系统研究。但现在我们发现机器非常擅长学习默知识。这就给我们提出
了三个严肃的问题。
(1)默知识在所有知识中占比有多大?
(2)默知识在人类社会和生活中有多大用处?
(3)如何使用默知识?
第一个问题的简单粗暴的回答是默知识的量远远大于可陈述
的明知识。原因是事物的状态很多是难以观察的,更多是不可描
述的。人类的描述能力非常有限,只限于表达能力极为有限的一
维的语言文字。在所有已经产生的信息中,文字只占极少的比
例,大量的信息以图片和视频方式呈现。人类现代每年产生的各
种文字大约是160TB。世界最大的美国国会图书馆有2 000万册
书,几乎涵盖了人类有史以来能够保存下来的各种文字记录,就
算每本书有100万字,这些书的总信息量也只有20TB。而目前用
户每分钟上传到YouTube的视频是300小时,每小时视频算1GB,每年上传的量就是157 680TB。如果把每个人手机里的视频都算
上,那么视频信息是文字信息的上亿倍。今后这个比例还会不断
加大。虽然这些视频或图片都是“信息”,还不是“知识”,但我们
也可以想象从视频图片中能提取出的隐藏的相关性的量一定远远
大于所有的文字知识。
有了第一个问题的答案,就容易回答第二个问题。很显然,用机器学习从视频和图片中萃取知识是人类认识世界的一个新突
破,只要有办法把事物状态用图片或视频记录下来,就有可能从中萃取出知识来。如果视频和图片的信息量是文字的上亿倍,那
么我们有理由期待从中萃取出的知识呈爆炸式增长,在社会和生
活中起到关键甚至主导作用。人工智能通过观看大量人类历史上
的影视作品,可以归纳提取出影视中的经典桥段,创作出新颖的
配乐、台词和预告片,供人类借鉴或使用。2016年,IBM(国际
商业机器公司)的沃森系统为二十世纪福克斯电影公司的科幻电
影《摩根》(Morgan)制作了预告片。IBM的工程师们给沃森看
了100部恐怖电影预告片,沃森对这些预告片进行了画面、声
音、创作构成的分析,并标记上对应的情感。它甚至还分析了人
物的语调和背景音乐,以便判断声音与情感的对应关系。在沃森
完成学习后,工作人员又将完整的Morgan电影导入,沃森迅速挑
出了其中10个场景组成了一段长达6分钟的预告片。在沃森的帮
助下,制作预告片的时间由通常的10天到1个月,缩减到了短短
的24个小时。同样道理,机器学习可以从海量的生态、生产和社
会环境数据中萃取出大量的未曾发现的知识。
第三个问题最有意思。由于机器萃取出的知识是以神经网络
参数集形式存在的,对人类来说仍然不可陈述,也很难在人类间
传播。但是这些知识却非常容易在机器间传播。一台学会驾驶的
汽车可以瞬间“教会”其他100万台汽车,只要把自己的参数集复
制到其他机器即可。机器间的协同行动也变得非常容易,无非是
用一组反馈信号不断地调整参加协同的每台机器的参数。
如果用一句话总结默知识和明知识的差别那就是波兰尼说
的:We know more than we can tell(知道的远比能说出来的
多)。明知识就像冰山浮出水面的一角,默知识就是水下巨大的冰山。这两类知识也包括那些尚未发现的知识,一旦发现,人类
要么可以感受,例如第一个登上珠峰的人能感受到缺氧;要么从
理性上可以理解,例如看懂一个新的数学定理的推导过程。
既不可感受也不能表达的“暗知识”
既然可以感受的是默知识,可以表达的是明知识,那么机器
刚刚发现的,既无法感受也无法表达的知识就是暗知识。我们用
是否能感受作为一个坐标轴,用是否能表达(或描述)作为另一
个坐标轴,就可以用图1.3把三类知识的定义清晰地表达出来。在
这张图里,明知识又被分为两类:第一类是那些既可以感受又可
以表达的,例如浮力定律、作用力反作用力定律等。第二类是不
可感受可以表达的,如大部分的数学以及完全从数学中推导出来
但最后被实验验证了的物理定律,以及相对论和量子力学。图1.3知识的分类
为了理解暗知识的本质,我们必须先搞清楚“知识”与我们今
天常用的“信息”和“数据”有什么不同。稍加研究就能发现关于信
息、数据和知识的定义有很多并且非常混乱。笔者在下面给出一
组符合信息论和脑神经科学研究结果的简单而自洽的定义。
信息是事物可观察的表征,或者说信息是事物的外在表现,即那些可观察到的表现。在我们没有望远镜时,谈论肉眼以外星
空里的信息毫无意义。
数据是已经描述出来的部分信息。任何一个物体的信息量都
非常大,要想精确地完全描述一块石头,就要把这块石头里所有基本粒子的状态以及它们之间的关系都描述出来,还要把这块石
头与周围环境和物体的关系都描述出来。而关于这块石头的数据
通常则少得多,例如它的形状、重量、颜色和种类。
知识则是数据在时空中的关系。知识可以是数据与时间的关
系,数据与空间的关系。如果把时间和空间看作数据的一部分属
性,那么所有的知识就都是数据之间的关系。这些关系表现为某
种模式(或者说模式就是一组关系)。对模式的识别就是认知,识别出来的模式就是知识,用模式去预测就是知识的应用。开普
勒的行星运动定律就是那些观测到的数据中呈现的时空关系。牛
顿定律的最大贡献可能不在于解释现有行星的运动,而在于发现
了海王星。这些数据在时空中的关系只有在极少数的情况下才可
以用简洁美妙的数学方程式表达出来。在绝大多数情形下,知识
表现为数据间的相关性的集合。这些相关性中只有极少数可以被
感觉、被理解,绝大多数都在我们的感觉和理解能力之外。
人类的理解能力由感受能力和表达能力组成。人类的感受能
力有限,局限性来自两个方面。一是只能感受部分外界信息,例
如人眼无法看到除可见光之外的大部分电磁波频谱,更无法感受
大量的物理、化学、生物和环境信息。二是人类的感官经验只局
限在三维的物理空间和一维空间。对高维的时空人类只能“降
维”想象,用三维空间类比。对于数据间的关系,人类凭感觉只
能把握一阶的或线性的关系,因为地球的自转是线性的,所
以“时间”是线性的。例如当我们看到水管的水流进水桶里时,水
面的上升和时间的关系是线性的,我们凭感觉可以预测大概多长
时间水桶会满。人类感官对于二阶以上的非线性关系就很难把握。例如当水桶的直径增加1倍时,水桶能盛的水会增加4倍,这
点就和“直觉”不相符。
人类的表达能力只限于那些清晰而简单的关系,例如少数几
个变量之间的关系,或者是在数学上可以解析表达的关系(“解
析表达”的意思就是变量之间的关系可以用一组方程式表达出
来)。当数据中的变量增大时,或当数据间的关系是高阶非线性
时,绝大多数情况下这些关系无法用一组方程式描述。所以当数
据无法被感受,它们之间的关系又无法用方程解析表达时,这些
数据间的关系就掉入了人类感官和数学理解能力之外的暗知识大
海。
我们现在可以回答“一个人类无法理解的暗知识的表现形式
是什么样的”,暗知识在今天的主要表现形式类似AlphaGo Zero里
面的“神经网络”的全部参数。在第三章详细介绍神经网络之前,我们暂时把这个神经网络看成一个有许多旋钮的黑盒子。这个黑
盒子可以接收信息,可以输出结果。黑盒子可以表达为一个一般
的数学函数:Y=fw(X)。这里Y是输出结果,fw(X)是黑盒子本
身,X是输入信息,w是参数集,就是那些旋钮,也就是暗知
识。
我们如何知道这个函数代表了知识,也即这个函数有用?这
里的判别方法和现代科学实验的标准一样:实验结果可重复。对
AlphaGo Zero来说就是每次都能赢;用严格的科学语言来说就是
当每次实验条件相同时,实验结果永远可重复。读完第三章,读
者就会从细节上清楚暗知识是如何被验证的。注意,暗知识不是那些人类尚未发现但一经发现就可以理解
的知识。比如牛顿虽然没有发现相对论,但如果爱因斯坦穿越时
空回去给他讲,他是完全可以理解的。因为理解相对论用到的数
学知识如微积分牛顿都有了。即使在微积分产生之前,如果爱因
斯坦穿越2 000年给亚里士多德讲相对论,亚里士多德也能理解,至少能理解狭义相对论背后的物理直觉。但如果给亚里士多德讲
量子力学他就不能理解,因为他的生活经验中既没有薛定谔的猫
(用来比喻量子力学中的不确定性,一个封闭的盒子里的猫在盒
子没打开时同时既是死的也是活的,一旦打开盒子看,猫就只能
有一种状态,要么是死要么是活),他的数学水平也无法理解波
动方程。那么我们可以说对亚里士多德来说,量子力学就是暗知
识。量子力学因为没有经验基础,甚至和经验矛盾,在刚发现的
初期,几乎所有的物理学家都大呼“不懂”,至今能够透彻理解的
人也极少。甚至连爱因斯坦都不接受不确定性原理。
人类过去积累的明知识呈现出完美的结构,整个数学就建立
在几个公理之上,整个物理就建立在几个定律之上,化学可以看
成是物理的应用,生物是化学的应用,认知科学是生物学的应
用,心理学、社会学、经济学都是这些基础科学的应用组合。这
些知识模块之间有清晰的关系。但是机器挖掘出来的暗知识则像
一大袋土豆,每个之间都没有什么关系,更准确地说是我们不知
道它们之间有什么关系。
我们可以预见一幅未来世界的知识图谱:所有的知识分为两
大类界限分明的知识——人类知识和机器知识。人类的知识如果
不可陈述则不可记录和传播。但机器发掘出来的知识即使无法陈述和理解也可以记录并能在机器间传播。这些暗知识的表现方式
就是一堆看似随机的数字,如一个神经网络的参数集。这些暗知
识的传播方式就是通过网络以光速传给其他同类的机器。
暗知识给我们的震撼才刚刚开始。从2012年开始的短短几年
之内,机器已经创造了下面这些“神迹”:对复杂病因的判断,准
确性超过医生;可以惟妙惟肖地模仿大师作画、作曲,甚至进行
全新的创作,让人类真假难辨;机器飞行员和人类飞行员模拟空
战,百战百胜。
我们在第六章会看到更多这样的例子。人类将进入一个知识
大航海时代,我们将每天发现新的大陆和无数金银财宝。我们今
天面对的许多问题都像围棋一样有巨大的变量,解决这些问题和
围棋一样是在组合爆炸中寻求最优方案,例如全球变暖的预测和
预防、癌症的治愈、重要经济社会政策的实施效果、“沙漠风
暴”这样的大型军事行动。系统越复杂,变量越多,人类越无法
把握,机器学习就越得心应手。无数的机器将不知疲倦地昼夜工
作,很快我们就会发现机器新发掘出来的暗知识会迅速积累。和
下围棋一样,暗知识的数量和质量都将快速超过我们在某个领域
积累了几百年甚至几千年的知识。明知识就像今天的大陆,暗知
识就像大海,海平面会迅速升高,明知识很快就会被海水包围成
一个个孤岛,最后连珠穆朗玛峰也将被淹没在海水之下。
这场人类认知革命的意义也许会超过印刷术的发明,也许会
超过文字的发明,甚至只有人类产生语言可与之相比。请系好安
全带,欢迎来到一个你越来越不懂的世界!第二章
榨取数据——机器能学会的知识
导读
在深入探讨机器如何学习暗知识之前,我们先要知道机
器也能够自己学习明知识和默知识。在这一章我们介绍机器
学习的五大流派的底层逻辑和各自不同的先验模型。虽然现
在神经网络如日中天,但其他四大流派也不容忽视。上一章我们说了人类通过感官和逻辑能掌握明知识和默知
识,但人类对暗知识既无法感受也无法理解。现在我们要看看机
器能掌握哪些知识,并擅长掌握哪些知识。
机器学习明知识
计算机科学家最早的想法是把自己的明知识,包括能够表达
出来的常识和经验放到一个巨大的数据库里,再把常用的判断规
则写成计算机程序。这就是在20世纪70年代兴起并在20世纪80年
代达到高潮的“知识工程”和“专家系统”。比如一个自动驾驶的“专
家系统”就会告诉汽车,“如果红灯亮,就停车,如果转弯时遇到
直行,就避让”,依靠事先编好的一条条程序完成自动驾驶。结
果你可能想到了,人们无法穷尽所有的路况和场景,这种“专家
系统”遇到复杂情况时根本不会处理,因为人没教过。“专家系
统”遇到的另一个问题是假设了人类所有的知识都是明知识,完
全没有意识到默知识的存在。一个典型的例子是20世纪80年代中
国的“中医专家系统”。当时计算机专家找到一些知名的老中医,通过访谈记录下他们的“望闻问切”方法和诊断经验,然后编成程
序输入到计算机中。在中医眼中每一个病人都是独特的。当他看
到一个病人时会根据经验做出一个整体的综合判断。这些经验连
老中医自己都说不清道不明,是典型的默知识。所以中医诊断绝
不是把舌苔的颜色划分成几种,把脉象分成几十种,然后用查表
方式就可以做判断的。“专家系统”既不能给机器输入足够的明知
识,更无法把默知识准确地表达出来输入给机器。所以,“专家
系统”和“知识工程”在20世纪80年代之后都偃旗息鼓了。要想把一个领域内的所有经验和规则全部写出来不仅耗费时
间,而且需要集合许多人。即使如此,那些谁也没有经历过的情
况还是无法覆盖。电脑的信息处理速度比人脑快得多,那么能不
能把大量的各种场景下产生的数据提供给机器,让机器自己去学
习呢?这就是现在风行一时的“机器学习”。
今天的机器可以自己学习两大类明知识:用逻辑表达的判断
规则和用概率表达的事物间的相关性。
符号学派——机器自己摸索出决策逻辑
前面说过,理性主义认为事物间都有因果关系,基于因果关
系,通过逻辑论证推理就能得到新知识。在机器学习中这一派被
称为符号学派,因为他们认为从逻辑关系中寻找的新知识都可以
归结为对符号的演算和操作,就像几何定理的推理一样。这种知
识通常可以用一个逻辑决策树来表示。决策树是一个根据事物属
性对事物分类的树形结构。比如冬天医院门诊人满为患,测完体
温,主任医生先问“哪里不舒服”,病人说“头疼,咳嗽”,主任医
生再听呼吸。感冒、流感、肺炎都可能是这些症状的原因,现在
要根据这些症状判断病人到底得了什么病,这种从结果反着找到
因果链条的过程就叫“逆向演绎”。这时候主任医生用的就是一个
决策树:体温低于38.5℃,咳嗽,头痛,可能是普通感冒,回去
多喝白开水!体温高于38.5℃,还剧烈咳嗽呼吸困难,可能是肺
炎,咳嗽不厉害就可能是流感。实际情形当然要比这复杂。但原
理就是根据观察的症状逐项排除,通过分类找到病因。
这时候门诊新来了实习医生小丽,要在最短时间内学会主任医生的诊断方法。主任医生忙得根本没时间教她,就扔给她一沓
过去病人的病历和诊断结果,自己琢磨去!小丽看着几十个病人
的各项指标和诊断结果,不知道从哪里下手。这时候刚学了决策
树的主治医生小张路过说:我来帮你。咱先随便猜一个主任的判
断逻辑,比如先看是否咳嗽,再看是否发烧。把这些病例用这个
逻辑推演一遍,如果逻辑的判断结果和主任的诊断结果吻合,咱
就算猜中了。如果不吻合,咱就换个逻辑,无非是换些判断准
则,比如你可能一开始把体温标准定在了37.5℃,结果把很多普
通感冒给判断成流感了。当你用39℃时,又会把流感判断成普通
感冒。几次试验你就找到了38.5℃这个最好的值。最后你找到的
逻辑对所有病例的判断都和主任医生的诊断完全吻合。
所以决策树学习就是先找到一个决策树,它对已知数据的分
类和已知结果最接近。好的分类模型是每一步都能让下一步
的“混杂度”最小。在实际的机器学习中,决策树不是猜出来而是
算出来的。通过计算和比较每种分类的混杂度的降低程度,找到
每一步都最大限度降低混杂度的过程,就是这个决策树机器学习
的过程。所以机器学习决策树的原理是:根据已知结果可以反推
出事物间的逻辑关系,再用这些逻辑关系预测新的结果。
在这个例子里的“知识”就是医生的诊断方法,作为明知识被
清晰表达为决策逻辑树。而这种计算和比较分类混杂度的方法就
是让机器自动学习医生诊断知识的方法。
贝叶斯学派——机器从结果推出原因的概率
符号学派认为有因必有果,有果必有因。贝叶斯学派问,因发生果一定发生吗?感冒是发烧的原因之一,但感冒不一定都发
烧。贝叶斯学派承认因果,但认为因果之间的联系是不确定的,只是一个概率。
我们的经验中比较熟悉的是当一个原因发生时结果出现的概
率,例如你感冒后会发烧的概率,但我们的直觉不太会把握逆概
率,即知道结果要求推出原因的概率,也就是要判断发烧是感冒
引起的概率。贝叶斯定理就是教我们怎么算这样的概率。举个例
子,某人去医院检查身体时发现艾滋病病毒呈阳性,现在告诉你
一个艾滋病人检查结果呈阳性的概率是99%,也就是只要你是艾
滋病人,检查结果基本都是阳性。还告诉你,人群中艾滋病患者
大约是0.3%,但所有人中查出阳性的人有2%。现在问得艾滋病
的概率多大?你的直觉反应可能是,要出大事了!现在我们看看
贝叶斯定理怎么说。贝叶斯定理如下:
P(得艾滋病|检查呈阳性)=P(得艾滋病)×P(检查呈阳性|
得艾滋病)P(检查呈阳性)=99%×0.3%2%=14.85%。
也就是说即使他检查呈阳性,他得病的概率也不到15%!这
个结果非常违反直觉。原因在哪里呢?在于人群中查呈阳性的概
率远大于人群中得艾滋病的概率。这主要是由于检测手段不准
确,会“冤枉”很多好人。所以以后不管谁查出了什么病呈阳性,你要问的第一件事是检查呈阳性和得病的比率有多大,这个比率
越大就可以越淡定。所以贝叶斯定理告诉我们的基本道理是:一
个结果可能由很多原因造成,要知道一个结果是由哪个原因造成
的,一定要先知道这个原因在所有原因中的占比。一个好的医生知道,要判断病人是否感冒,只看是否发烧这
一个症状不够,还要看是否有咳嗽、嗓子痛、流鼻涕、头痛等症
状。也就是我们要知道P(感冒|发烧、咳嗽、嗓子痛、流鼻涕、头痛……)。贝叶斯定理告诉我们计算上面的概率可以通过计算
P(发烧、咳嗽、嗓子痛、头痛……|感冒)获得。为了简化计
算,我们这里假设发烧、咳嗽、嗓子痛、头痛这些症状都是独立
的,互相不是原因(很显然这个假设不完全对,很可能嗓子疼是
咳嗽引起的),这样P(发烧、咳嗽、嗓子痛、头痛……|感冒)
=P(发烧|感冒)×P(咳嗽|感冒)×P(嗓子痛|感冒)×P(头痛|感
冒)×……
这里每一个概率都比较容易得到。这在机器学习里叫作“朴
素贝叶斯分类器”。这个分类器广泛应用于垃圾邮件的过滤。我
们知道垃圾邮件往往会有“免费、中奖、伟哥、发财”这类词汇,这类词汇就相当于感冒会出现的症状,垃圾邮件就相当于感冒。
过滤垃圾邮件变成了判断在出现这些词汇的情况下这封邮件是垃
圾邮件的概率,也就是通过统计P(出现“免费”|垃圾邮件),P(出现“中奖”|垃圾邮件)等的概率,来算出P(垃圾邮件|出
现“免费、中奖、伟哥、发财”……)的概率。
同样的原理还被广泛应用在语音识别上。一个单词有各种各
样的发音,语音识别就是听到一个发音判断是某个单词的概率。
如果我们把“吃饭”这个词的天南地北男女老少的发音都收集起
来,统计出“吃饭”这个词和各种发音的频次,我们听到一个发
音“洽碗”时,就可以判断是否在说“吃饭”。为什么说贝叶斯朴素
分类器是机器学习呢?因为它是通过采集大量数据统计出每个单词和它们分别对应的发音的频率来判断一个发音是什么单词的。
这些数据越多,判断的准确性就越高。
在这个例子里,“知识”是知道当一个结果发生时是哪个原因
造成的。这个知识被清晰地表达为一个条件概率。机器通过统计
每种原因的占比来算出从结果到原因的概率。
类推学派——机器学习默知识
我们生活中很多经验来自类比。医生一看病人的面部表情和
走路姿势就基本能判断出是普通感冒还是流感,因为流感症状比
感冒厉害得多。科学上的许多重要发现也是通过类比。当达尔文
读到马尔萨斯(Malthus,1766—1834)的《人口论》(Principle
of Population)时,被人类社会和自然界的激烈竞争的相似性所
触动;玻尔的电子轨道模型直接借鉴了太阳系的模型。机器学习
中用类比方法的这一派叫类推学派,他们的逻辑很简单:第一,两个东西的某些属性相同,它俩就是类似的;第二,如果它们的
已知属性相同,那么它们的未知属性也会相同。开好车上班的人
可能也会用苹果手机,喜欢看《星球大战》(Star Wars)的人可
能也会喜欢看《三体》等。类比的逻辑可以明确表达,但具体的
类比常常是默知识。例如老警察一眼就能看出谁是小偷,但不一
定说得清楚原因。
在类推学派中最基础的算法叫最近邻法。最近邻法的第一次
应用是1894年伦敦暴发霍乱,在伦敦的某些城区每8个人就会死1
个,当时的理论是这种疾病是由一种“不良气体”造成的。但这个
理论对控制疾病没有用。内科医生约翰·斯诺把伦敦每个霍乱病例都标在地图上,他发现所有的病例都靠近一个公共水泵。最后推
断病因是这个水泵的水源污染,当他说服大家不要再用这个水泵
的水后,疾病就得到了控制。在这里这些数据的相似点就是和这
个水泵的距离。最近邻法还有一个应用就是在网上搜照片,你对
高铁上霸座的人很愤慨,你把他的照片上传,网站给你显示出几
张和他长得最像的照片,并且有文字,你一看,天哪,还是个在
读博士生!同样的道理,很多智能手机都可以自动进行照片分
类,把你手机里的人像都自动归类。
在类推学派中,第一件事是要定义“相似度”。相似度可以是
身高、收入等连续变量,也可以是买了某一类书的次数的统计变
量,也可以是性别这样的离散变量。总之,只有定义了相似度,才能度量一个分类方法是否最优。人可以感受相似度,但无论是
人的感官还是大脑都无法量化相似度。人类在做相似度比较时,甚至都不知道自己在比较哪些特征和属性,但机器可以很容易量
化这些相似度。所以只要机器抓准了特征和属性,比人的判断还
准。
类推算法可以用于跨领域的学习。一个消费品公司的高管到
互联网媒体公司不需要从头学起,华尔街雇用很多物理学家来研
究交易模型,是因为这些不同领域问题的内在数学结构是类似
的。类推算法最重要的是能用类比推导出新知识,就像我们前面
提到的达尔文受《人口论》的启发。
虽然机器可以学习明知识和默知识,但它最大的本事是学习
暗知识。机器发现暗知识
暗知识就是那些既无法被人类感受又不能表达出来的知识。
也就是说人类本身无法理解和掌握这些知识,但机器却可以。机
器有两种方法可以掌握这些知识:模仿人脑和模仿演化。
联结学派
联结学派的基本思路就是模仿人脑神经元的工作原理:人类
对所有模式的识别和记忆建立在神经元不同的连接组合方式上。
或者说一个模式对应着一种神经元的连接组合。联结学派就是目
前最火爆的神经网络和深度学习,它在五大学派中占绝对统治地
位。目前人工智能的高科技公司中绝大部分是以神经网络为主。
第三章我们专门讨论神经网络。
进化学派
机器学习中一共有五大学派,最后一个学派是进化学派。他
们是激进主义经验派,是彻底的不可知论者。进化学派不仅觉得
因果关系是先验模型,甚至觉得类比,神经元连接也都是先入为
主的模型。他们认为不管选择什么样的先验模型,都是在上帝面
前耍人类的小聪明,世界太复杂,没法找到模型。进化学派的基
本思路是模仿自然界的演化:随机的基因变异被环境选择,适者
生存。他们的做法就是把一种算法表达成像基因一样的字符串,让不同的算法基因交配,让生出来的儿女算法去处理问题,比爸
妈好的留下来配种继续生孙子,比爸妈差的就淘汰。比如我们要通过进化算法找到最优的垃圾邮件过滤算法。我
们先假设凡是垃圾邮件都包含1 000个诸如“免费”“中奖”“不转不
是中国人”这样的单词或句子。对于每个单词我们可以对邮件施
加一些规则,如删除或者怀疑(“怀疑”是进一步看有没有其他垃
圾词汇)等。如果规则就这两种,我们可以用一个比特表示:1
删除,0怀疑。这样要对付有1 000个垃圾词的算法就可以表示成1
000比特的一个字符串。这个字符串就相当于一个算法的基因。
如果我们从一堆随机的1 000比特长的字符串开始,测量每个字符
串代表的算法的适应度,也即它们过滤垃圾邮件的有效性。把那
些表现最好的字符串留下来互相“交配”,产生第二代字符串,继
续测试,如此循环,直到一代和下一代的适应度没有进步为止。
注意,这里和生物的进化有个本质区别,就是所有的算法都
是“长生不老”的。所以老一代里的优秀算法不仅可以和同代的算
法竞争,而且可以和儿子、孙子、子子孙孙互相竞争,最后的胜
利者不一定都是同一代的算法。
进化算法的问题是“进化”毫无方向感,完全是瞎蒙。在前面
的垃圾邮件过滤器例子里,1 000比特的字符串的所有可能性是
21000,也即10300,即使用目前世界最快的超级计算机,“进
化”到地球爆炸都不可能穷尽所有可能,在有限时间内能探索的
空间只是所有可能空间的极少一部分。地球可是用了40亿年时间
才进化出了现在所有的生物。
图2.1是美国华盛顿大学佩德罗·多明戈斯(Pedro Domingos)
教授总结的一张五大流派“八卦图”。
机器学习中的符号学派、贝叶斯学派、类推学派和联结学派的共同点是根据一些已经发生的事件或结果,建立一个预测模
型,反复调整参数使该模型可以拟合已有数据,然后用此模型预
测新的事件。不同的是它们各自背后的先验世界模型。符号学派
相信事物间都有严密的因果关系,可以用逻辑推导出来;贝叶斯
学派认为,因发生,果不一定发生,而是以某个概率发生;类推
学派认为,这个世界也许根本没有原因,我们只能观测到结果的
相似,如果一只鸟走路像鸭子,叫起来像鸭子,那么它就是只鸭
子;联结学派认为,相似只是相关性能被人理解的那层表皮,隐
藏的相关性深邃得无法用语言和逻辑表达;最后进化学派认为,什么因果?什么相关?我的世界模型就是没有模型!从零开始,不断试错,问题总能解决!图2.1机器学习的五大流派
图片来源:佩德罗·多明戈斯,《终极算法》,中信出版社,2017年。
现在我们终于可以清理一下满天飞的名词了。我们在媒体上
最常听到的是这四个名词:人工智能、机器学习、神经网络、深
度学习。这四个词的关系如图2.2所示,人工智能是最大的一个
圆,圆里面分为两部分:一部分叫人工学习,也就是前面我们讲
的专家系统;另一部分叫机器学习,就是机器自己学习。机器学
习里面包含神经网络,在神经网络里面还要再分,一个是浅度学
习,一个是深度学习。在过去芯片集成度低时,我们只能模仿很
少的神经元。现在由于集成度在提高,我们可以模仿很多的神经
元,当很多神经元被组成多层的网络时,我们就叫它深度学习。
所以人工智能、机器学习、神经网络和深度学习的关系,其实就
像一个洋葱一样,一层包裹一层,最外面的是人工智能,往里一
点是机器学习,再往里是神经网络,最深层就是深度学习。
所以这四个词有下面的包含关系:人工智能>机器学习>神经
网络>深度学习。图2.2 AI中四个概念的包含关系
今天我们说到的人工智能,其实就是机器学习里面的神经网
络和深度学习。但是在一般的商业讨论中,这四个概念经常是混
着用的。第三章
神经网络——萃取隐蔽相关性
导读
在了解了机器学习各个流派的方法后,本书的主角“神
经网络”现在闪亮登场。本章将深入介绍神经网络学习的原
理和在商业上应用最多的几种形态,以及它们的适用范围。
有了这些基础,我们才可以真正理解AlphaGo Zero是怎样发
现神迹般的暗知识的。对于只想了解AI商业前景的读者,也
可以先跳过这一章,读完后面描述机器学习神奇应用的章节
后再回来弄懂它是如何工作的。从感知器到多层神经网络
1943年,心理学家沃伦·麦卡洛克(Warren McCulloch)和数
理逻辑学家沃尔特·皮茨(Walter Pitts)提出并给出了人工神经网
络的概念及人工神经元的数学模型,从而开了人类神经网络研究
的先河。世界上第一个人工神经元叫作TLU(Threshold Linear
Unit,即阈值逻辑单元或线性阈值单元)。最初的模型非常简
单,只有几个输入端和输出端,对权值的设置和对阈值的调整都
较为简单。
1957年,一个开创性的人工神经网络在康奈尔航空实验室诞
生了,它的名字叫作感知器(Perceptron),由弗兰克·罗森布莱
特(Frank Rosenblatt)提出,这也是首次用电子线路来模仿神经
元。他的想法很简单,如图3.1所示:将其他电子神经元的几个输
入按照相应的权重加在一起,如果它们的和大于一个事先给定的
值,输出就打开,让电流通向下一个神经元;如果小于这个事先
给定的值,输出就关闭,没有电流流向下一个神经元。
1960年,斯坦福大学教授伯纳德·威德罗(Bernard Widrow)
和他的第一个博士生马尔西安·泰德·霍夫(Marcian Ted Hoff)提
出了自适应线性神经元(ADaptive LInear NEurons,ADLINE)。
他们第一次提出了一种可以自动更新神经元系数的方法(机器自
我学习的原始起点):用输出误差的最小均方去自动迭代更新神
经元权重系数,直至输出信号和目标值的误差达到最小。这样就
实现了权重系数可以自动连续调节的神经元。自适应线性神经元
最重要的贡献是第一个使用输出信号和目标值的误差自动反馈来调整权值,这也为后面神经网络发展历史上里程碑式的反向传播
算法奠定了基础。
图3.1感知器的电子线路
这个单层的神经网络也被称为自适应信号处理器,被广泛应
用在通信和雷达当中。霍夫后来加入英特尔,在1971年设计了世
界上第一个微处理器Intel 4004。威德罗教授也是笔者20世纪80年
代后期在斯坦福大学的博士生导师。笔者曾经在他的指导下做过
神经网络的研究工作。图3.2是笔者2016年和他讨论神经网络未来
发展时的合影,笔者手中拿的那个黑盒子就是他1960年做出的
ADLINE单层神经网络。这个盒子到今天还在工作,美国国家博
物馆曾经想要这个盒子做展品,但威德罗教授回答说“我还要用
它来教学”。图3.2笔者和自己当年斯坦福大学的博士导师,神经网络鼻祖
之一威德罗教授的合影威德罗教授在1962年还提出过一个三层的神经网络(Multi-
Layer Adaptive Linear Neurons,MADALINE),但没有找到一个
能够用于任意多层网络的、简洁的更新权重系数的方法。由于单
层网络有广泛应用而多层网络的运算速度太慢(当时的电脑运算
速度是今天的100亿分之一),所以在MADALINE之后没有人去
继续深入探讨多层网络。
由于缺少对人脑工作模式的了解,神经网络的进展一度较为
缓慢,而它进入快速发展期的一个触发点则是医学领域的一个发
现。1981年,诺贝尔生理学或医学奖颁发给了美国神经生物学家
大卫·胡贝尔(David Hubel)、托尔斯滕·威塞尔(Torsten
Wiesel)和罗杰·斯佩里(Roger Sperry)。前两位的主要贡献是
发现了人类视觉系统的信息处理采用分级方式,即在人类的大脑
皮质上有多个视觉功能区域,从低级至高级分别标定为V1~V5等
区域,低级区域的输出作为高级区域的输入。人类的视觉系统从
视网膜(Retina)出发,经过低级的V1区提取边缘特征,到V2区
的基本形状或目标的局部,再到高层V4的整个目标(例如判定为
一张人脸),以及到更高层进行分类判断等。也就是说高层的特
征是低层特征的组合,从低层到高层的特征表达越来越抽象和概
念化。至此,人们了解到大脑是一个多层深度架构,其认知过程
也是连续的。
神经网络学习的本质是大量神经元通过复杂的连接形成记
忆。因为分析简单且容易用电子元件实现,一开始人工神经网络
就如图3.3那样由一层一层组成。其实人脑的神经元连接非常复
杂,没有这么一层一层的清晰和有秩序。但我们目前并没有弄清楚人脑神经元的连接方式,先从简单的假设入手是科学的一般方
法。
图3.3一个多层神经网络(其中每个方块代表一个神经元)
20世纪80年代,神经网络的另一个重大突破是当时在加利福
尼亚州大学圣迭戈校区任教的美国心理学家大卫·鲁梅哈特
(David Rumelhart)和在卡内基梅隆大学任教的计算科学家杰弗
里·辛顿(Jeffrey Hinton)提出的多层神经网络,以及一个普遍的
自动更新权重系数的方法。前面说过,威德罗教授在1962年提出
过一个三层的神经网络,但功亏一篑,没有找到一个简洁的任意多层网络权重系数的更新方法。这个问题在1986年被鲁梅哈特和
辛顿解决了。他们借鉴了单层神经网络中威德罗-霍夫(Widrow-
Hoff)反馈算法的思路,同样用输出误差的均方值一层一层递进
地反馈到各层神经网络去更新系数。这个算法就是今天几乎所有
神经网络都在用的“反向传播”算法。“反向传播”听上去很“高大
上”,实际上就是在自动控制和系统理论里面多年一直在用的“反
馈”,只不过在多层网络中反馈是一层一层递进的。因为一个多
层的神经网络要通过成千上万次“用输出误差反馈调整系数”,所
以运算量非常大。在20世纪80年代的计算能力限制下,神经网络
的规模非常小(例如三层,每层几十个神经元)。这种小规模的
神经网络虽然显示了神奇的能力(例如能够识别0~9一共10个手
写体数字),但仍然无法找到真正的商用。
从第一个电子神经元感知器的发明(1957年)到神经网络的
大规模应用(2012年)整整经历了55年的艰辛探索,许多天才科
学家不顾嘲讽和失败,坚信这条路是对的。图3.4是在这个探索旅
程中做出重大贡献的科学家。图3.4 1940—2010年基于神经网络的AI发展史上做出突破性
贡献的科学家
图片来源:
https:beamandrew.github.iodeeplearning20170223deep_learning_101_part1.html。
神经网络模型:满是旋钮的黑盒子
在这一节中,我们用最简单的方法介绍机器学习的机理。像
图3.3这样一个多层神经网络的左端是输入端,即要识别的信息从
这里输入。例如要识别一幅图像,每个输入Xi就是这张图像的一个像素的灰度值(为了简单起见我们假设图像是黑白的,如果是
彩色的,我们可以想象三个这样的网络重叠起来用)。从输入层
的每个神经元到下一层的每个神经元都有一个连接,从输入层的
第i个神经元到下一层第j个神经元的连接有一个乘法因子Wij。每
一层到下一层都类似。在输出端,每根线对应一个识别出来的物
体。我们可以把每个输出想象成一个灯泡。当机器发现输入是某
个物体时,对应该物体的灯泡就在所有输出灯泡里最亮。
像这样一个多层次的神经网络是如何“学习”的呢?我们可以
把这个多层网络看成一个黑盒子。盒子外面有许多可以调节的旋
钮,如图3.5所示。图3.5机器学习:调节黑盒子外的旋钮
我们的第一个任务是训练这个黑盒子能够识别图像中的物
体。例如在图3.5中,输入端有两张图,一张汽车图片和一张猫的
图片。我们训练的目的是只要输入各种汽车的图片,机器就能告
诉我们“这张图是汽车”(对应“汽车”这个物体的输出端的灯泡最
亮)。同样,只要我们输入猫的图片,机器就告诉我们“这张图是猫”(对应“猫”的灯泡最亮)。训练的过程是这样的:我们先指
定输出的一个灯泡最亮对应于识别出了汽车,第二个灯泡最亮对
应猫,等等。我们先找到足够多的汽车图片(例如1万张,训练
图片越多,训练出的机器判断越准确),一张一张给机
器“看”(实际训练是一组一组地给机器看)。在机器没有训练好
时,当我们输入一张汽车图片时,输出的灯泡会乱亮。我们此时
耐心地调节那些旋钮直到只有对应“汽车”的灯泡亮为止。然后我
们输入下一张汽车图片,也调到只有对应汽车的灯泡亮为止,如
此一直到1万张。然后我们再输入第一张猫的图片,调节旋钮直
到对应“猫”的灯泡亮为止,也如此一直到1万张猫的图片都输入
完为止。如果我们让机器学习1 000种物体的图片,那我们对每种
物体图片都要如此操作,让输出端对应这种物体的灯泡最亮。所
以在机器学习中,“训练”是最耗时的。在训练过程中,这些训练
用的图片我们事先知道是什么内容,或者叫作“标注”过的图片。
当训练结束后,第二步是测试。也就是拿一些不在训练集里面的
图片让机器辨认,如果机器都能辨认出来,这部机器就算训练好
了,可以交付使用了。一旦训练测试结束,机器的参数集就不改
变了,也就是所有的旋钮都固定不动了。只要是输入训练过的种
类,机器都应该能识别出来。
如果一部机器要识别1 000种物体的图片,就要至少有1 000
个输出端(每个输出端对应一种物体)。假设图片分辨率是
100×100=10 000像素(很低的分辨率),如果这部机器只有三层
神经网络(深度最浅的“深度”学习网络),输入端和中间层之
间,中间层和输出之间的连接就有10 000×10 000+10 000×1
000=1.1亿个。也就是这部机器有1亿多个旋钮。截至2017年,最大的神经网络已经号称有上万亿的参数,即上万亿个旋钮。这么
多旋钮显然无法用人工去调节。
雾里下山:训练机器模型
幸运的是数学上200年前就有了“自动”调节旋钮的办法。这
个办法叫作“最陡梯度法”,或者通俗地叫作“雾里下山法”。当我
们训练一个机器学习模型时,我们事先知道每一张图片是什么物
体(汽车、猫等已经标注的图片),我们输入汽车图片时,要求
只有对应“汽车”的那个灯泡最亮。在我们调节旋钮之前,灯泡的
亮和灭都是混乱的,和我们的要求有很大误差。这些误差是由旋
钮的值决定的。如果把这些误差画成一幅图像,就像图3.6一样有
很多山峰,误差就是山峰的高度,图像的横轴和纵轴就是旋钮的
值。图3.6用“最陡梯度法”寻找误差最小的“山谷”
图片来源:维基百科。
当我们输入第一张图片时,我们可能站在一个随机的位置,例如某一座山峰的山顶或半山腰,我们的任务就是走到最低的一
个谷底(误差最小)。我们此时相当于在大雾中被困在山里只能
看见眼前的山坡,一个最笨的办法就是“最陡下降法”:站在原地
转一圈,找到一个最陡的下山方向往这个方向走一步。在这个新
的位置上,再转一圈找到最陡的下山方向再走一步,如此循环,一直走到山脚为止。在“最陡下降法”中每次转圈找最陡下山方向相当于用误差函
数的偏微分方程求梯度。简单地讲,旋钮的每一步的调节值是可
以算出来的。这样我们根据输出的误差一步一步地算出旋钮的调
节值,直到满意为止。这种根据误差回头调节旋钮的方法也
叫“反向传播算法”,意思是用输出误差一层一层地从输出端向输
入端把各层的权重系数算出来。
AlphaGo的“上帝视角”
有了上面的基础,我们现在就可以理解为什么AlphaGo这么
厉害。围棋棋盘有19×19=361个交叉点,每个交叉点可以二选
一:白子或黑子。这样所有的摆法就是2361,或者10108。人类2
000年来一共保留下来的围棋残局中盘大约3 000万个。人类下过
的棋局相当于大海里的一滴水(即使剔除那些明显没有意义的摆
法)。一位棋手即使每天下2盘棋,50年内天天下,一生也只能
下36 500盘棋。图3.7是一张“雾里下山”的示意图。下棋的终极目
标相当于在群山中找到最低的谷底(对应于最理想的走法)。如
果所有可能的走法是绵延几千里的群山,人类棋手2 000年来就相
当于一直在同一个小山坳里面打转转。第一位棋手偶然的棋路会
影响他的徒弟,以后的徒子徒孙都始终在这个小山坳附近徘徊。
而机器学习像个“神行太保”,以比人快百万倍的速度迅速扫遍群
山,很快就能找到一个远离人类徘徊了2 000年的更低的山谷(可
能还不是绝对最低,但比人类徘徊处低)。这也是连棋圣聂卫平
都连呼“看不懂”AlphaGo棋路的原因。(见图3.7)图3.7机器学习可以迅速扫过群山找到最低处
这个原理可以用于解决许多类似的问题。这类问题的特点是
变量非常多,可能解是天文数字,例如经济和社会决策、军事行
动策划等。
局部最优:没到山底怎么办“雾里下山法”会遇到一个问题,就是会走进一个不是最低的
谷底而且再也走不出来了。用一维函数能清楚地看到这个问题。
图3.8是有两个“谷底”:A点和B点的一维函数。当下山走到A点
时,只要每次的步伐不是特别大,不论往左还是往右再移动,总
是会回到A点。这在数学上叫“局部最小值”,而B点才是“全局最
小值”。
图3.8有两个谷底的一维函数
但是如果我们从一维扩展到二维,就有可能从一个“局部最
小值”中逃逸。在图3.9中,假设函数1是一个沿X轴切下去的一维
函数,A点就是函数1的一个“局部最小值”。如果一个小珠子只能
沿着X轴滚动,就会陷在A点出不来。但在图中的二维曲面上,小珠子只要沿着Y轴方向挪动一点,就到了C点,而从这个C点出
发就能到达整个曲面的“全局最小值”B点。当误差函数的维数增
加时,这种从“局部最小值”逃逸的机会就会增大。我们无法画出
三维以上的图像,但我们可以想象每个“局部最小值”附近都有许
多“虫洞”可以方便逃逸。维数越高,这种虫洞就越密集,就越不
容易陷在一个“局部最小值”里。
图3.9从一维空间扩展到二维空间,误差函数找到“全局最小
值”的概率增大
如果图3.9不够直观,我们可以用一个数字阵列来表达。首先
假设地形是一个一维函数,每个数字表示它的海拔高度。在图
3.10中,有两个最小的海拔高度0和5,但是无论从哪一边开始下
山,每走一步的话,都会被困在高度5这个“局部最小值”里出不来,无法走到“绝对最小值”0。
图3.10地形函数的数字阵列
但是,如果将这个地形叠加为二维函数,仍然用数字表示海
拔高度,我们可以看到,无论从哪一边开始下山,每走一步,当
在一维函数中走到“局部最小值”5以后,在另外一个维度的函数
中,则可以继续走到更低的海拔,直到到达“全局最小值”0。同
样地,维度越多,在某一个维度到达“局部最小值”后,可以选择
的其他维度和路径就越多,因此被困在“局部最小值”的概率就越
低。(见图3.11)图3.11将地形叠加为二维函数
深度学习——化繁为简
为什么深度学习有许多层神经元?这是因为世界上许多信息
和知识是可以通过分层表达的。例如人脸是很复杂的一幅图像,但人脸可以先分解成五官,五官的复杂程度就比人脸低了,五官
又可以进一步分解为线条。深度学习就是用一层神经元去识别一
个层级的信息。在图3.12中,左图是第一层网络来识别人脸上的
线条,中间的图是第二层网络在识别出线条的基础上识别出器
官,右图是第三层网络在识别出器官的基础上识别出长相。同样
一个时间序列的信息,例如语音也可以分解为递进的层级:句
子、单词、音节等。分层的最大好处是大大降低计算量,把原来
的N次计算变为m×logN次计算,这里m是层数。
除了将要处理的信息表达为层级以外,另外一种降低计算量
的方法是将“一大块”信息分解为许多小块来处理。例如想要在一
张像素很大的图片中识别出一个小三角形,我们只需拿着这个小
三角形的模板在大图中滑动比较即可。例如一张图的像素是1
000×1 000=1 000 000,如果拿一个1 000×1 000像素的模板去比
较,计算量大约是1 000 000×1 000 000。如果这个三角形的大小
是10×10,我们用10×10“模板滑动法”,计算量只要10×10×1 000
000,是原来的万分之一。图3.12深度学习神经网络学习得到的不同层次的特征
图片来源:维基百科。
机器要处理的信息有些是空间信息,例如图片,有些是时间
信息,例如语音。针对不同的信息,神经网络的结构不同。最常
见的有两种,第一种是处理空间信息的卷积神经网络
(Convolutional Neural Network,CNN),第二种是处理时间信
息的循环神经网络(Recurrent Neural Network,RNN)。下面我
们一一介绍。
化整为零的卷积神经网络
“卷积”这个词什么意思待会咱们再讲,但现在可以告诉你的
是,目前人工智能和机器学习制造的奇迹,从下围棋到自动驾驶
再到人脸识别,背后全是卷积神经网络。能知道卷积神经网络的工作原理,你就和周围大部分读了几本人工智能的书的人不是一
个档次了。虽然大部分人不会从事人工智能的专业工作,但卷积
神经网络解决问题的思路会让我们拍案叫绝。第一个提出卷积神
经网络的是前面说的神经网络教父杰弗里·辛顿教授的博士后学
生,一位叫岩拉孔(Yan LeCun)的法国人,现在任
Facebook(脸书)人工智能研究所主任,和辛顿同为神经网络四
大天王之一。
降低运算量就是降低成本
神经网络每一层的每一个神经元都和后面一层的每一个神经
元相连接。如果第一层有1万个神经元,第二层也有1万个,这两
层之间的连接就有1亿个。如果像微软那个一举超过人脸识别图
像能力的ResNet(深度残差网络)有152层,这些连接就有151亿
个。也就是说我们要调整的黑盒子上有151亿个旋钮。为了识别
10种动物,要给训练机器看10万张动物图片,一张图片就要算
151亿次乘法和加法,10万张至少是1 500万亿次运算。这才是识
别10种动物的训练运算量,如果要训练识别1万种动物呢?用今
天的最快的CPU(电脑中央处理器)或GPU(图形处理器),也
要算几个月甚至几年。对计算量要求更大的是识别,识别一张图
片要算150亿次不难,但Facebook上每天上传的何止几亿张照
片?降低运算量就意味着降低成本。
降低运算量的第一招就是把问题分类,如果只处理某一类问
题,针对这些问题的共同特点,就有可能简化算法。我们知道,人从外界获得的信息90%以上是视觉信息,视觉信息主要是图
像,视频也可以分解成快速闪过的图像。那图像有什么特点呢?一幅图像的信息量很大,但不管是风景还是人物,画面上总有大
部分区域没有什么变化,像天空。引起你注意的东西往往都是一
小块,例如人的眼睛、天空中的鸟、地上的花。这个叫作图像中
信息的局域性。图像的第二个特点是可以分解为更简单的元素,例如风景分解为天空、大地、植物、动物,人物分解为五官。卷
积神经网络就是利用图像的以上两个特点进行了大幅度的运算简
化。
以人脸识别为例,要识别一个人,先要抓住他的特征,比如
浓眉大眼高鼻梁。第一步就是把五官找出来。其实警察抓犯罪嫌
疑人早就用了这一招。警察局的画师会问目击者犯罪嫌疑人的性
别、年龄、身高、种族等,然后问目击者犯罪嫌疑人的五官长什
么样,目击者能描述的五官种类非常有限,大眼睛、小眼睛,最
多加个单眼皮、双眼皮、高鼻梁、塌鼻梁,根据目击者的描述画
师画出一幅人脸,然后目击者再说眼角朝下,没这么大,画师再
不断改,直到目击者觉得和记忆基本相符。人脸那么复杂根本无
法用语言描绘,但如果变成五官的组合描绘起来就简单多了。假
设每个五官都能分10种,就能组合出1万种脸来,再加上年龄、性别、种族就能组合出几十万张脸,这样把从70亿人中找一张脸
的任务就分解成了从10种眼睛中找出一种眼睛,再从10种鼻子中
找出一种鼻子这样简单得多的任务。
卷积神经网络是怎样工作的
卷积神经网络就是用的警察局这一招。假如我们现在要从分
布在北京大街小巷的摄像头的视频中发现100个重要的犯罪嫌疑
人,第一步是用这些犯罪嫌疑人的已有照片来训练机器。训练的第一步就是要从这些照片中提取五官的特征。因为五官在一张照
片中只占一小块,那我们就做个找五官的小模板,专业术语叫滤
波器,用这个小模板在要处理的图像上从左扫到右,从上扫到
下,看看能否发现眼睛,另外一个小模板负责发现鼻子等。什么
叫“发现鼻子”?就是负责发现鼻子的小模板是一张像鼻子的图
案,这个图案扫到鼻子处时重合度最大。什么叫提取特征?就是
一开始这个鼻子图案是个随机图案,像是随手那么一画,扫一遍
下来发现没有什么重合度,那就变一变这个图案,最后变得和犯
罪嫌疑人的鼻子很像时,重合度就会最大。等负责找出鼻子、眼
睛、嘴巴等的模板图案都和犯罪嫌疑人的吻合后就算训练成功
了。以后你输入一张照片,机器就可以飞速地告诉你这个是不是
犯罪嫌疑人。
在机器学习中,是机器自己寻找特征。一开始机器并不知道
要找哪些特征。所以这些小模板并不知道它们要找鼻子或眼睛。
这些小模板从开始的一个随机图形到最后一定会演变成五官吗?
答案是如果五官是人脸上最重要的特征,这些小模板到最后一定
会演变成五官。但神奇的是机器还能发现我们人类都没注意到的
人脸上的重要特征。假如我们多加一个小模板变成六个,这六个
中会有五个各自对应一个器官,还有一个就会找到一个新的特
征,如两眼之间的距离,或者口鼻之间的距离,等等。所以小模
板越多,抓到的特征就越多,识别就越准确。
现在你要问,这个小模板发现鼻子和前面讲的神经网络黑盒
子的调旋钮是什么关系?其实这个小模板就是一组旋钮,一个有
5×5=25个像素的小模板就相当于25个旋钮,每个像素的颜色浓度对应着一个旋钮的某个位置,调旋钮就是让小模板里的图案越来
越像犯罪嫌疑人的鼻子。我们之前讲过,这个“调旋钮”不是人工
调的,是算出来的。
现在我们可以看看到底省了多少计算量,如果一张图片是1
024×1 024≈100万像素,每个像素对应一个接收神经元,每层有
100万个神经元,这样一个全连接的神经网络每一层要有100万
×100万=1万亿次计算。现在只要五个小模板,每个负责找到五官
中的一个。每个小模板把图片上下左右扫一遍的计算量是
5×5×100万=2 500万次,5个模板就是1.25亿次。计算量变成了原
来的万分之一!
我现在可以告诉你什么叫“卷积”,上面说的小模板把图片上
下左右横扫一遍发现重合度的过程就叫卷积。你看这个唬人的黑
科技名词其实就是这么简单的一回事。
上面是对卷积神经网络的基本原理的一个通俗解释。对于想
更深入了解的读者可以看附录1中一个典型卷积网络的精确描
述。从附录1中可以看出卷积神经网络不仅是一个高阶的非线性
网络,也是一个无法用方程式表达的函数。给定一个训练数据
集,最后这些数据之间的相关性都会凝结在网络参数里。或者说
神经网络是数据相关性的“萃取器”。但萃取了哪些相关性?为什
么萃取这些相关性则是人们未必能理解的。比如人脸识别,机器
抓取的用于识别的人脸特征可能是人类不熟悉的那些特征,甚至
完全没有意识到的特征。对于那些人类感官无法感受的复杂数据
集,比如一个核电厂成千上万个子系统产生的数据以及它们之间
的相关性,那更是人类完全无法理解的。卷积神经网络能做哪些事
首先,几乎所有的图像类的处理,如图像分类、人脸识别、X光读片,都适合用卷积神经网络。图像分类最著名的大赛就是
斯坦福大学李飞飞教授创办的ImageNet(计算机视觉系统识别项
目,是目前世界上图像识别最大的数据库)大赛。这个大赛提供
1 000种不同物体的几百万张图片让参赛者训练自己的模型,参赛
时给大家一些新的图片让参赛者识别,看谁的识别准确率最高。
2012年辛顿的学生亚历克斯·克里捷夫斯基(Alex Krizhevsky)第
一次用一个5层的卷积神经网络就把多年徘徊在74%的准确率一举
提高到84%,震惊了业界。到2015年微软的152层ResNet把准确率
提高到了96%,超过了人类的准确率95%。从那以后进展就越来
越小。有些公司组织大量的人力,采集更多的训练图片,尝试更
多的小模板,更精心地微调那些旋钮,最后能达到比现有结果好
0.1%,然后就可以宣称自己是世界第一了。但这个世界第一意义
不大,因为没有在网络结构上和算法上有任何创新,当时人家一
个研究生Alex一举提高10个百分点,你扑上去几十上百人提高0.1
个百分点,不算本事。对不懂卷积神经网络的投资人、股民、政
府官员来说,这块“世界第一”的牌子还挺唬人的。但读到这里你
以后就不会被忽悠了。
更有用的是通过识别一张图片中所有的物体,甚至发现物体
之间的关系来“理解”这张图片。譬如机器看完一张图片后会说出
来“蓝天白云下,一位戴草帽的年轻妈妈在草地上教孩子学走
路,她们的小狮子狗在旁边卧着”。X光读片也是卷积神经网络一个很好的应用。假如要在胸片
中发现早期肺癌,就需要拿大量已经确诊的早期肺癌片子来训练
机器,这样训练好的机器就可以快速地发现肺癌。随着X光仪、CT机等医疗成像设备的普及,有经验的读片医生非常稀缺。特别
是在小城市、县城、乡村更缺乏这样的好医生。如果机器读片能
够达到甚至超过北京、上海大医院有经验的医生,将是普惠医疗
的一个巨大进展。我们在第六章会专门讲AI在医疗健康领域的应
用,包括X光读片的现状和挑战。
卷积神经网络虽然应用很广,但它解决不了一些重要的问
题,如股票预测和自然语言理解。下面我们就介绍可以解决这类
问题的另一个很牛的网络。
处理序列信息的循环神经网络
为什么需要循环神经网络
卷积神经网络可以处理图像分类和识别。图像信息处理的特
点是一张图像的所有信息同时给你,而且下一张图像和上一张图
像可以完全没有关系,就像是吃一盘饺子,先吃哪个后吃哪个都
无所谓。但自然界还有另外一类信息和图像不同,信息的先后顺
序很重要,不能前后颠倒,像自然语言、股票曲线、天气预报数
据等。和图像信息的另一个不同之处在于这些信息是连续产生
的,无法分成一块一块的,像一次喝进去一瓶啤酒,你无法清楚
地分成几十“口”,你就是这么咕嘟咕嘟连着灌下去的。我们把图
像这样不分先后的信息称为“空间信息”,把连续的、有先后顺序
的称为“时间信息”或“序列信息”。卷积神经网络每次能处理的信息都是个固定的量,所以不适合处理连续发生的信息。
于是,一种不同的神经网络——循环神经网络就应运而生
了,它的结构比卷积神经网络还复杂。但循环网络背后的直觉和
道理不难懂,其实掌握一门学科最重要的是理解背后的直觉,有
些研究生、工程师可以背很多方程式,写很多程序,但对背后的
直觉并不清晰,这就大大限制了他们的想象力和创造力。我们这
本书的目的不是要把大家训练成工程师,而是通过弄懂背后的道
理来对这个未来的大潮流有高屋建瓴的理解,从而产生全局性的
把握。
在介绍循环神经网络之前,我们先看个例子。譬如我们在下
面的句子里猜词填空:“我是广东人,会讲_____话。”在这里如
果我们没有看到第一句“我是广东人”就很难填空。这就是一个典
型的根据前面出现的信息对后面可能会出现的信息的预测。循环
神经网络就特别适合处理这类问题。这个网络有两个特点,分别
对应时间序列信息的两个特点:一是输入端可以接收连续的输
入,二是可以记住信息的先后顺序。
循环神经网络背后的直觉
现在我们看看循环神经网络如何做这样的预测。像其他神经
网络一样,第一步是训练机器。我们先一句一句地训练,比如训
练的第一句就是“我是上海人,会讲上海话”。一开始训练机器
时,给机器一个“我”字,机器会乱预测,比如预测出下个字是介
词“但”,可“我但”没意义。机器和训练样本一比知道自己错了,就去调黑盒子上的旋钮,一直调到机器会在“我”后面预测出“是”来。训练就是这样给机器读大量的各种各样的句子,当机
器读了很多以“我”开始的句子时,就会发现“我”后面一定是动
词,特别是关系动词或能愿动词,像“我是”“我要”。但“我”后面
可以有很多动词,“我想”“我吃”“我喝”,到底选哪个呢?这就需
要更前面的信息了。所以循环神经网络要存储前面的信息。当机
器读了很多“我是上海人,会讲上海话”“我是河南人,会讲河南
话”这类的句子后,就会慢慢发现规律,这时候你让它填“我是广
东人,会讲_____ 话”的空时,它就把我是“什么”人那个“什么”给
填进去了。
这时候你会问,这好像不用这么复杂的神经网络吧,只要统
计每个词后面出现的词的概率,然后预测哪个概率最高不就得
了?过去的确是这么做的,但效果不好,像我们前面举的例
子,“我”后面的可能性太多了。那你会接着说:“我们也统计前面
更多的字不就得了?”那我问你,统计前面多少个字呢?要不要
把词组和短句也作为一个单位来统计?但词组和短句多得数不
清,你怎么教会机器认识哪些是词组?你会发现越深究问题就越
多,而且问题变得无穷复杂,以至于都不知道该提取哪些特征。
而神经网络可以自动找到那些人类找不到的或者根本没意识到的
前后信息之间的相关性。就像我们之前讲到卷积神经网络不仅能
找到人脸的五官特征,还能找到人平时不注意的其他特征如两眼
间距等。
有兴趣的读者可以看附录2里面关于循环神经网络的技术介
绍。从附录2里可以看出由于循环神经网络里有反馈回路,整个
网络更是一个高度非线性、无法解析表达的网络。循环网络萃取出的数据在时间上的相关性更是人类无法感受和理解的暗知识。
因为人脑非常不善于存储很长一段时间的信息。
循环神经网络的神奇应用
循环神经网络的第一个重要应用是机器翻译。机器翻译最早
是语言学家手工写一大堆语法,然后根据单词出现的顺序用语法
把它们组织起来。这是典型的“专家系统”。我们前面讲过,这样
的手工系统无法应付千变万化的自然语言。后来的机器学习翻译
就是前面说过的统计方法,统计大量的句子中每个字出现在另外
一个字之后的频率,然后挑选最可能出现的那个字。我们前面也
说了这种方法的局限性。现在最新、最牛的机器翻译,从谷歌、Facebook、微软到百度统统都是用循环神经网络。翻译和前面的
填空例子相比,多了可用的信息。例如英文“I am Chinese,I can
speak mandarin”可以翻译成中文“我是中国人,会讲普通话”,机
器翻译除了可以根据前面出现的中文词预测后面的中文词之外,还可以根据整个英文句子和整个中文句子之间的对应关系来提高
预测的准确性。这就是目前最广泛使用的“编码器-解码器”翻译模
型。这里用两个循环神经网络,一个网络先把整个英文句子的结
构信息都压缩到一个字符中,然后第二个网络在一个字一个字地
预测时可以根据这个包含了整个句子的结构信息做辅助判断。机
器翻译正处在技术突破的边缘,一旦突破将给我们的生活带来巨
变。
机器学习不仅在科学技术的进步上大显神威,也开始进入人
文领域。循环神经网络第二个有意思的应用是写诗。我们会在第
六章中详细介绍。同样的道理,还可以写小说。只要让机器大量阅读一位作者的著作,机器就会学会这个作者的文字风格,甚至
可以写出海明威风格的《红楼梦》,或者曹雪芹风格的《老人与
海》。
循环神经网络很神奇,但我们下面要介绍的“强化学习”更神
奇。
AlphaGo与强化学习
机器学习迄今为止最让人类惊奇的表现就是下围棋。下围棋
的问题是当我每走一步时,如何使得最终赢棋的概率最大?如果
我不走150步,只走两步,每步双方只随机选5种走法,我走第一
步有五种选择,对方对我这五种选择的每一种又有五种选择,我
走第二步一共有5×5×5=125种选择。但通常走完两步离终局还很
远,那我从走完第二步的这125个位置上各派出一批“侦察兵”,每个“侦察兵”蒙着头一条道走到黑,看到岔路任选一条,尽快走
到终局,如果猜对了,给这个出发点加一分,猜错了,减一分。
从每个位置上派出的“侦察兵”越多,从这125个出发点到终局的
赢率就越准确。这个“有限出发点,随机侦察”的方法有个唬人的
专业名字叫“蒙特卡洛树搜索”。蒙特卡洛是摩纳哥的赌场区,所
以蒙特卡洛就是“随机”的意思。
但这种下棋策略只能勉强达到一二段的业余水平,与围棋大
师相比还差得很远。为什么?
因为“侦察兵”往前走时随机选岔道实际上是随机地替对方选
了走法。我们不禁会想到:见到岔路随机选多笨,完全可以根据阳光、藓苔、足迹这些东西做个判断。“侦察兵”很委屈地说:我
怎么知道该怎样判断?AlphaGo寻思说:“人类2 000多年下了那么
多盘棋,咱能不能先学学?”这时候AlphaGo祭出了大法器,就是
我们前面讲过的卷积神经网络。
卷积神经网络最适合处理图像,经过大量图片的训练后,你
给它个新的图片,它告诉你是猫、狗、汽车的概率分别有多少。
对于下棋,问题转化成:给个中盘,要判断哪种走法赢的概率最
大。在人类下过的棋局中,每个中盘都对应着一个走法。现在可
以把一个中盘看成一幅图像,把对应的走法看成与这个图像对应
的物体。现在找到中盘最好的走法就相当于判断这幅图像最像哪
个物体。那我就拿人类下过的棋局来训练AlphaGo里负责走子的
卷积神经网络——决策网络。现在把3 000万个人类走过的中盘输
入给决策网络,调整决策网络上的旋钮,一直到这个网络的走法
和人的走法类似。现在AlphaGo已经是七八段的水平了,但还打
不过大师,为什么?虽然现在“侦察兵”每一步都是按人类的走
法,但“侦察兵”的每一步只是替对方随机选一个。如果能让对方
的选择也按人类的走法,这条路对弈下去就更逼真了。AlphaGo
这时候拔了身上一根毫毛,吹口仙气儿,“变!”又“变”出一个一
模一样的AlphaGo。哥俩都是八段,再大战百万回合,又摸索出
很多原来人类没有探索过的捷径,又产生了很多数据,继续训练
决策网络,没多长时间就打败了李世石,再练一阵子,在网上打
出Master的旗号,横扫天下高手,无一失手,直至把柯洁挑下
马。
前面介绍的无论是卷积神经网络还是循环神经网络都需要大量的训练数据,这也叫“监督学习”。在“监督学习”中通常有唯一
或明确的答案,猫就是猫,狗就是狗。但生活中还有一类问题是
没有明确答案的。例如我们学习骑自行车,没有人能说清楚正确
姿势是什么,不管你姿势多难看,骑上去不摔倒就是对的。这类
问题的特点是答案不唯一但知道结果的对错。这种通过每次结果
的反馈逐渐学习正确“行为”的算法就叫“强化学习”。在强化学习
算法中有一个“奖惩函数”,不同的行为会得到不同的奖惩。譬如
我们在楼里打电话时,如果信号不好,我们就拿着手机,边走边
问对方“能听到吗?”。我们得到的信息并不能直接告诉我们哪里
信号最好,也无法告诉我们下一步应该往哪个方向走,每一步的
信息只能让我们评估当前的状况是更好还是更差。我们需要走
动、测试,以决定下一步应该往哪儿走。AlphaGo的随机树搜索
就是强化学习,通过派出“侦察兵”来测试某种走法的赢率。赢了
加一分,输了减一分,这就是强化学习中的奖惩函数,存储各种
走法输赢积分的网络也叫“价值网络”。哥俩对战就是站在人类肩
膀上的强化学习。所以AlphaGo是监督学习和强化学习的混合方
式。
在AlphaGo的学习过程中,人类的3 000万中盘仅仅把它领入
门而已,进步主要靠哥俩自己厮杀。相当于你去学围棋,一开始
跟着你爸学,你爸就是个业余选手,你两个星期就跟你爸学不了
什么了,以后都要靠自己琢磨了。AlphaGo也一样,想清楚这
点,干脆从零开始,人类2 000多年积累的东西也许就是老爸那点
业余水平,学不学无所谓。AlphaGo Zero横空出世了,这
个“Zero”就是从零学起的意思。AlphaGo Zero从一开始就是哥俩
自娱自乐,和AlphaGo不同的是,在下每一步棋之前,不需要随机地选125个出发点了,而是根据当前的小路“记号”和打分先在
这个中盘选一个最可能赢的走法和“双胞胎弟弟”试走一次到终
局,试走过程中每一步双方都用同一个决策网络指导如何走子。
这个决策网络的功能很简单:给我一个中盘,我告诉你所有走法
的赢率,这样一次到终局后就对从这个走法出发的路是否能赢多
了点信息。一路上边走边做记号,第一,记住有没有走过这条
路;第二,等到了终局后根据输赢再记下这条路的好坏。这
个“做记号”就是不断更新价值网络。这样在同一个中盘哥俩试走
了几万次到终局,基本摸清哪条路好走,哪条路不好走,也就是
对于这个中盘我已经估摸出了所有走法的赢率。此时,我用几万
次试走出来的赢率来更新决策网络。更新的方法就是用这个中盘
做网络的输入,调试网络权重系数让输出的各走法赢率接近试走
测出来的赢率。这一切做完后再根据测出的赢率郑重地正式走一
步棋。哥哥下完一步该弟弟走了,弟弟的程序和哥哥完全一样,也是先试走许多次,用测出来的赢率更新决策网络,再根据测出
来的赢率走子。以后哥俩就这么不断重复下去。AlphaGo Zero诞
生后的第一局的第一个中盘,哥俩完全是乱下,但第一盘走完就
多了一点点知识,哥俩用这点可怜的知识走第二盘就比第一盘靠
谱了一点点,架不住计算能力强大,AlphaGo Zero每秒钟可以走8
万步,平均一盘棋不到400步,所以哥俩一秒钟相当于下200盘
棋。每盘长进一点,到第7个小时,也就是相当于下了500万盘棋
后就下得像模像样了。一天半后,也就是相当于下了2 600万盘棋
后就超过了战胜李世石的AlphaGo Lee。3天后,AlphaGo Zero就
和AlphaGo Lee打了个100:0。AlphaGo Lee一共学了3 000万个中
盘,大致相当于3 000万400=8万盘棋,这时AlphaGo Zero已经相
当于下了5 100万盘棋。21天后就打败了横扫天下无敌手的AlphaGoMaster,到40天后哥俩已经妥妥地称霸天下,独孤求
败。到这里,AlphaGo团队终于松了口气,放下了原先的一个最
大担忧:如果不让人类引进门,从零学起,这哥俩会不会在野地
里瞎逛,在林子里迷路,像梦游一样原地绕大圈,永远都走不出
来。这证明了在强化学习中只要每一步都知道对错,有惩罚奖
励,哥俩很快就会放弃那些明显不通的绝大部分的道路,很快就
会找到一条正路。AlphaGo用了1 200个CPU,176个GPU,而
AlphaGo Zero只用了4个TPU(张量处理单元)。计算资源的大幅
度下降主要来自算法的精简,不需要用人类数据训练了。由此可
见,在不同的应用场景下,数据并非都那么重要。在下围棋这件
事上,人类的经验反而拖了后腿。AlphaGo Zero给我们最重要的
启示是柯洁说的那句话,“人类下了2 000年围棋,连边儿都没摸
着”。非常原始的机器在自己摸索了36个小时后,就超过了全人
类2 000年来摸索积累的全部围棋知识。
现在请大家思考三个问题:
为什么AlphaGo Zero从零学起反而比人强?
AlphaGo Zero再从头学一遍,功力还和原来一样吗?
AlphaGo Zero是不可战胜的吗?
神经网络悖论
读者到这里会发现一个悖论:神经网络是模仿人脑,怎么能
够发现和掌握人脑无法掌握的知识?我们知道目前的半导体芯片
中的人工神经网络只是对大脑的一个简单模仿,无论是在神经元数量还是在连接的复杂性上都远不如人脑。到底是什么原因使得
人工神经网络能够在发现隐蔽的相关性方面远超人脑,创造出如
此多的神迹呢?
第一个原因是人的感官和机器的“感官”相比实在太差。人的
感官在几亿年的进化中主要是为了在自然界中觅食和求偶。所以
只能感受到部分外部世界信息。比如眼睛只能看到光谱中的可见
光这一小段,无法“看见”从无线电波到毫米波再到远红外的电磁
波,也无法“看见”从紫外线到X射线再到伽马射线。人的耳朵也
听不到20赫兹以下的亚声波和20 000赫兹以上的超声波。不仅如
此,人类的视觉和听觉对强度的分辨率非常粗糙,只能分出数量
级。人类的触觉、嗅觉、味觉分辨率更是粗糙。而机器的“感
官”,就是各类物理、化学、生物类的传感器则比人的感官精密
得多。不仅可以“感受”到人类感受不到的信息,对信息的分辨率
也远超人类。如果有办法把这些传感器信号不经过人类感官直接
输入大脑,人类大脑也能和机器一样发现数据间复杂隐蔽的相关
性吗?大脑能处理高分辨率的外界信息吗?我们可以合理地推测
出大脑的进化应该和感官相匹配。如果感官只能提供低分辨率信
息,大脑处理高分辨率信息的能力就是一种浪费,这种功能要么
不可能演化出来,要么即使偶然变异出来也会被进化无情地消
灭。
第二个原因是电子神经元比生物神经元的传输信号速度快,准确度高。由于人脑神经元在突触部分的信号是通过化学分子传
导的(细胞膜内外带电的离子浓度差造成电压差),每秒钟大约
只能传导400次信号。而电子神经元间的传输速度就是芯片上不同晶体管之间的传输速度,比人脑神经元要快几万倍。人脑神经
元突触之间的传输非常不可靠,平均每次传输的成功率只有30%
(这种随机性也许是意识“涌现”的重要条件之一),而电子神经
元之间的传输可靠性几乎是100%。人脑神经元由于结构复杂,不
同神经元之间的电信号会互相干扰,而电子神经元之间的干扰可
以忽略不计。所以人脑神经元是一个慢腾腾的老出错的系统,而
电子神经元是一个高速的精密系统。
第三个原因是目前还没有办法获得大脑内部每一个神经元的
连接强度。即使我们有办法把外界传感器信号直接输入大脑,大
脑也可以处理这些信息,这些信息也只能被雪藏在一个人的脑子
里,成为无法沟通、无法传播、无法记录的默知识。但电子神经
网络中的每一个神经元之间的连接强度,也就是两个神经元连接
的权重系数都是可以存储、提取的。所以机器获得的暗知识是可
以传播、复制、记录的。
所以对这个悖论的回答是,人工神经网络虽然是模仿大脑,但它具备了人类没有的三个优势:能“感受”人类感受不到的信
息,与人脑相比又快又准,每一个神经元的状态都是可测量的。
神经网络五大研究前沿
之前介绍的几种神经网络都是目前商用中的主流算法,但机
器学习的潜力还远没有被挖尽,现在每年关于机器学习的论文还
在呈指数级增长,在研究型的大学里任何关于机器学习的课程都
爆满。可以预期在今后3~5年中还会不断有新的算法突破,下面
介绍的都是目前炙手可热的研究方向,每一个方向的突破都会产生巨大的商业价值。
非监督学习
在前述的机器学习算法中,我们总有一个训练数据集合,即“标注数据”,如所有汽车图片都会标注上“汽车”,所有猫的图
片都会标注上“猫”等。这样在训练的输出端,我们就知道结果是
否正确,因此可以用正确结果和输出结果的差来训练机器(调整
各层的权重系数),就像一个妈妈教孩子认识东西,这类算法
叫“监督学习”。在机器学习中还有一种算法不依赖于“标注数
据”,叫“非监督学习”,像一个孩子在没人教的情况下自己学习。
非监督学习最常用的情形是分类,例如一个孩子见过许多猫和狗
后,如果大人不告诉孩子这两种动物的名字,孩子也许不知道名
字,但慢慢会知道猫和狗是两种不同的动物。在商业上有很多应
用,例如在营销上面可以根据人群的不同属性将其划分成不同人
群进行精准营销;在社交媒体上面,可以根据人们之间的互动次
数,划出每个人的朋友圈子;在医疗诊断上面可以根据不同症状
之间的相关性更精确地预测还未发现的疾病;等等。
增量学习和连续学习
目前的机器学习算法都是“离线训练”,先用一大堆数据训练
模型,训练完测试好就拿去做识别用,在识别过程中,这个模型
是固定的。如果发现了新的情况,有了新的训练数据,就要把新
数据和原来的老数据合在一起重新训练这个模型,训练完还要重
新测试才能使用。许多互联网巨头每个月都要训练几十万个模
型,目前的计算量主要在训练上。增量学习就是当有新数据时,只用新数据训练原来的模型,使机器在原有的识别功能之上增加
新的识别功能。连续学习就是能够边识别边学习。这两种学习算
法都还在研究的早期阶段。
生成对抗网络
监督学习的最大问题之一就是需要大量人工标注的数据。在
很多情况下,要么没有数据,要么标注的工作量太大。生成对抗
网络(Generative Adversarial Network,GAN)解决了这个问题。
因此GAN成为目前最炙手可热的非监督学习算法之一。
GAN减少深度学习训练所需的数据量的方法是:从少量的已
有数据出发去创造出更多的新的标注数据——多数情况下是图像
数据。
图3.13是GAN的示意图,图中有两个深度神经网络:G和D,其中G是生成网络,D是鉴别网络。生成网络的任务是根据一组
真实、有限的数据(例如一组图片)生成更多类似但不同的数
据。然后把这些生成的数据和真实数据混在一起喂给鉴别网络。
鉴别网络的任务是使用很少的真实数据训练后,分出哪些是真实
数据哪些是生成数据。如果生成网络生成的数据能被鉴别网络认
出来不是真实数据,就说明生成网络模仿得不够真实,需要继续
调整网络参数,目的是让鉴别网络分不出来。如果鉴别网络分不
出来真假,就说明鉴别网络不够好,需要继续调整参数分出真
伪。这样“道高一尺,魔高一丈”地持续对抗下去,两个网络就越
来越好:生成网络模仿得越来越真,鉴别网络越来越“火眼金
睛”。当两个网络打得难解难分时,生成网络生成出来的数据就和真实数据无法分辨。当缺乏足够多的真实数据时这些生成数据
就可以用于神经网络的训练了。
图3.13生成对抗网络
可以把这个过程想象为一个警察和假币伪造者之间的比拼,伪造者想把假币做得像真的,警察希望看到任何钞票时都能鉴别
出真伪。两个对抗网络也在彼此学习,也就是说,当一个网络努
力去鉴别假币时,另一个网络就能把假币做得越来越真。另一个例子是生成对抗网络可以模仿名画。经过训练之后的
最终结果是,一个网络可以像凡·高、毕加索一样作画,另一个网
络能以你闻所未闻的洞察力鉴别画作。这对于医疗等领域来说非
常重要,在这些领域中,由于隐私的需要,可用的数据非常有
限。GAN可以填补缺失的数据,自行制作完全“臆造”的病患数
据,而这些数据在用于训练AI时和真实数据同样有效。深度生成
模型有广泛的应用,包括密度估计、图像降噪(从低分辨率或高
噪音的图像中生成高品质图像)、图像修复(从部分残缺的图像
中恢复完整图像)、数据压缩、场景理解、表征学习、3D场景搭
建、半监督分类或分级控制等。
相比判别模型(例如CNN),生成模型更厉害的原因如下:
(1)能够从数据中识别并表现出隐藏的结构,例如三维物
体的旋转、光强、亮度或形状等概念。
(2)能够想象世界“可以是什么样”,而不是仅仅展现世
界“已经是什么样”。
(3)通过拟合并生成近似真实的场景,可以预见未来。
迁移学习
迁移学习的一个例子是当一个神经网络学会了中文翻译成日
文,再让它学德文翻译成英文时就比从头训练要花的时间少得
多。这里面的道理在于语言的结构有很多相似的地方,一旦掌握
了这些结构,学习下一个就快了。这和人的技能学习类似。可以
想象,只要两种任务的结构有相似之处,就可以用迁移学习的方法。
学习如何学习
学习如何学习也叫“元学习”。目前所有的神经网络都是为了
一个单一任务而被设计和训练的。换一个不同的任务,例如从识
别图片换成学下棋,原来的机器就完全不工作了。目前的所
谓“元学习”并非让机器和人一样掌握举一反三的能力,而是让同
一个机器适应更多种类的工作。一个办法是训练时用多个种类的
任务来训练。另一个办法是把机器分为两个层次:学习任务的机
器和观察学习过程的机器。如果后者能够领悟出不同任务之间的
相关性,就可以更快地学习新任务。
神经网络可以有许多不同的结构,例如不同的层数、不同的
连接方式,等等。把这些结构看成一个可能的空间,让机器自己
在这个空间中寻找对给定问题的最佳结构。
深度学习的局限性
上面介绍了一些目前最热的神经网络,例如卷积神经网络、循环神经网络、强化学习、生成对抗网络等,它们有很多神奇的
地方,在实际中也得到了相当广泛的应用。但神经网络也好,深
度学习也好,都不是万能的,它们有其自身的局限性。
神经网络的一个局限性是,需要依赖特定领域的先验知识,也就是需要特定场景下的训练,说白了就是神经网络只会教什么
学什么,不会举一反三。神经网络的这个局限性,是因为神经网络的学习本质上就是对相关性的记忆,也就是说神经网络将训练
数据中相关性最高的因素作为判断标准。打比方说,如果一直用
各个品种的白色狗来训练神经网络,让它学会“这是狗”的判断,神经网络会发现这些狗最大的相关性就是白色,从而得出结论:
白色=狗。在这种情况下,让这个神经网络看见一只白猫,甚至
一只白兔子,它仍然会判断为狗。机器学习的这种呆板行为,用
专业术语描述叫“过度拟合”。如果想让神经网络变得更聪明,就
必须用各种颜色、各个品种、是否穿衣服等各种场景下的狗来训
练神经网络,如此它才有可能发现不同的狗之间更多的相关性,从而识别出更多的狗。人类则不同,一个两三岁智力发育正常的
孩子,在看过几只狗之后,就能认出这世上几乎所有的狗了。无
须大量标注数据和特殊场景的训练,只需要少量的数据,人脑就
可以自己想清楚这个过程。在这方面,目前的神经网络和人脑相
比,还有很大的差距。
再如前面提到的汽车和猫的例子,如果一直用正常的汽车来
训练这个神经网络,那么当神经网络突然看到图3.14的时候,很
有可能无法把它认作汽车,而觉得它更像猫。
这个问题在自动驾驶领域显得尤为突出,由于道路交通状况
的复杂性,各种交通指示标志的多样性,想把所有的道路交通场
景都训练到显然是不可能的。2016年特斯拉第一起自动驾驶致死
的事故也和这个原因有关。图3.14机器学习会把这辆汽车当成猫
神经网络的另一个局限性是无法解释结果为什么是这样,因
为人类无法理解暗知识,所以更无法解释。对于神经网络这
个“满是旋钮的黑盒子”,每个旋钮为什么旋转到那个位置,而不
是多一点或者少一点,都是无法解释的。这个不可解释性在许多
涉及安全和公共政策的领域都是很大的问题。例如,医疗涉及人
的健康和生命,医生的诊断需要根据极为严谨的医学逻辑,因此
医疗对于人工智能的可解释性要求远高于其他行业,极少有医院
或医生敢把无法解释的诊断结果用在患者身上。然而由于神经网
络自身不具备医学逻辑,其输出的结果也缺乏医学上的解释性,因此目前人工智能在医学上的应用,无论是影像识别还是辅助诊
断,都需要专业医生的复核,距离取代医生还有较大的距离。
人工智能之所以有上述两个局限性,主要是因为目前的神经
网络只有相关性的学习能力,没有因果推理能力,更无法把一步
一步推理的过程表现出来。因此,想要克服这两个局限性,我们
需要有因果推理能力的人工智能。要实现这件事情,人工智能需
要做的,不仅是识别场景,还需要将识别出来的场景和它具体的
功能以及想做的事情结合起来,从而实现合理的逻辑推理。
让我们看看人脑是如何理解一个场景的。当人进入一个新的
房间时,会很自然地对这个房间的大小,里面各个物品的大小、位置等有一个大致的认识。之后,人脑会把识别出的场景和物
品,与其功能一一匹配,例如,床是用来躺的,而且是一张双人
床可以躺两个人,椅子是用来坐的,杯子是用来喝水的,等等。然而值得注意的是,上述的几何重建和功能推理,其精度是和具
体任务相结合的。例如,人一开始看到杯子,会匹配它喝水的功
能,并看到它放在桌子上,判断距离自己两三米远,这个距离判
断是非常不精确的。然而当人真的需要喝水时,喝水成为一个任
务,人在走过去拿杯子的过程中,不断地、更加精确地判断自己
和杯子的距离,直到非常精确地拿到杯子。这个过程就是一个典
型的任务驱动的场景识别和功能推理。
此外,人类对于功能的推理,并非会拘泥于具体的物体,而
是能抽象出这个物体和功能有关的物理特性,从而匹配其功能。
仍然以喝水为例,如果房间里没有杯子,但是有一个瓢、一个盘
子、一根擀面杖,人会很自然地选择瓢作为喝水的工具(如果连
瓢都没有则可能选择盘子),因为瓢可以作为容器的物理特点和
杯子是一致的。而且,选择了瓢之后,人拿瓢的动作,喝水的动
作,都会和拿杯子不一样,这同样是由杯子和瓢不同的物理特性
决定的。由此可见,人对于物体的功能推理,是会根据任务的要
求,抽象其物理特性,从而推理它的功能并完成任务,因此人工
智能的场景识别和功能匹配,是需要基于场景和物体的物理特性
来完成的,而不仅仅是识别和标定具体功能。
这种基于任务驱动的因果推理和当前的神经网络的对比如
下。(见表3.1)
表3.1神经网络和任务驱动的对比资料来源:朱松纯,《正本清源》,2016年11月刊登于《视
觉求索》。
目前在这个方面探索的代表人物是加州大学洛杉矶校区
(UCLA)的图灵奖获得者朱迪亚·珀尔(Judea Pearl)教授以及他的同事朱松纯教授。他们认为可以建立一个基于常识之上
的“概率决策图”,也叫“概率语法图”。这个模型把人类的常识和
世界模型都包含进来,又采用贝叶斯原理,可以像人类一样不需
要许多数据就能学会,在处理许多问题上效率远高于神经网络。
在高科技领域,硅谷一家由斯坦福大学教授威德罗的弟子创办的
人工智能公司Vicarious得到了著名风险投资人蒂尔(Peter
Thiel)、特斯拉创始人马斯克、脸书创始人扎克伯格(Mark
Zuckberg)和亚马逊创始人贝佐斯(Jeff Bezos)的投资。他们也
是采用了概率决策图的方法。虽然目前他们是少数派,但也许若
干年后会异军突起,就像神经网络坐了50年“冷板凳”今天突然一
飞冲天一样。第四章
逐鹿硅谷——AI产业争霸战
导读
这一章不谈理论和技术,只谈AI的产业生态。对于想抓
住AI时代投资机会的人,这章提供了对AI产业和商业的一个
基础理解。没有读过前面章节的读者也可以直接读这一章。最新技术巨浪
人工智能毫无疑问是继移动互联网之后的一次超级大浪,其
规模和影响至少是互联网级别的。这次创新大浪启动的标志性事
件是2012年的ImageNet比赛。ImageNet目前有1 400万张图片,其
中上百万张有文字标注。标注的文字通常是用短语描述该图片的
内容(例如“草地上卧着的一条黄狗”)。ImageNet的比赛主要是
看谁的程序能够最准确地识别出图片的内容。在2012年以前,识
别主要是人工选择物体特征并且写出识别这些特征的程序,准确
率的最高水平一直在74%左右徘徊。2012年,亚历克斯·克里捷夫
斯基使用多层神经网络AlexNet一举把识别率提高了10个百分
点,达到84%。
这个突破性结果立即引起了产业界的强烈兴趣和关注。谷歌
大脑的负责人杰夫·迪恩(Jeff Dean)敏锐地发现了这个重大机
遇,他用了一年的时间说服了谷歌当时的CEO(首席执行官)兼
创始人拉里·佩奇(Larry Page),开始全公司大举转型AI,随后
Facebook、微软、百度等科技巨头纷纷跟进。如图4.1所示,在今
后几年,神经网络不断提高识别的准确率,终于在2015年达到
96%的准确率,超过了人类所能达到的95%。这些突破证明了机
器学习可以开始解决实际问题,也让工业界认识到了巨大的商业
潜力。但这个突破来之不易,AI走过了60年的艰辛道路。图4.1 2010—2015年ImageNet大赛历年识别准确率
图片来源:http:yann.lecun.com。
AI突破三要素
AI发展了60年,为什么到今天能够突破?这是由于长期积累
的三个条件成熟了。
第一个条件是计算能力。计算能力和半导体的集成度(在单
位半导体材料面积上可以集成的晶体管的数量)直接相关。从第
一个集成电路晶体管诞生以来,在过去的50年中,半导体的集成
度的增加速度基本遵循“摩尔定律”。1965年4月19日,《电子学》杂志(Electronics)发表了仙童半导体公司工程师戈登·摩尔
(Gordon Moore,后成为英特尔的创始人之一)撰写的文章《让
集成电路填满更多的组件》,文中预言半导体芯片上集成的晶体
管和电阻数量将每年增加一倍。1975年,摩尔在IEEE(电竞和电
子工程师协会)国际电子组件大会上提交了一篇论文,根据当时
的实际情况对摩尔定律进行了修正,把“每年增加一倍”改为“每两
年增加一倍”,而这个定律经过传播演化,变成今天普遍流行的
说法“计算机运算速度每18个月提升一倍,价格每18个月下降一
半”。1970年一个芯片上的晶体管数量约为1 000个,今天一个芯
片上的晶体管数量达到100亿个,不到50年中提高了1 000万倍。
相应地,计算能力也提高了1 000万倍。目前虽然单个芯片的晶体
管数量增加速度放缓,但人们开始把成百上千个芯片封装在一起
以便提高总的计算速度。
计算能力对人工智能的巨大推动还体现在一个标志性事件上
——GPU(图形处理器)被用于训练AI算法。2009年,斯坦福大
学计算机系教授吴恩达和他的博士生拉加特·蓝恩纳(Rajat
Raina)第一次提出由于神经网络中大量计算可以并行,用一个
GPU可以比双核CPU快70倍,原来需要几周完成的计算一天就可
以完成。之后纽约大学、多伦多大学及瑞士人工智能实验室纷纷
在GPU上加速其深度神经网络。赢得2012年ImageNet竞赛的
AlexNet同样用的也是GPU。从此之后,GPU就在神经网络的训
练和识别中树立了公认的王者地位。再到后来AlphaGo发威战胜
人类顶级围棋手,背后则是谷歌自行研发的专为深度学习使用的
TPU发挥了重要支撑,每个TPU可以提供10倍于GPU的计算能
力。在本章中将会详细分析为什么TPU比GPU快。第二个条件是数据。如果说算法是火箭发动机,那么数据就
是燃料。由于互联网的发展和各类传感器(例如在各种环境中的
温度、位置、压力等物理化学变量的测量,社会中大量摄像头的
存在)成本的大幅下降和广泛安装,根据IDC(互联网数据中
心)的监测统计,2011年全球数据总量已经达到1.8ZB(1ZB=1
万亿GB),相当于18亿个1TB的移动硬盘,而这个数值还在以每
两年翻一番的速度增长,预计到2020年全球将总共拥有35ZB的数
据量,增长近20倍。
这比从人类出现到计算机出现前产生的所有数据都多。以目
前的传感器技术发展速度,若干年后回头看今天的数据量,不仅
量小而且数据采集的密度和广度都远远不够。
第三个条件就是那批甘愿坐“冷板凳”的科学家经过了几十年
的积累,终于从2006年开始在算法上有了重大突破。当时在多伦
多大学任教的辛顿教授在美国《科学》杂志和相关的期刊上发表
了论文,证明了深度神经网络的能力和实用性。从此,基于多层
神经网络的深度学习理论成为本轮人工智能发展的重要推动力,相当于过去飞机从达·芬奇设计的扇翅膀的飞行器变成有螺旋桨的
发动机,人工智能的概念和应用开始一路攀升,语音识别、机器
视觉技术在几年间便超过了人类的水平。
正是算力、数据、算法这三个要素同步成熟,形成合力,终
于带来了今天AI的爆发。这三个要素中最重要的是计算能力的发
展和算法的互相促进。
金字塔形的产业结构一个产业的生态主要是指这个产业有哪些环节和这些环节之
间的关系,例如哪个环节是生态的瓶颈并掌握最强的砍价能力。
更深入的产业生态分析还包括各个环节的未来发展以及对整个生
态的影响。AI的产业生态如图4.2所示,是一个金字塔形的结构。
图4.2AI产业生态的金字塔形结构
金字塔的下层对上层有依赖性,但反之不成立。也就是说上
层是驱动力,是自变量,下层是驱动结果,是因变量。金字塔的
宽度大致对应市场规模和公司的数量。所以越上层对整个行业的
影响越大但市场规模越小,越下层市场规模越大但影响越小。
产业的皇冠:算法
我们前面说过,AI近年的突破性发展的三个驱动因素之一是神经网络算法的突破。其实这是三个因素中最重要的因素,因为
其他两个因素(计算能力和数据量)属于“搭便车”。目前研究算
法主要集中在美国的一流大学和几家超级互联网公司(谷歌、Facebook、亚马逊、微软、IBM、百度等)。大学的算法研究大
部分都是学术性和公开的,而大公司的算法研究最核心的只留给
自己用。专门研究算法的私人企业屈指可数,一家著名的算法公
司就是被谷歌收购的大胜围棋世界冠军的DeepMind。另一家是由
硅谷老将,曾经做出世界上第一台掌上电脑PalmPilot的杰夫·霍金
斯(Jeff Hawkins)创办的Numenta(公司名来自拉丁文mentis,意为“心灵”)。Numenta是一个由私人资助的研究所,他们过去
十几年专注于发展一种叫作层级时序记忆(Hierarchical Temporal
Memory,HTM)的算法。这种算法受大脑新皮质中锥体细胞的
启发,网络结构远比各种神经网络复杂。这种算法的一个特点是
可以连续学习。神经网络都有一个缺陷,在模型训练完毕后,如
果有新数据可以用,就必须把新数据和原来的老数据合并在一起
重新训练模型。而HTM的连续学习没有这个缺陷,当新数据来了
以后,只要继续把新数据喂给模型即可。HTM的第二个优势在于
可以将物理世界的基本常识融入模型。Numenta并不寻求直接提
供商业解决方案,而是仅仅提供算法的许可,让合作伙伴用自己
的算法来解决商业问题。Numenta还提供了开源的平台,让更多
的开发者在这个平台上完善HTM算法。从Numenta出来创业的威
德罗教授的博士生迪利普·乔治(Dileep George)基于HTM创办
了一家做机械手通用软件的公司Vicarious。相对于应用,纯粹做
算法的公司少得可怜,原因主要是缺乏商业模式。
技术制高点:芯片半导体芯片是一切信息技术的基础,有了芯片才有电脑和存
储,有了电脑和存储才有互联网,有了互联网才有大数据,有了
大数据才有人工智能。在这每一波的发展中,芯片都是最关键的
环节,芯片厂商总是处在霸主地位。在大型机时代,能够自己开
发芯片的IBM独占鳌头。在个人电脑时代,能够生产出最好的
CPU的英特尔成为新的霸主。在移动通信时代,高通
(Qualcomm)几乎垄断了手机芯片,直接挑战英特尔的霸主地
位。在云计算大数据时代,三星(Samsung)凭借自己在存储芯
片方面的优势成为世界半导体第一大厂家。在人工智能时代,谁
将是新的霸主?
这个新霸主的桂冠很可能落在硅谷的半导体公司英伟达
(Nvidia)头上。英伟达成立于1993年,创始人是出生于中国台湾,小时候随父母来到美国的斯坦福大学毕业生黄仁勋(Jen-sen Huang)。公司最初是做电脑图形显示卡,20多年来一直在研发销售图形显卡和图形处理芯片GPU。除了工业应用之外,图形显卡的最大市场是电脑游戏,今天高端电脑游戏里面几乎清一色用英伟达的显卡。当电脑游戏市场开始成熟后,英伟达也曾经想进入手机市场并收购过相应的公司,但是并不成功。直到2012年上天为准备好了的英伟达掉下一块“大馅饼”,这个馅饼就是我们前面提到过的2012年的ImageNet比赛。在这个比赛中取得突破的AlexNet的发明人亚历克斯就使用了英伟达的GPU,证明了GPU非常适合用于有许多并行计算的神经网络,比CPU快得多。在这之后的几年,其他人都开始采用GPU,比谁能将网络做得更大,层数更多。从此以后,GPU成了神经网络计算的引擎,相当于
CPU对电脑的作用一样。为什么GPU会成为神经网络计算的引擎?训练神经网络就相当于调黑盒子上的旋钮,调旋钮是通过数学的算法调的,这些旋钮动辄几十亿个,需要大量的计算。传统电脑用的是CPU,用CPU去调旋钮相当于调完第一个再调第二个,一个一个按顺序来,虽然现在CPU很快,但神经网络的旋钮实在太多了,连CPU都招架不住了,这时候GPU就出现了。
GPU和CPU不一样的地方是它一次可以同时调成千上万个旋钮,原来CPU几年才能调完的活GPU几天就干完了(有兴趣的读者可以看附录3中 ......
您现在查看是摘要介绍页, 详见PDF附件(10231KB,387页)。





