图灵是伟大的科学家和数学家,被称之为计算机之父和人工智能之父。
今天是6.23是图灵诞生的107年让我们走进他的世界,了解科学人物,从人物历史的角度看我们的未来人工智能的发展。
图灵的一生都在追求理性和事实,这在科学上给他带来了巨大成就,却在个人生活上注定了悲剧性的命运。所谓成也萧何败也萧何。
图灵的成败。他为什么能成为人们口中的“计算机科学之父”,以及他为什么最后会悲惨地以自杀收场,我觉得这背后的原因都是一个,就是图灵一直在追求理性和事实。为什么这么说呢?我们先来看看图灵的“成”。
图灵从一开始就很善于把自己的学术兴趣和社会需求结合起来。1937年,随着欧洲战争风险日益加剧,图灵已经开始研究密码学。在电影《模仿游戏》里,图灵的故事主线就是从他1939年9月加入政府的密码学校开始的。
二战爆发前夕,密码技术有了一个新的突破。原来都是需要相关的工作人员来做加密和解密工作的,但是在二战之前,这个工作已经可以交给机器来做了。当时纳粹德国已经采用了这样的机器,称为“谜机”,顾名思义,就是既能出谜题又能解谜题的机器。它的另一个名字你可能更熟悉一点,就是恩尼格玛(Enigma)密码机。
它的工作原理很简单,它就是一个周期超大的字母替换机。加密的时候就把有意义的句子替换为一堆看似杂乱的字母,解密的时候就反过来,把杂乱的字母顺序还原回原来有意义的句子。因为这是机器来做的,它更不容易出错,用的替换规则也更复杂,所以也就更不容易被敌人破译。
图灵认识到,要破译谜机的密码,靠人脑是不行的,机器的问题还得用机器来解决。那怎么解决呢?密码学是在数学的基础上发展起来的。给信息加密,说白了就是按照某种复杂规则做的运算。纳粹德国的谜机既然能够让这运算变成一个机械的过程,完全不需要人的干预。那么能不能反过来,用类似的机械过程把谜机的规律反推出来呢?只要能做到这一点,那么不管谜机给出的谜题多么复杂,也是万变不离其宗,破译它只要兵来将挡水来土掩就行了。
图灵以他的聪明才智,在密码学校的同事合作之下,真的研制成功了专门破译德国谜机的机器。原理很简单,就是“试错”,尝试各种可能的方案,看哪一条行得通。只不过咱们平时都是人工试错,而图灵呢,是设计了一种机械程序来试错。只要程序还没找到完整还原字母顺序的方案,这个程序就会一直运行下去,直到找到一个可能的答案才会停下来。
为什么图灵被人们称为“计算机科学之父”呢?他是怎么提出“计算机”这个概念的?其实,这个提出过程有着非常深厚的时代背景。贴在图灵身上、叫“计算机”的那个标签光芒太盛,总让人忘了他本质上其实是位数学家。图灵当初的这个设想,就是为了解决数学基础的危机。
数学通常被当作最精确的学问,但你可能不知道,“数学的基础”一直是让数学家非常不放心的问题。我们究竟有什么根据,相信那些数学命题是真的,还能证明它们呢?这个问题麻烦的是,数学的那些数量关系太抽象了,它不像物理、化学等其他科学那样,能借助经验和事实来回答。
在图灵之前,当时数学界的大牛希尔伯特想出了这样一个办法:我们可以把做数学题比拟为下象棋。数学中允许的证明步骤,就好比是象棋中允许的走法,而作为证明出发点的公理就好比是象棋开局时的摆法。按照这个思路,那数学知识就都是根据规则,按步骤演化出来的东西,就好比从开局开始,按规则走的每一步棋。我们现在知道,象棋的规则完全可以编成程序,让机器一步一步地运行,完全可以代替人下象棋。同样地,希尔伯特也设想,未来也可以让数学证明变成一个可以按程序运行的机械过程,机器可以代替人来证明所有的数学定理。这样也就化解了数学基础的危机,它说明数学没什么神秘的,一台按程序运行的机器就能解释一切。
这在数学里面,叫作数学知识的“机械可判定性”问题。这个问题问的是,到底有没有这样的机械程序,能够判断和确定数学命题的真假呢?图灵一开始想要回答的就是这个问题。
有什么程序能用来证明数学知识呢?要理解这个问题,咱们把机器放一边,先来想一下,我们人类是怎么做数学题的。比如,如果让你算39*57等于多少,你没法一下子算出来,就得按部就班地算了:先列个式子,从个位开始按乘法口诀计算,记录中间结果,还得逢十进位。当然,也不排除有的人是“超级大脑”,一下子就能算出来,中间不需要任何有意识的步骤。
看出来有什么规律了吗?有两点是很显然的:第一,对于人类来说,是不是需要程序来做数学,跟直觉能力成反比。直觉能力越强,就越不需要按部就班地计算步骤;直觉越弱,就越需要程序来保证结果的正确性。但是机器本身是没有任何直觉能力的。要让它来做数学,就得按直觉最弱的极端情况来处理,也就是任何简单的计算,都需要有详细的程序来执行。
那怎么设计这个程序呢?这就是第二条规律,如果你进行计算,那这几个步骤是不能少的:你得先把总的计算任务分解成若干个小步骤,比如列式子;然后你得按规则完成其中的每一个小步骤,比如按加法规则或乘法口诀来计算;而且你还得有一个记录中间结果的载体。算39*57,你得找一张纸列式子,个位十位的结果要分别记下来;即使你心算不用纸,那你的记忆就是载体。
抛开计算机,图灵思想的最直接体现,其实在于他的另一项成就:对人工智能的展望。这个话题特别能体现图灵思想的当代价值。按照图灵提出的概念,计算机一开始还不是智能的机器,它只是在执行人类编写好的程序,所以只能说它是人类智能的实现工具。
但图灵并不满足于此。二十世纪五十年代初,他已经开始设想,计算机可以进一步演化,甚至可能取代程序员的工作,成为真正智能的机器。那这就要求机器可以模仿人类的学习活动,不仅仅是按照编好的指令运算,而且还能够自主地演化出新的指令规则。
那在图灵的设想里,这个机器最初是干什么的呢?答案是,下棋。图灵或许不会想到,几十年之后,在全世界掀起人工智能热潮的标志性事件,主角正是阿尔法狗这个会下围棋的智能机器。
图灵还当时提出,机器必须要经过和人类对弈的训练,才能学会如何下棋。所以人工智能的机器并不是和人类竞争的对手,而是和人类共同进步的伙伴。这个想法在当时引起了巨大的争议。如果我们回过头去看五十年代初,计算机刚刚发明时的很多争论,会发现现在人们热议的大多数话题,像人工智能会不会实现啊,会不会取代人类、甚至奴役人类啊,类似的争论其实当年都已经有了,而且讨论得也很深入。
不知道你有没有想过,到底为什么这些话题会引起人们的热烈讨论呢?我想从研究哲学的角度,跟你分享一下我的想法。在我看来,这些话题,涉及“如何理解人类自身”的哲学问题。
在捍卫传统价值的保守人士看来,人类是唯一可以有智能的生物,这是人类价值和尊严的底线。如果承认人造的机器也有智能,这会被他们看作是对人类尊严的粗暴否定。然而,图灵完全支持机器可以有智能,而反对把智能仅仅归于设计机器的人。
他曾经还专门写过一篇文章,提出了用来衡量人工智能的“智能”标准:比如说,如果人们在和机器下棋的过程中,感受到的是在和另一个智慧生物斗智斗勇,而不是任何机械性的回应,那我们就没有理由反对“机器本身有智能”这个判断。这就是著名的“图灵测试”,它主张只要机器的行为模式与人类行为不可分辨,我们就应该承认机器达到了人工智能的标准。
据说目前,有相当一部分的人工智能成果,已经通过了图灵测试。但遗憾的是,还没有任何一款产品达到了图灵所设想的人工智能。这是为什么呢?因为图灵当年所想要实现的,是所谓“通用的”人工智能,也就是像很多科幻电影里描述的那样,智能机器人真的像人那样思考和行事,人类能做的下棋、开车和谈恋爱,一个智能机器也都能完成,并且我们还没法分辨它的行为和人类行为有什么区别。
而我们今天实现的人工智能全都是“专门化的”,也就是说可以让不同的智能机器来分别做不同类型的事情。让阿尔法狗下棋,让讯飞识别语音,再让别的什么来自动驾驶,等等。我们还没有真正实现通用的人工智能。
按照图灵当年的想法,人类的各种智能活动从本质上说都是有规则可循的,只要展开严格细致的理性分析,最后总能发现一些解决问题的通用法则。那么再利用这些法则来编写程序,通用智能机器就完全有可能实现了。在图灵去世之后,很多科学家想延续这种探索,却始终没有进展。归根到底,可能是图灵对人类智能的理性特征估计过高了。很多时候我们做事情没那么理性,也并不真正理解其中的规则,只是按照以往的经验就做成了。
八十年代以后,科学家们按照这个和图灵完全相反的想法,尝试展开了在人工神经网络基础上的机器学习,这才取得了人工智能在当代的大发展。但这个发展的代价就是,我们只能做专门的,而不可能实现通用的人工智能。因为机器学习需要相关领域的大量数据来训练,那么训练出来的智能机器也就只处理这个领域的问题,而不能像图灵当年设想的那样,在不同类型的活动中都能展现类似人类智能的品质。
纵观人类历史,天才的大脑往往意味着个性鲜明的生命个体,而这就常常意味着,他和他所处的时代、社会环境之间有难以兼容甚至爆发冲突,最后通常以个体生命的悲剧告终。在这个意义上,图灵并不是唯一的例子。科学史上的布鲁诺、伽利略,都有着类似的经历。但图灵的确是离我们的时代非常近的例子。
1954年6月7日夜里,人类历史上一颗伟大的大脑停止了思考。第二天一早,他被人发现躺在床上,口吐白沫,旁边有一个果酱罐子,里面装满了剧毒的氰化物,还有一个咬过一口的苹果。验尸官断定,死者就是用苹果蘸着氰化物吃下去自杀的。这就是著名数学家、计算机和人工智能科学的奠基人——艾伦·图灵生命终结时的场景。