PDF 物理页索引 3020
文件中的第 3021 页 · 印刷页码:未识别
来自物理学的论证
在1959年的一篇著名文章中,物理学家、诺贝尔物理学奖得主尤金·维格纳惊叹“数学在自然科学中不可思议的有效性”。由少量的观察推导出规律,是什么神奇的力量让这些规律可以运用到超出其预测范围的领域?这些规律都是基于数据得来的,而为什么这些规律比数据还要准确好几个数量级?最重要的是,为什么简洁、抽象的数学语言能够如此精确地解释我们无限复杂的世界?维格纳觉得这是一个很大的谜,觉得既幸运又无法理解。数学就是如此,而且终极算法就是其逻辑的延伸。
如果这个世界仅仅是一个不断变大、喧哗嘈杂的困惑体,那么我们有理由怀疑通用学习算法的存在。但如果我们所经历的一切,仅仅是几个简单规律的产物,那么单个算法能推导出所有一切能推导的东西,就是可以理解的。终极算法要做的就是提供一条捷径,通过实际观察,用简短的算式推导(而不是长长的算式)来得出这些规律的结果。
例如,我们虽然相信物理定律引起进化,但是不知道具体怎么进行。我们知道自己可以像达尔文那样,通过观察直接推导出自然选择规律。无数错误的推论就是由那些观察得出的,但多数人不会做出那些错误的推论,因为我们对世界有着广泛的认识,会对自己的推论形成良性影响,而且那些认识也与自然规律相符。
物理规律之美多大程度渗透到更高的领域(如生物学、社会学),这一点有待观察。但对混沌的研究提供了许多诱人的例子,这些例子和拥有相似行为的不同系统相关,而普适性理论可以解释这些例子。曼德布洛特集合(Mandelbrot Set)就是很完美的例子,能解释一个很简单的重复程序如何产生无数种类的形式。如果世界上的山峰、河流、云朵以及树木都是这些重复程序的产物(分形几何学表明它们就是),也许那些程序只是单个程序的不同参数化,而该单个程序可以从那些程序推导中得出。
PDF 物理页索引 3021
文件中的第 3022 页 · 印刷页码:未识别
在物理学中,适用于不同数量的方程,往往可以用来描述发生在不同领域的现象,例如量子力学、电磁学、流体动力学。波动方程、扩散方程、泊松方程表明:一旦我们在某个领域发现它们,也很快能在其他领域发现它们;一旦我们在某个领域懂得解开它们,也能在所有领域将它们解开。此外,所有这些方程都很简单,涉及几个和空间、时间有关的数量的相同导数。很容易想象,它们都是主方程的几个例子,而终极算法要做的,就是用不同的数据集来将它实例化。
另外的证据来自最优化。最优化是数学的分支,关注的是为函数找到输入值,使其产生最大输出值。例如,找到购买及销售股票的排序,用来最大化你的全部回报,这就是一个最优化问题。在最优化中,简单的函数往往能引出惊人的复杂方案。最优化几乎在每个领域都扮演十分重要的角色,包括科学、技术、商业,还有机器学习。每个领域在约束条件下进行最优化,该限制条件由其他领域的最优化状态来决定。我们努力在经济的限制下将幸福感最大化,这也是公司在受到当前技术水平限制下的最佳方案,反过来成为我们在生物学及物理学限制下能找到的最佳方案。反过来,生物学是进化学在物理学和化学的约束下进行优化的结果,而物理定律本身又是最优化问题的解决方法。因此,可能所有事物的存在,都是一个中心优化问题进一步的解决方案,而终极算法随着那个中心问题的叙述而产生。
不仅物理学家和数学家在寻找不同领域之间意想不到的联系,生物学家也在寻找。在《论契合:知识的统合》(Consilience)一书中,著名生物学家爱德华·威尔逊慷慨激昂地阐释了知识(从科学到人文学)的统一性。终极算法就是该统一性的完美表达:如果所有知识共同遵循一个模式,那么终极算法就存在,反之则不存在。
PDF 物理页索引 3022
文件中的第 3023 页 · 印刷页码:未识别
然而,物理学的简洁性独一无二。在物理学和工程学之外,数学的轨迹就更加混合。有时数学仅限于用起来有效,而有时它的模型又过于简单,无法使用。然而,过于简单的倾向源于人类思维的各种限制,而不是源于数学的种种限制。大脑的大多数硬件(或许该叫“湿件”)负责人体感知和活动,而为了做算术,我们就得借用因语言得到进化的那部分大脑。计算机就没有这样的限制,而且可以轻易地将大数据变成非常负责的模型。在数学的过度有效性与数据的过度有效性面前,你就会选择机器学习。生物学和社会学绝对不会像物理学一样简单,但我们发现其真理的方法可以做到那样简单。
来自统计学的论证
根据一个统计学流派的观点,所有形式的学习都是基于一个简单的公式——如我们所知,就是贝叶斯定理。贝叶斯定理会告诉你,每当你看到新的证据后,如何更新你的想法。一种简单的贝叶斯学习算法对世界进行一系列假设,由此开始进行学习。当它看到新的数据时,与该数据匹配的假设更有可能会成立(或者不可能成立)。在观察足够的数据后,某个假设会成立,或者几个假设同时成立。例如,我在寻找一个能够准确预测股票走势的程序,该程序预测某只股票会下跌,结果该股票却上涨了,那么该程序就会失去我的信任。我审核几个备选程序之后,只选择了几个可信赖的程序,它们概括了我对股票市场的新认识。
贝叶斯定理就是将数据变成知识的机器。据贝叶斯统计学派的观点,贝叶斯定理是将数据变成知识的唯一正确方法。如果该学派的观点正确,贝叶斯定理要么就是终极算法,要么就是推动终极算法发展的动力。关于贝叶斯定理使用的方法,其他统计学派持非常保守的观点,而且会更愿意用不同方法来对数据进行学习。在计算机发明出来之前,贝叶斯定理只能应用在非常简单的问题中,说它是通用的学习算法未免有点牵强附会。然而,在大数据和大计算的辅助下,贝叶斯定理在广阔的假设空间中找到了出路,而且已经扩展到每个人们能想到的领域中。如果说存在贝叶斯算法无法学习的东西,只是现在还没发现它们。
PDF 物理页索引 3023
文件中的第 3024 页 · 印刷页码:未识别
来自计算机科学的论证
我在大四时,用了一个夏天玩俄罗斯方块游戏,这是一个涉及方块叠加的电子游戏,游戏中由正方形组成的各种形状的图案往下掉,你要将这些图案堆起来,堆得越紧密越好。如果图案堆到屏幕顶部,那么游戏就结束了。当时我完全没有意识到,这就是我接触NP完全问题<sup>[4]</sup>的开始,这是理论计算机科学最重要的一个问题。后来我才知道,俄罗斯方块完全不是简单用来消遣的游戏,掌握这个游戏(彻底掌握它),就是你这辈子做得最有用的事情。如果你一步到位,解决了俄罗斯方块问题,你就解决了科学、技术、管理中数千个最难、最有意义的问题,因为本质上这些难题就是同一个问题。这是在所有科学领域中最让人惊讶的事实。
弄明白蛋白质如何折叠成特定形状;通过DNA来重新构建一系列物种的进化史;在命题逻辑中证明定理;利用交易成本来发现市场中的套利机会;从二维视图中推出三维形状;将数据压缩到磁盘上;在政治活动中组成稳定联盟;在剪切流中模拟湍流;按照给定回报率找出最安全的投资组合、到达几个城市的捷径、微芯片上元件的最佳布局方案、生态系统中传感器的最佳布局、自旋玻璃门最低的能量状态;安排好航班、课程、工厂工作;最优化资源分配、城市交通流、社会福利,以及提高你的俄罗斯方块分数(最重要的)——这些都是NP完全问题,意思是,如果你能有效解决其中的一个问题,就能有效解决所有NP类问题,包括相互间的问题。谁会猜到,这些表面上看起来迥然不同的问题,会是同一个问题?如果它们真的是同一个问题,就可以说一种算法能学会解决所有问题(或更准确地说,所有能有效解决的例子)。
PDF 物理页索引 3024
文件中的第 3025 页 · 印刷页码:未识别
在计算机科学中,P和NP是两类最重要的问题(很遗憾,名字不是很有助于记忆)。如果我们能有效解决它,那么这个问题就属于P;如果我们能有效找到其解决方案,那么这个问题属于NP。著名的P=NP的问题就是,能有效找到的问题是否可以得到有效解决。因为NP完全问题,回答这个问题需要的只是证明某个NP完全问题可被有效解决(或者无法被有效解决)。NP在计算机科学领域并不是最难的一类问题,但可以说,它是最难的“现实”类问题:如果在宇宙灭亡之前,你无法找到问题的解决方法,那你努力解决这个问题的意义在哪里?人类擅长给出NP难题的近似解,而相反,我们感兴趣的问题(如俄罗斯方块问题)往往涉及NP问题。人工智能的其中一个定义是,人工智能包括找到NP完全问题的所有启发性解决方案。为了找到解决方案,我们常常把问题变成可满足性问题,也就是典型的NP完全问题:给定的逻辑公式是否永远都是对的,或者它是不是自相矛盾?如果我们发明一种学习算法,能够学习解决可满足性问题,那么有充分理由认为,这个算法就是终极算法。
抛开NP完全问题,计算机的存在本身就明显预示着终极算法的存在。如果你穿越回到20世纪早期,告诉人们很快会有一种机器发明出来,能够解决人类所有领域的难题——所有难题都通过同一台机器解决,那么没有人会相信你。人们会说,每台机器只能解决一个问题:缝纫机不会打字,打字机不会缝纫。1936年,艾伦·图灵想象出一个奇怪的装置,它有一条纸带和机器头,头可以在纸带上进行阅读和书写,就是现在人们知道的图灵机。每一个可以想得到的、可以用逻辑推理解决的难题,都可以通过图灵机解决。此外,一台所谓的万能图灵机可以通过阅读纸带上的具体要求来模仿所有东西,换句话说,我们能够对图灵机进行编程,用它来做所有事情。
PDF 物理页索引 3025
文件中的第 3026 页 · 印刷页码:未识别
算法是归纳的过程,而学习的过程对图灵机来说,就是演绎的过程。图灵机能通过对算法输入、输出行为进行阅读来模仿其他算法。就像存在许多与图灵机对等的计算模型,可能也存在通用学习算法的许多不同的等价公式。然而,问题的关键是必须找到第一个这样的公式,就像图灵找到通用计算机的第一个公式那样。
机器学习算法与知识工程师
当然,有很多人支持终极算法,也有很多人怀疑终极算法。当某方法可以简单解决复杂问题时,存在怀疑符合情理。对终极算法最坚定的反抗来自机器学习永恒的敌人:知识工程。根据知识工程支持者的观点,知识无法自动被学习,必须通过人类专家编入计算机,才能对它进行学习。的确,学习算法能从数据中提取一些东西,但你不能将这些东西和真知识混为一谈。对知识工程师来说,大数据不是新石油,而是骗人的新蛇油。
在人工智能出现早期,机器学习似乎是通往类人智能计算机的途径。图灵和其他人认为,机器学习是唯一看似合理的途径。但后来知识工程师进行了回击,而且20世纪70年代机器学习处于次要地位。在20世纪80年代的一段时间,似乎知识工程师要接管世界了,还有许多企业和国家对知识工程领域进行大量投资。但后来人们开始对该领域失望,而机器学习也开始崛起,一开始悄无声息,后来就突飞猛进。
PDF 物理页索引 3026
文件中的第 3027 页 · 印刷页码:未识别
尽管机器学习成功了,知识工程师们还是觉得不信服。他们相信,机器学习的局限性很快会变得明显,钟摆会摆回来,局势会扭转。马文·明斯基是麻省理工学院的教授、人工智能的先驱人物,也是该阵营的重要成员。明斯基不仅怀疑机器学习能替代知识工程,他也怀疑人工智能的所有统一思想。明斯基在其《意识社会》(TheSociety of Mind)一书中提到了关于智能的理论,这个理论可以被不客气地归纳为“意识就是一个接一个该死的东西”。《意识社会》包含的就是一长串分散的观点,每个观点都毫不相关。这种实现人工智能的方法根本没什么用,它只是由计算机进行的收集活动。没有机器学习,需要建立智能代理的观点将会变得无限多。如果一个机器人掌握了人类所有的技能,但就是没有学习能力,那么人类不久就会把它扔在一边。
明斯基是Cyc项目(Cyc project)的狂热支持者,这是人工智能历史上最臭名昭著的失败项目。Cyc项目的目标是通过将所有必要知识输入计算机中,来解决人工智能问题。20世纪80年代这个项目刚开始时,它的领导者道格·莱纳特(Doug Lenat)就信心满满地预测,10年之内该项目就会取得成功。30年后,Cyc项目不停扩大,但仍无法做常理性推理。具有讽刺意味的是,莱纳特终于支持通过挖掘网页来将Cyc填满,这并非因为Cyc可以阅读,而是因为别无他法。
即使奇迹发生,我们能够对所有必要的数据进行编程,麻烦也会不断出现。过去几年,几个研究组已经尝试构建完整的智能代理,方法就是将所有算法集中起来,用于想象、语音识别、语言理解、推理、计划、导航、操作等。没有统一的结构,这些尝试将碰到“复杂性”这个难以解决的难题:有太多的活动件、太多的交互、太多的漏洞,可怜的人类软件工程师也难以应付。知识工程师相信,人工智能的问题仅仅是工程学的问题,但是我们还没达到那个点——工程学能带领我们走完下面的路。1962年,肯尼迪发表登月演讲。那时登上月球是一个工程学问题,但1662年,它就不是了,而当今它则更加靠近人工智能所在的领域。
PDF 物理页索引 3027
文件中的第 3028 页 · 印刷页码:未识别
在工业领域中,除了在一些利基领域,没有任何迹象表明知识工程学可以永远和机器学习竞争。为什么要花费精力来让专家缓慢而痛苦地将知识编码成计算机能识别的形式,而你明明可以在一秒内将其从数据中提取出来?你会怎么对待那些专家不懂,你却可以从数据中发现的东西?而当数据不足时,知识工程学的成本倒是很少会超过其带来的益处。反过来,想象一下,如果农民要将每株玉米进行工程化,而不去播种并让它们生长,那么我们都得挨饿。
另一个对机器学习持怀疑态度的人是语言学家诺姆·乔姆斯基。乔姆斯基认为,语言必须是与生俱来的,因为孩子听到的合乎语法的句子仅仅是一些例子,不足以学习语法。然而,这种说法仅仅将学习语言的任务交给了进化,它并没有反对终极算法,只是反对“终极算法是大脑”这个观点。此外,如果存在通用语法(乔姆斯基认为存在),阐发它就是阐发终极算法的步骤之一。这种情况不成立的唯一可能就是,语言和其他认知能力没有共同点,考虑到进化的近因,这令人难以置信。
无论如何,如果我们将乔姆斯基“刺激贫乏”论形式化,我们会发现这个观点很明显是错的。1969年,霍宁证明,概率上下文无关语法(probabilistic context–free grammar)只能通过正面例子掌握,后面紧跟的是更有力的结果(上下文无关语法是语言学家研究的内容,而概率类型模拟每个规则被使用的概率)。另外,语言学习不会发生在一个真空当中,孩子需要从父母和周围环境获取各种语言学习线索。如果我们能从几年时间里学习的例子中学习语言,部分也只是因为语言结构与世界结构存在相似性。对这个共同结构,我们感兴趣,而且从霍宁和其他人那里知道,有这个共同结构就足够了。
总体来讲,乔姆斯基批评所有统计学习。他把统计学习算法不能学习的东西列了一个单子,但这个单子已经过时50年了。乔姆斯基似乎把机器学习等同于行为主义了,根据行为主义,动物的行为沦为反应与奖励之间的联合,但机器学习不是行为主义。现代学习算法能够掌握丰富的内在表象,而不仅仅是刺激物之间的两两关系。
PDF 物理页索引 3028
文件中的第 3029 页 · 印刷页码:未识别
最后,事实胜于雄辩。统计学语言算法起作用了,而手工设计的语言系统却没起作用。第一件令人大开眼界的事发生于20世纪70年代,当时五角大楼的研究机构DARPA组织了第一个大型语音识别项目。让所有人惊讶的是,一种简单的序列学习算法——乔姆斯基嘲笑的类型,轻易地打败了一个复杂的知识系统。现在像这样的学习算法几乎用于每一个语音识别器中,包括Siri(苹果公司产品上的一项智能语音控制功能)。弗雷德·贾里尼克(IBM语音研究组的领导)说过一句著名的俏皮话:“每开除一名语言学家,我的语音识别系统的错误率就降低一个百分点。”20世纪80年代,陷入知识工程学的泥潭里,计算机语言学差点走向尽头。自那以后,基于学习算法的浪潮已经席卷这个领域,在计算机语言学会议中,几乎每篇文章都会提到学习。统计分析软件以近乎人类水平的精确度来分析文章,而手编程序已经远远落在后面。机器翻译、拼写纠正、词性标注、词义消歧、问题回答、对话、概括——这些领域的所有最好的系统都利用了学习。没有学习,沃森不可能在《危险边缘》游戏中战胜人类。
对此,乔姆斯基可能会回应,工程学的成功并不能证明其科学有效性。换句话说,如果你的楼房倒塌了,而且你的发电机不工作了,那么也许就是因为你的物理学观点有问题。乔姆斯基认为,语言学应该把重点放在他定义的“理想的”说话者和听话者上,这让他忽略了诸如类似的问题:语言学习过程涉及统计学。因此,很少有实验主义者拿他的理论当回事,这并不奇怪。
另外一个可能会反对终极算法的观点来自心理学家杰瑞·福多,他认为心理是由一系列模块组成的,这些模块之间只有有限的联系。例如,当看电视时,你的“高级脑”知道,那只是光线在光滑表面的闪烁,但视觉系统仍然会看见三维形状。即使我们相信心理模块理论,这个理论也并没有暗指不同的模块会使用不同的学习算法。同种算法对诸如视觉及语言之类的信息都起作用,这个说法才足够有力。
PDF 物理页索引 3029
文件中的第 3030 页 · 印刷页码:未识别
像明斯基、乔姆斯基和福多这样的批评家曾经占据上风,但万幸,他们的影响力已经逐渐减弱。即便如此,我们仍需将他们的批评铭记于心,这样才能到达终极算法这个终点,原因有两个:第一,知识工程师和机器学习算法一样,遇到许多相同的问题,虽然他们没有成功,但学到了许多宝贵的教训;第二,学习和知识以异常微妙的形式相互交织,而我们很快就会发现这一点。遗憾的是,这两个阵营各说各话。他们讨论不同的主题:机器学习讨论概率,而知识工程学讨论逻辑。本书后面会提到如何解决这个问题。
天鹅咬了机器人
“无论你的算法有多聪明,总有它无法掌握的东西。”除了人工智能和认知科学,反对机器学习的常见观点几乎都可以用这句话概况。纳西姆·塔勒布(Nassim Taleb)在《黑天鹅》(The BlackSwan)一书中强调了这个观点。有些事真的无法预料。如果你只见过白天鹅,会觉得看到黑天鹅的概率是0。2008年的金融危机就是一只“黑天鹅”。
有些事可预料,而有些事却不能预料,这个说法是正确的,而机器学习算法的首要任务就是区别可预测的事与不可预测的事。但终极算法的目标是要学习一切能认知的东西,这比塔勒布和其他人想象的要广阔得多。房地产泡沫还远远不是一只“黑天鹅”,相反,房地产泡沫是经过人们普遍预测的。大多数银行的模型没能预测它的到来,也只是因为那些模型的局限性,而不是机器学习的局限性。学习算法很擅长精确预测稀有、未曾发生的事件。甚至你也可以说,这是机器学习的主要任务。如果你没见过黑天鹅,那么它出现在你面前的概率是多少?它是已知物种的一部分,最后变成黑色的天鹅,这样的概率是多少?这仅仅是一些粗略的例子,我们会在本书看到更深刻的例子。