编者按:【作为最能体现人类终极幻想的领域,人工智能从诞生名字至今,整一甲子。如同英雄铸就历史丰碑一样,天才和大牛开拓了和开拓着AI的新局面。BigTalkAI上期人物:Alan Turing,本期人物:John McCarthy。江湖不远,高手就在身边,一起看他们的故事。】
篇前语:
上次写图灵的故事,用了很久时间,但好在图灵如同李白一样,充满了天才的故事性,处处都可发挥;而这次写麦卡锡,真的是不一样,麦卡锡是个理性的家伙!这位数学系出身、发明机器下棋算法、以常识逻辑推理和LISP语言奠定江湖地位的大人物,思考、理论、算法和语言贯穿了他的一生,而要详细的理解这位大师,不得不钻到语言程序和他的世界东看看西瞅瞅,但即使这样,也让我累的够呛,写的好慢啊……
有人把麦卡锡称作人工智能之父,在我看来,或许叫他人工智能之母更合适,因为如果把AI视作一个婴儿,给他起名字,教他语言,这不更类似于母亲么。
原创 | 文/杨杰
【人工智能风云人物之二】麦卡锡的故事
如果约翰·麦卡锡(John McCarthy)能活着看到2016年3月份的AlphaGo与韩国围棋大师李世石的决战,我肯定他会说:No!这不是我想要的。
为什么这么说?19年前(1997年5月),IBM的“深蓝”(Deep Blue)超级电脑击败当时的国际象棋世界冠军盖瑞.卡斯帕罗夫(Garry Kasparov ),那一场胜利为人工智能(AI)赢得了深远意义的喝彩。
▲ 图上一:2016年,AlphaGo对弈李世石;图上二:1997年,深蓝对弈卡斯帕罗夫
麦卡锡在深蓝赢得比赛后写下感言:“我们也许有些科学建树,但更多的成就是我们创造了飞得快的果蝇。”果蝇是什么?因其具有“生活史短、繁殖力强、容易饲养”等优点,被采用来做遗传实验,其实就是小白鼠的意思。
换言之,这并不是他想要的人工智能。
第一幕 | α-β搜索法:冯·诺依曼的影响
高校常常邀请各界大佬讲座或研讨交流,这种活动常常以一种新鲜的视角展示了某些行业或领域的发展和探索,会议探讨的很多观点都是书本上所没有,这种讲座常常能够引来很多学生的关注,有时还能影响学生的专业选择或发展路线。
1948年9月,21岁时正在读研究生的约翰·麦卡锡就有了一次这样的人生际遇。
▲ 图:年轻时的麦卡锡
因为在校参加了一个“脑行为机制”的专题讨论会,而这次会基本属于当时的高精尖研讨会。会上,神级大师冯·诺伊曼发表了一篇关于自复制自动机的论文,提出了可以复制自身的机器的设想,这激起了麦卡锡的极大兴趣和好奇心,自此就开始尝试在计算机上模拟人的智能,只不过他是以计算机下棋来做载体进行研究。
下棋程序的关键之一是如何减少计算机需要考虑的棋步。当时的计算机,运算能力是宝贵的,每一步棋都有各种算法,都运算起来耗费资源巨大,同时效率上也不够快。麦卡锡经过艰苦探索,终于发明了著名的α-β搜索法,使计算机“明白”并不是所有情况都得考虑,有效减少了计算量,使搜索能有效进行。
▲ 图:年α-β搜索法示意
用一个最简单的例子可以说明这种算法。假设在取火柴棍的游戏中,A、B两人轮流从N根火柴中取1根或2根,不得多取,也不能不取。取走最后一根火柴者胜。用A(n)、B(n)表示轮到A或B时有n根火柴的状态,当n:5时轮到A取,A有两种可能,一是取2根火柴进入B(3),另一是取1根火柴进入B(4)。显然,进入B(3)后,不管B取几根,A必胜,故A必走这一步,余下的分支不必再搜索了。
α-β搜索法的成功,以及麦卡锡的聪明天赋,使得他继续保持在机器模拟人的智能方面持续钻研。麦卡锡在普林斯顿大学博士毕业后,留校工作两年,后又到斯坦福大学工作两年,达特茅斯学院是他的第三份教职。
结合自己在智能领域的兴趣,或许也希望能在人工智能方面继续创新突破,麦卡锡酝酿了一场高精尖的攻坚会议。
第二幕 | 里程碑:达特茅斯的一场会议
现在一说起人工智能,公认的源头是达特茅斯会议。
而在说这场会议之前,不得不提神奇的达特茅斯学院(Dartmouth College)。达特茅斯的神奇在于:美国私立八大常春藤盟校中唯一叫“学院”而不叫“大学”的大学;有着全美极高的入学门槛,本科教学质量连续多年全美第一;长青藤院校中学生规模最小,但校友捐款数目最多;一年分四期独特学制,学生每年只要任选三期在校学习……
▲ 图:达特茅斯学院
在计算机和网络方面,达特茅斯步步领先:美国大学中最早普及计算机终端设备(20世纪60-70年代),是校园网电子邮件的发端地并融入师生教学和生活,无线网络(WiFi)遍布校园各个角落,是全美无线化做得最好的高校之一。
1995年夏天,身为达特茅斯学院数学助理教授的约翰·麦卡锡联合了马文·明斯基(M. L.Minsky,哈佛大学数学与神经学初级研究员),纳撒尼尔·罗切斯特(N. Rochester,IBM第一代通用机701的主设计师并对神经网络素有兴趣),香农(C.E. Shannon:贝尔电话实验室数学家)等四人一起组织发起了“人工智能夏季研讨会”(Summer Research Project on Artificial Intelligence)。
▲ 图:达特茅斯会议发起者,卡通代表N. Rochester
麦卡锡在提案中写到,他将研究语言和智能二者间的关系,希望能通过程序计算机能“进行棋类游戏、并完成其他任务”。这场研讨项目获得了洛克菲勒基金会的微薄赞助,会议得以在1956年成功召开。这是人工智能(Artificial Intelligence)一词首次登上科技历史的舞台。
2006年,麦卡锡在接受CNET采访时说:“提出人工智能的概念,是在洛克菲洛科学基金的申请大会上。我想到这个名词,是希望台下所有的参会者都能听懂我要做的事情,而不仅仅是基金审批者。”这个沿用至今的概念,麦卡锡将其描述为“结合科学技术和机械手段制造出智能机器的过程”。
当时,达特茅斯会议的研究计划共有七个领域:一、自动计算机;二、编程语言;三、神经网络;四、计算规模的理论(计算复杂性);五、自我改进,这个是说机器学习;六、抽象;七、随机性和创见性。会议规划的目标是:通过10来个人2个月的共同努力设计出一台具有真正智能的机器。
会议历时两个多月,虽然没有达到起初的目标,但由于首次提出了“人工智能”这一术语,并确立了可行的目标和方法,这使得人工智能获得了科学界的承认,并成为一个独立科学的重要分支,最终成长为充满着活力的新兴科研领域立下了汗马功劳。达特茅斯会议作为世界计算机科学史上的一座里程碑,尤其对于AI领域,是开天辟地的一件重要的事。
第三幕 | LISP:一种历久弥新的语言
早在1955年写人工智能研究规划提案时,麦卡锡就发现了语言的问题:“如果一个机器能够完成一项工作,那么我们就可以设计出一个自动计算过程来模拟这台机器。虽然由于计算机速度和存储容量的限制,计算机还不能够模拟出人脑思维中的高级模式,但其主要障碍并不是机器的限制,而是我们使用的程序语言能否充分描述出亟待仿真的过程。显然,目前的编程语言还做不到这一点。”
1958年,约翰·麦卡锡离开达特茅斯,与马文·明斯基一起组建了世界上第一个人工智能实验室——MIT AI Lab实验室。这一年,麦卡锡提出了LISP语言的开发思路。LISP语言的设计初衷,来源于麦卡锡先生对人类智慧的推崇,他迫切希望能够用程序去模拟出人脑的思维模式。
▲ 图:CSAIL(ComputerScience and Artificial Intelligence Laboratory)
1959年,麦卡锡基于阿隆索·邱奇的l-演算和西蒙、纽厄尔首创的“表结构”,开发了著名的LISP语言,成为人工智能界第一个最广泛流行的语言。
并于1960年正式发表关于这一课题的学术文章《符号表达式的递归函数及其运算》。有评论称,该论文中对编程的贡献有如欧几里德对几何的贡献。麦卡锡在论著中展示了如何利用尽可能少的简单操作符和函数记号,去构造出一个完整的编程语言。其主要思想是用一种简单的数据结构表(list)来表示代码和数据,所以称这种 语言为LISP, 即List Processing。
“Lisp”是“listprocessing language”(表处理语言)的缩写。确如其名,Lisp中所有的数据都用表来表示。这些表都被包含在圆括号中。比如说,(Robert taught Dennis)可能就是表示“罗伯特教丹尼斯”这个句子的一个表。在这种情况下,顺序是很重要的,因为它指明了是谁在教谁。
▲ 图:LISP的与众不同
作为第二古老的高级编程语言(仅次于FORTRAN),其表现出的蓬勃生命力却旺盛得多,甚至至今仍在使用。在编程史上仅有两种主流编程模式:C语言模式和LISP语言模式。如今,新编程语言的开发思路一直坚定地趋向于Lisp模式,形成一种潮流趋势。
麦卡锡发明Lisp语言,只是把它作为工具,他的目标是制造具有人类智能的机器,出发点不同,这可能奠定了LISP语言的不同凡响。有人说,LISP之所以强大,是因为程序语言本身就是数学和逻辑,我认为这种说法有道理,而数学和逻辑是John McCarthy的家底。
第四幕 | 发展超越:举两个例子
LISP语言有多神,我不知道,但我可以给出两个网上看到的例子。
第一个,是说LISP的一个功能。
《RubyUnder a Microscope》是一本在豆瓣上得分高达9.2的一本书,作者叫Pat Shaughnessy,这位大牛在一篇博客中讲“垃圾回收器”时顺带讲到了LISP。程序中的“垃圾回收”是什么?这可并不是普通的垃圾回收,它主要完成三个重要任务:1、为新的对象分配内存;2、标记垃圾对象;3、回收垃圾对象占用的内存。事实上,垃圾回收是一个令人着迷的主题:垃圾回收算法不仅是计算机科学历史一个重要的部分,更是前沿研究的一个主题。
这位大牛是这么说垃圾回收器的:“我认为垃圾回收器是一个应用的心脏。正如心脏为身体的其他部分提供血液和养料一样,垃圾回收器提供内存和对象供程序使用。如果你的心脏停跳,你将活不了几秒。如果垃圾回收器停止运行或者变慢,就像动脉阻塞一样,你的程序将变的慢下来,最后死掉!”
简言之,如果算法和业务逻辑比做是应用程序的大脑,Pat Shaughnessy把垃圾回收系统看作是应用程序的心脏。但这颗心脏不是一开始都有。程序语言中其实早期是不能实现垃圾回收机制的,是约翰·麦卡锡在1960年在Lisp中首次实现了垃圾回收机制。
Lisp不仅是第一个函数式编程语言,并且包含了计算机科学中许多突破性的进展。其中之一便是通过垃圾回收机制自动管理内存。
▲ 图:LISP and Python
第二个,是网上一段迷人的故事。
在ILC 2002 大会上,前Lisp大神、当今的Python倡导者Peter Norvig,由于某些原因,做一个类似于马丁路德在梵蒂冈宣扬新教的主题演讲,因为他在演讲中大胆地声称Python就是一种Lisp。
讲完后进入提问环节,出乎我意料的是,Peter点了过道另一侧,靠上面几排座位的一个老头,他衣着皱褶,在演讲刚开始的时候踱步进来,然后就靠在了那个座位上面。
这老头满头凌乱的白发,邋遢的白胡须,像是从旅行团中落下的游客,已经完全迷路了,闲逛到这里来歇歇脚,随便看看这些人都在这里干什么。
“嗨,John,有什么问题?” Peter说。
虽然这只是10个字左右的问题,我不会假装自己记住了Lisp之父约翰麦卡锡说的每一个字。他在问Python程序能不能像处理数据一样,优雅地处理Python代码。
“不行。John, Python做不到。” Peter就回答了这一句,然后静静地等待,准备接受教授的质疑,但老人没有再说什么了。此时,无语已胜千言。
这个John,就是本文的主人翁——约翰·麦卡锡(John McCarthy)。
▲ 图:约翰·麦卡锡
第五幕 | 荣誉:等身
麦卡锡的一生,获奖众多,而且都是生前获奖,这最让人欣慰。其实,在这众多奖项中,我认为这第一个的图灵奖,是最为金贵的一个,是实力奖项。后面的各种,更多是对他实力和贡献的不断认可。
1971年,图灵奖;1988年,日本INAMORI基金会所设立的KYOTO奖。1990年,获得美国全国科学奖章。1991年,获得了美国国家科学奖章(National Medal of ScienceAward),2003年,获得富兰克林学院奖章。
第六幕 | AI人物榜:能量指数
从本期人物开始,我将为AI人物志的各个大神、大师、大牛做出能量指数,能量指数的模型为以下的五个指标:
思想洞见力 ★★★★★
技术研发力 ★★★★★
学术影响力 ★★★★
行业创新度 ★★★★
产品实用性 ★★
▲ 图:John McCarthy,1927年9月4日——2011年10月24日
BigTalkAI点评:
对自己的兴趣,坚定不移——这个词,我相信是约翰·麦卡锡的一生写照。在人工智能的发展上,他有自己的想法,并不断促使这个想法落地,所谓逢山开路,遇水搭桥……终成一代巨匠。
另一位斯坦福人工智能研究所的教授黛芬妮.科勒,她是这样评论她的同事麦卡锡的:“他相信人工智能能够真正复制人类水准的智能,也正因此,他对今日人工智能的很多产品不甚满意,这些产品提供非常有用的应用程序但过于关注机器学习能力。”
『提要和预告』约翰·麦卡锡,1927年9月4日-2011年10月24日,美国科学家,这一领域培养了大量人才,他的学生遍及世界。
这里是AI舞台,或巨星闪烁,或泰斗云集,或天才辈出,一时多少豪杰,推动人工智能,不断前行。下期人物拟:马文·明斯基。
ID:BigTalkAI
前沿|大牛|趣味|科普 一起开启AI之旅!