人工智能书籍汇总-人工智能之梦开始于一小撮20世纪初期的数学家
说来奇怪,人工智能之梦开始于一小撮20世纪初期的数学家。这些人真正做到了用方程推动整个世界。
历史的车轮倒回到1900年,世纪之交的数学家大会在巴黎如期召开,德高望重的老数学家大卫·希尔伯特(David Hilbert)庄严地向全世界数学家们宣布了23个未解决的难题。这23道难题道道经典,而其中的第二问题和第十问题则与人工智能密切相关,并最终促成了计算机的发明。
希尔伯特的第二问题来源于一个大胆的想法——运用公理化的方法统一整个数学,并运用严格的数学推理证明数学自身的正确性。这个野心被后人称为希尔伯特纲领,虽然他自己没能证明,但却把这个任务交给了后来的年轻人,这就是希尔伯特第二问题:证明数学系统中应同时具备一致性(数学真理不存在矛盾)和完备性(任意真理都可以被描述为数学定理)。
大卫·希尔伯特 David Hilbert 1862—1943
希尔伯特的勃勃野心无疑激励着每一位年轻的数学家,其中就包括一个来自捷克的年轻人:库尔特·哥德尔(Kurt Godel)。他起初是希尔伯特的忠实粉丝,并致力于攻克第二问题。然而,他很快发现,自己之前的努力都是徒劳的,因为希尔伯特第二问题的断言根本就是错的:任何足够强大的数学公理系统都存在着瑕疵:一致性和完备性不能同时具备。很快,哥德尔倒戈了,他背叛了希尔伯特,但却推动了整个数学的发展,于1931年提出了被美国《时代周刊》评选为20世纪最有影响力的数学定理:哥德尔不完备性定理。
尽管早在1931年,人工智能学科还没有建立人工智能书籍汇总,计算机也没有发明,但是哥德尔定理似乎已经为人工智能提出了警告。这是因为如果我们把人工智能也看作一个机械化运作的数学公理系统,那么根据哥德尔定理,必然存在着某种人类可以构造、但是机器无法求解的人工智能的“软肋”。这就好像我们无法揪着自己的脑袋脱离地球,数学无法证明数学本身的正确性,人工智能也无法仅凭自身解决所有问题。所以,存在着人类可以求解但是机器却不能解的问题,人工智能不可能超过人类。
库尔特·哥德尔 Kurt Godel(1906—1978)
但问题并没有这么简单人工智能书籍汇总,上述命题成立的一个前提是人与机器不同,不是一个机械的公理化系统。然而,这个前提是否成立迄今为止我们并不知道,所以这一问题仍在争论之中。
另外一个与哥德尔年龄相仿的年轻人被希尔伯特的第十问题深深地吸引了,并决定为此奉献一生。这个人就是艾伦·图灵(Alan Turing)。
希尔伯特第十问题的表述是:“是否存在着判定任意一个丢番图方程有解的机械化运算过程。”这句话的前半句比较晦涩,我们可以先忽略,因为后半句是重点,“机械化运算过程”用今天的话说就是算法。
然而,当年,算法这个概念还是相当模糊的。于是,图灵设想出了一个机器——图灵机,它是计算机的理论原型,圆满地刻画出了机械化运算过程的含义,并最终为计算机的发明铺平了道路。
Alan Turing (1912—1954)
图灵机模型形象地模拟了人类进行计算的过程。假如我们希望计算任意两个3位数的加法:139+919。我们需要一张足够大的草稿纸以及一支可以在纸上不停地涂涂写写的笔。之后,我们需要从个位到百位一位一位地按照10以内的加法规则完成加法。我们还需要考虑进位,例如9+9=18,这个1就要加在十位上。我们是通过在草稿纸上记下适当的标记来完成这种进位记忆的。最后,我们把计算的结果输出到了纸上。
图灵机模型
图灵机把所有这些过程都模型化了:草稿纸被模型化为一条无限长的纸带,笔被模型化为一个读写头,固定的10以内的运算法则模型化为输入给读写头的程序,对于进位的记忆则被模型化为读写头的内部状态。于是,设定好纸带上的初始信息,以及读写头的当前内部状态和程序规则,图灵机就可以运行起来了。它在每一时刻读入一格纸带的信息,并根据当前的内部状态,查找相应的程序,从而给出下一时刻的内部状态并输出信息到纸带上。
图灵机模型一经提出就得到了科学家们的认可,这无疑给了图灵莫大的鼓励。他开始鼓起勇气,展开想象的翅膀,进一步思考图灵机运算能力的极限。1940年,图灵开始认真地思考机器是否能够具备类人的智能。他马上意识到这个问题的要点其实并不在于如何打造强大的机器,而在于我们人类如何看待智能,即依据什么标准评价一台机器是否具备智能。于是,图灵在1950年发表了《机器能思考吗?》一文,提出了这样一个标准:如果一台机器通过了“图灵测试”,则我们必须接受这台机器具有智能。那么,图灵测试究竟是怎样一种测试呢?
假设有两间密闭的屋子,其中一间屋子里面关了一个人,另一间屋子里面关了一台计算机:进行图灵测试的人工智能程序。然后,屋子外面有一个人作为测试者,测试者只能通过一根导线与屋子里面的人或计算机交流——与它们进行联网聊天。假如测试者在有限的时间内无法判断出这两间屋子里面哪一个关的是人,哪一个是计算机,那么我们就称屋子里面的人工智能程序通过了图灵测试,并具备了智能。事实上,图灵当年在《机器能思考吗?》一文中设立的标准相当宽泛:只要有30%的人类测试者在5分钟内无法分辨出被测试对象,就可以认为程序通过了图灵测试。
图灵测试示意图
2014年6月12日,一个名为“尤金”(Eugene Goostman)的聊天程序成功地在5分钟内蒙骗了30%的人类测试者,从而达到了图灵当年提出来的标准。很多人认为,这款程序具有划时代的意义,它是自图灵测试提出64年后第一个通过图灵测试的程序。但是,很快就有人提出这只不过是一个噱头,该程序并没有宣传的那么厉害。例如,谷歌公司的工程总监、未来学家雷·库兹韦尔(Ray Kurzweil)就表示,这个聊天机器人号称只有13岁,并使用第二语言来回答问题,这成为了该程序重大缺陷的借口。另外,测试者只有5分钟与之展开互动,这大大增加了他们在短期内被“欺骗”的概率。
“尤金”聊天程序
由此可见,图灵将智能等同于符号运算的智能表现,而忽略了实现这种符号智能表现的机器内涵。这样做的好处是可以将所谓的智能本质这一问题绕过去,它的代价是人工智能研制者们会把注意力集中在如何让程序欺骗人类测试者上,甚至可以不择手段。所以,对于将图灵测试作为评判机器具备智能的唯一标准,很多人开始质疑。因为人类智能还包括诸如对复杂形式的判断、创造性地解决问题的方法等,而这些特质都无法在图灵测试中体现出来。
总而言之,图灵的研究无疑大大推动了人工智能的进展。然而,图灵本人却于1954年死于一个被剧毒氰化物注射过的苹果,享年仅仅42岁。传闻他是一名同性恋,这在当时的英国是非法的。于是英国政府强行给他注射一种药物抑制他的同性恋倾向,这导致他最终在治疗期间痛苦万分地自杀了。据说,苹果公司为了纪念这位计算机科学之父,特意用那个被图灵咬掉一口的苹果作为公司的logo。1966年,美国计算机协会设立了以图灵命名的图灵奖,以专门奖励那些对计算机事业作出重要贡献的人,这相当于计算机领域的诺贝尔奖。
就在哥德尔绞尽脑汁捉摸希尔伯特第二问题的时候,另外一个来自匈牙利布达佩斯的天才少年也在思考同样的问题,他就是大名鼎鼎的约翰·冯·诺依曼(John von Neumann)。
然而,冯·诺依曼远没有哥德尔走运。到了1931年,冯·诺依曼即将在希尔伯特第二问题上获得突破,却突然得知哥德尔已经发表了哥德尔定理,先他一步。于是,冯·诺依曼一气之下开始转行研究起了量子力学。就在他的量子力学研究即将结出硕果之际,另外一位天才物理学家保罗·狄拉克(Paul Dirac)又一次抢了他的风头,出版了《量子力学原理》,并一举成名。这比冯·诺依曼的《量子力学的数学基础》整整早了两年。
受到两次打击之后,冯·诺依曼开始把部分注意力从基础数学转向了工程应用领域,终于大获成功。1945年,凭借出众的才华,冯·诺依曼在火车上完成了早期的计算机EDVAC的设计,并提出了我们现在熟知的“冯·诺依曼体系结构”。
冯·诺依曼的计算机与图灵机是一脉相承的,但最大的不同就在于,冯·诺依曼的读写头不再需要一格一格地读写纸带,而是根据指定的地址,随机地跳到相应的位置完成读写。这也就是我们今天所说的随机访问存储器(Random Access Memory, RAM)的前身。
冯·诺依曼的计算机终于使得数学家们的研究结出了硕果,也最终推动着人类历史进入了信息时代,使得人工智能之梦成为了可能。
John von Neumann(1903—1957)
我们要介绍的最后一位数学家是美国的天才神童诺伯特·维纳(Norbert Wiener)。据说维纳三岁的时候就开始在父亲的影响下读天文学和生物学的图书。七岁的时候他所读的物理学和生物学的知识范围已经超出了他父亲。他年纪轻轻就掌握了拉丁语、希腊语、德语和英语,并且涉猎人类科学的各个领域。后来,他留学欧洲,曾先后拜师于罗素、希尔伯特、哈代等哲学、数学大师。维纳在他70年的科学生涯中,先后涉足数学、物理学、工程学和生物学,共发表240多篇论文,著作14本。
然而,与我们的主题最相关的,则要数维纳于1948年提出来的新兴学科“控制论”(Cybernetics)了。“Cybernetics”一词源于希腊语的“掌舵人”。在控制论中,维纳深入探讨了机器与人的统一性——人或机器都是通过反馈完成某种目的的实现,因此他揭示了用机器模拟人的可能性,这为人工智能的提出奠定了重要基础。维纳也是最早注意到心理学、脑科学和工程学应相互交叉的人之一,这促使了后来认知科学的发展。
这几位数学大师不满足于“躲进小楼成一统”,埋头解决一两个超级数学难题。他们的思想大胆地拥抱了斑驳复杂的世界,最终用他们的方程推动了社会的进步,开启了人工智能之梦。
Norbert Wiener(1894—1964)