第4章 图灵在布莱切利园
图灵对国际象棋非常着迷,英国数学家I.J.古德也是。两人对弈,通常是古德获胜,他们一起研究出决策程序和获胜的经验法则。下国际象棋需要遵守游戏规则(才智),似乎也需要洞察力(直觉),来确定棋盘的不同位置上该选用哪条规则。想要在棋局中获胜,仅仅遵守规则是不够的,你得先知道该选哪条规则。
图灵把国际象棋看作一个既便捷又愉快的方式,他用这种方式来思考赋予机器直觉的可能性。图灵的朋友、信息论的创始人克劳德·香农(Claude Shannon)也在贝尔实验室研究国际象棋。1950年,香农发表了论文《程序实现计算机下棋》(Programming a Computer for Playing Chess),开启了计算机下棋的理论研究。
简化智能的出现
国际象棋深深吸引了图灵等人,一部分原因是,计算机似乎能用编写好的程序下棋,而人类程序员无须事先知晓一切。计算机能识别逻辑运算符,例如:如果—那么、或、和等。计算机不仅可以在一系列指令下运行,还能根据在指令下运行时遇到的不同场景,产生不同的结果。在图灵等人看来,这种基于“所见”而改变路线的能力,模拟了人类思维的一个核心方面。
这些学者们——图灵、古德、香农,以及其他人——也在思考另一个极具挑战性的数学问题。德国使用新的通信密码来部署攻击英吉利海峡和大西洋上的军舰和商船。这些学者的核心任务就是帮助盟军破解德国的通信密码。图灵觉得自己投身到了一场殊死的战斗中——在第二次世界大战中协助盟军打败纳粹德国。正是他对计算的想法,帮助盟军扭转了战争的局势。
布莱切利园
布莱切利园位于英国的一个小镇上,远离伦敦和其他可能遭受炸弹袭击的大城市,很不起眼。在第二次世界大战期间,布莱切利园是英国政府进行密码破译的主要地点,进而协助盟军发现德国U型潜水艇的位置。对于英国海军来说,德国U型潜水艇是个大问题。这些潜水艇不断在英吉利海峡袭击英国运输船队,它们击沉了数千艘船,破坏了大量的物资和装备。为了维持战斗力,英国每年需要进口总计3000万吨的货物,而德国U型潜水艇的袭击一度使这些货物一个月损失20万吨,这是一个巨大的威胁。德国在战争中使用的这个策略,一度令英国无从应对。于是,英国政府作出回应,集结了一组天赋异禀的密码专家、国际象棋手、数学家来研究如何破解U型潜水艇的通信密码。
U型潜水艇的通信密码是一台名为“恩尼格玛”(Enigma)的密码机生成的。它的外形就像一台打字机,从20世纪20年代起被用于商业。而德国人改进了它的性能并把它用于战争。改进后的恩尼格玛密码机被用于德国军队的所有战略通信,例如,德国空军空战及德国海军海战中的通信都使用了恩尼格玛密码机。当时的人们普遍认为,改进后的恩尼格玛密码机的通信密码是无法破译的。
图灵在布莱切利园的工作内容以及他在战后被奉为国家英雄的故事广为流传,并在2014年被影片《模仿游戏》(Imitation Game)搬上荧幕。以纯数学标准来看,图灵做出的重大突破并不新奇,因为他使用了来自演绎逻辑的旧观点。他半开玩笑地称这种方法为“图灵法”:这种方法是通过找到矛盾的组合,排除大量恩尼格玛密码的可能解法。该方法的依据是矛盾组合是无法存在于可能解法中的。因为在某些逻辑系统中,我们不可能既有“A”又有“非A”,就像我们不可能同时既“在商店”又“在家”。“图灵法”见效了,它加快了破译恩尼格玛信息的速度,协助与世隔绝的密码破译团队完成了任务。在布莱切利园,其他科学家想出了不同的方法来破解密码。他们的想法被放在一台名叫“炸弹”(Bombe)的密码破译机上进行测试。“Bombe”这个随意的名字取自“Bomba”(波兰的一台早期的密码破译机的名称)。我们可以把这台解码机想象成一台原始的电脑,它能运行不同的程序。
1943年前后,战争的优势从轴心国转向了同盟国,这在很大程度上归功于布莱切利园的密码破译团队的不断努力。这个团队取得了举世瞩目的成就,其成员都成了战争英雄。与此同时,布莱切利园也被证明是计算思维的避风港。密码破译机“炸弹”通过运行程序,解决了人类自己无法解决的问题。
直觉机器?不是。
对图灵来说,在布莱切利园的工作具有重大的意义,这一工作使他关于智能机器可能性的想法具体化。与古德和香农一样,图灵也发现了机器“头脑游戏”在破译密码方面的力量和作用:它们能破解军队无法读懂的无线电通信密码。这种新的计算方法很有意思,不仅因为它会自动下国际象棋,不夸张地说,它还能击沉军舰。
图灵再次思考一件抽象的事:头脑和机器,或智能的一般概念。但是他对智能含义的理解稍显特别。20世纪40年代,人们通常认为,智能不是形式系统的特性,比如布莱切利园的纯机械密码破译机“炸弹”。哥德尔证明,一般来说,事实不能简化为形式,就像用一系列规则来玩一个正式的游戏。但是哥德尔的证明也留下了一个问题:人类的大脑靠直觉来选择所要遵循的规则,如果不存在能证明一切的高级系统,那么这种直觉是否真的可以整合到特定的机器里?
完成布莱切利园的密码破译工作之后,图灵的重心转向另一个问题:我们能否制造出拥有直觉和智能的强大机器。为了破译德国的密码,海量可能的数字组合需要被验证,这使人类直觉的作用显得微不足道。但是,有正确程序的系统能够通过简化如此复杂的数学难题来完成任务。对图灵来说,这表明机器可以拥有直觉。也就是说,在布莱切利园获得的成功意味着人工智能是可能实现的。
然而,要理解图灵的思路,我们必须先确定某个关于“智能”的特别想法:就机器所具备的能力而言,人类的智能需要被简化。从本质上讲,智能必须被简化为解决问题的能力。毕竟,下国际象棋就是解决问题,破译密码也是。
于是我们明白,图灵的伟大天赋和他的重大错误,都在于他认为人类智能要简化为解决问题的能力。1950年,图灵在《计算机器与智能》一文中谈到了有关智能机器的想法。无论这个想法是否能在战争年代变得明确,显然,他在布莱切利园的经历使他对于人工智能的观点变得具体化。而且,在没有进行必要的自我分析的情况下,人工智能也会沿着他规划的道路前进。
然而,如果我们仔细审视在布莱切利园成功的密码破译工作,就会发现有关人和机器的哲学概念被危险地简化了。布莱切利园是一个智能体系,它协调军事行动(包括间谍和侦查活动,以及攻击敌方军舰),在军队和布莱切利园的科学家和工程师之间传递情报,这个体系的成功有时还需要一点运气。现实中,基于数学上有关机械破译难度的论证,德国人认为改进后的恩尼格玛密码机无法通过纯机械方式破解。因而布莱切利园的成功,一部分该归因于德国指挥官对恩尼格玛密码的盲目自信。因此,在发现某些密码被破译后,他们没有意识到他们在科学上的失败,并在关键时刻改进密码机,而是把问题归咎于秘密的间谍行动。但是,战争的迷雾不仅整合了新的技术,也把新形式的人类和社会智能融合在一起。
比如,波兰军队曾得到了恩尼格玛密码机的重要资料。这些资料后来为布莱切利园的密码破译工作提供了宝贵的线索。早在20世纪30年代,波兰人就利用这些资料,开发了他们自己的简化版密码破译机。图灵于1940年初基于波兰人的成果开发出了新的版本——利用“图灵法”的密码破译机“炸弹”。图灵也会看到,自己的设计改进是对他的同事高登·威尔什曼(Gordon Welchman)所做改进的回应。高登添加了一个“对角线板”,进一步简化了搜索过程。这就是两个人类大脑运用直觉进行的合作。
一些发生在战区的事件也至关重要。1940年6月8日,一艘英国航母在挪威海岸被德军击沉。这次袭击使英国损失惨重,大量船员葬身海底,但是它暴露了德国U型潜艇的位置。就在几个星期前,1940年4月底,德国巡逻船队中极具破坏性的一员——VP2623被捕获,其内部藏有大量关于恩尼格玛密码机的珍贵资料。破解恩尼格玛密码机的关键部分落入了盟军手中,继而被送往布莱切利园。
这些支离破碎的信息本身远不足以破译德国无线电通信密码,但是它们推进了关键的第一步——帮助密码破译团队研究出如何给“炸弹”编写程序。图灵和同事们借用了美国科学家和逻辑学家查尔斯·桑德斯·皮尔士(Charles Sanders Peirce)所创的说法,把它称为“证据权重”。
数学家们可以用不同的方式来理解证据权重。但是布莱切利园的成功(以及有关人工智能的问题)意味着人类可以运用可靠直觉给机器指明方向。从一艘被捕获的德国U型潜艇上发现的一段被破译的文字就像在一袋白球旁边发现的一个白球一样,具有多种可能性。我们可以猜测发生了什么事。我们会猜测这个球很有可能来自那个袋子,即使我们没有看到它从袋子里被取出来。虽然这种猜测无法被证明是正确的,但是为设计机器程序而设定初始条件,保证了程序不会朝错误的方向没有目的地运行,人类的直觉越准确,程序最终得出期望结果的可能性就越大,证据和猜测使密码破译机发挥效力。
布莱切利园的科学家不只是把信息输入密码破译机,让它不知疲倦地排除数百万个不正确的编码。图灵想象到了密码破译机“炸弹”的另一种可能性——他的“机械程序”可以复制或取代人类智能。
然而,布莱切利园的密码破译团队的首要工作是猜测:他们分析来自战场的指令、密码、信息碎片,并建立假设。在科学里,猜测就是建立假设,是人类认知发展的基础。因此,布莱切利园的成功其实来源于一个善于猜测的系统。它的必要因素不是机械,而是初始智能观察。密码破译机必须先有一个明确的目标,然后才能开始有目的地运行。
我们第二章将要探究的主题和皮尔士的发现一致。早在19世纪末期,皮尔士就发现,每一个形成复杂的智能概念和判断的观察都源于猜测,他亦称之为“溯因”:
在一个美好的春日清晨,我望向窗外,看到一朵盛开的杜鹃花。不,不对!我没有看到,这只是我用来描述所见的唯一方式。这是一种观点、一句话、一个事实,但是我感知到的不是观点、句子或事实,只是我通过陈述事实来理解的一幅图像。这个陈述是抽象的,但是我看见的东西是具体的。我用一句话来表述我看见的任何东西,这就是溯因。事实上,我们的整个知识构架是由用归纳法证实过的假设构成的。如果只停留在毫无目的的观察,每一步都不做溯因,就不会取得任何进展。
在布莱切利园,图灵和他的同事们正是通过每一步的智能溯因,打赢了一场把命令和控制转化为智能的战争。图灵无疑知道这一点(回想他在1938年关于序数的论文中对直觉的论述),但是,这似乎没有对他后期有关智能本质和智能机器可能性的想法产生明显的影响。无论成就多么辉煌,他所做的只是构思真正智能的简化形式,以摆脱早些时候令他着迷的直觉的概念和猜测的概念。
关于社交智能,一个重要的题外话
图灵的智能观念忽略了社交智能,但社交智能对于人工智能却至关重要。图灵不喜欢把思维或智能看作社会或情境的东西,然而布莱切利园的成功其实是一个宏大体系的一部分,这个体系远远延伸到了布莱切利园封闭的围墙之外,并很快引入美国科学家的工作,比如贝尔实验室的香农,以及著名的普林斯顿高等研究院[爱因斯坦、哥德尔、约翰·冯·诺依曼(John Von Neumann)都曾在该研究院工作]的科学家的工作;扩展后的人机系统是更加现实的模型,可以用来模拟真实世界的问题是如何解决的——世界大战必定是其中最复杂也是最重要的问题之一。
已经有人注意到,人工智能对于社交或情境智能是“充耳不闻”的。最近注意到这个现象的一位是机器学习领域的科学家弗朗索瓦·乔列特(François Chollet)。他很好地总结了他对图灵(更广泛地说,是人工智能领域)的智能观点的评价。首先,智能是有情境的——没有所谓的通用智能。你的大脑是更广泛的系统中的一部分。这个系统包括你的身体、你所在的环境、其他人,以及整体文化。其次,智能是有语境的,绝非存在于真空中。任何个人智能都将永远受到环境的定义和限制。如今,环境正在成为智能的瓶颈,而不是大脑。最后,人类智能在很大程度上是外化的,它并不包含在你的头脑中,而是包含在你的文化里。如果把个体想象成工具,他们的大脑就是一个比他们自身更大的认知系统里的模块。这个系统存在已久,而且还会进行自我改进。
图灵认为,人类可通过编程使机器拥有直觉,乔列特则主张,机器的智能无法达到人类智能的水平。其实,把直觉程序化的想法忽略了一个关于人类自身智能的基本事实——人类有社交智能和情感智能,且人类使用大脑的方式不能等同于一台机器解决复杂问题的方式。
这个证据说明,图灵断然否决有关人的观点,转而相信人类所有的思维过程都可以被理解为“破译密码”——如解答难题或玩一盘类似国际象棋的游戏。因此,在20世纪40年代时,图灵已经确定了他对智能的观点,并于1950年发表了一篇预见人工智能的论文。他的观点中包含着惊人的错误,这个错误被人工智能科学家代代相传,直到今天。
图灵的智能错误和狭义人工智能
智能就是用来解决问题的观点,也可以用于解释为何在人工智能的历史长河中,它的应用始终很狭隘。比如,玩游戏一直是开发高级人工智能技术的灵感来源,但是游戏只是生活的“简化版本”。国际象棋程序会下棋,却不会开车。IBM的超级计算机“沃森”可以玩《危险边缘[1]》游戏,却不会玩国际象棋或围棋,使用“沃森”来执行其他数据挖掘和自然语言处理需要进行大量编程或“植入”工作,就像最近“沃森”在医疗领域的应用一样(其表现并不尽如人意)。
把智能当作解决问题的方法带来了机器智能的局限性。把计算机系统设计成只用于解决某个问题的系统,会使系统只能解决该问题。图灵无疑知道这一点,他在1950年的论文中推测,也许我们能让机器学习,从而克服这种局限性。如果机器具备了“通用技能”,我们将会目睹解决特定问题的应用程序顺利转化为通用智能机器,从而拥有人工智能。
然而,时下流行的机器学习的方式和图灵早期提出的机器学习的方式大相径庭。当下的机器学习系统必须通过学习一些特殊的东西来达到它们的目标。研究人员把这叫作给机器设置一个“偏见(bias)”。这个词不带有它在现实世界的负面含义,它并不意味着机器很“固执”,使人难以与之争辩。机器学习中的“偏见”指的是设计并调整系统,使之只能学习某些东西。但是,这种系统当然只是用来解决某些特定问题的狭隘的系统,这就是为什么脸书的人脸识别系统没有学会计算你的个人所得税。
所以研究人员已经认识到,给机器学习系统设置“偏见”,让机器学习系统学习一个特定任务的设计,会使它在别的任务上表现糟糕。机器学会某一件事,和机器学会另一件事,这两者之间是负相关关系。即使是看似相似的任务,也会使机器在表现上呈负相关。学习玩围棋的计算机系统不会同时学习玩国际象棋。围棋系统经过特殊的设计,对于学习围棋的规则有特殊的“偏见”,它的学习曲线遵循围棋的已知打分规则。而对于其他游戏,比如《危险边缘》或国际象棋,该学习曲线是无效的——其实是不存在的。
机器学习的“偏见”通常被认为是误差(error)的来源,是一个技术问题。如果遵循普通的语言用法,它还有一个次要的含义,意为其产生的结果在无意中受到种族或性别等因素的影响。因为系统一开始不会“寻找”解决方案,机器学习需要通过现有方案与正确方案(“偏见”)之间的误差,引导系统提到正确方案,所以在机器学习中,“偏见”的确必不可少,因为它就是学习本身的一部分。
“没有免费的午餐(No Free Lunch,NFL)”定理印证了我们在设计和构建学习系统时的所见。这条定理指出,任何运用没有定理“偏见”的学习系统解决的问题,得出的解都不会好过随机解。这意味着系统设计者必须有意地给系统一个“偏见”,它才会去学它应该学的东西——完全无“偏见”的系统是无用的。所以有些复杂的技术会用无人监督的方式对数据进行“预训练”,以暴露需要学习的数据的特征。所有这些都是成功的机器学习的重要条件。然而,这个讨论中遗漏了一点,即通过给予系统期望的“偏见”,让它学习预设的东西,通常会导致它变得狭隘,从某种意义上说,它不会再推广到其他领域。构建和使用一个成功的机器学习系统的部分意义是,这个系统不是无“偏见”和通用的,而是专注于特定的学习问题的。从这个角度来看,构建学习系统的方法在某种程度上是有局限性的。成功和狭隘是相伴相生的。
只是这个事实让我们产生了严重的怀疑:今天的人工智能能否顺利进化成未来人类水平的人工智能。有人认为,现代的机器学习方式,比如深度学习,总会做到“训练有素”,机器能学得像人类一样聪明,持这种观点的人不理解机器学习的基本局限性。接受给学习系统提供“偏见”的必要性等同于接受图灵的观察——对数学的见解必须由人类用正规的方法验证并得出,因为机器在学习之前,人类设计师就决定了机器的“偏见”。
图灵留给后人的
综上所述,“智能就是解决问题”的观点必定会衍生出狭隘的应用,这对于更远大的人工智能目标来说是不够的。我们从图灵那里继承了关于智能的观点。因而今日的我们使用的术语是“人工智能”,而不是“人工任务模拟”。图灵的高明之处在于,他为制造自动机器清除了理论障碍和反对意见,但是这样一来,他缩小了智能本身的定义和范围。于是,人工智能开始生产解决问题的狭隘应用程序,直到今天还是如此。
虽然图灵倾向于把人类智能看作单个的机械过程,也就是在20世纪40年代早期计算机问世时,许多媒体所称的“机械大脑”。但他不喜欢把思考或智能看作社会性或情境性的事物。显然,当我们谈论到智能的话题时,必然要把智能置于更广泛的语境之下。我们通常所说的通用(非狭义)智能,不是一个在我们头脑中运行的算法,而是涉及我们在世间思考和行动的所有文化、历史和社会背景的复杂体系。但如果开发者对智能的理解如此宽泛和复杂,人工智能将很难向前发展——这也是事实。同时,因为我们没有彻底把人工智能的含义重新概念化,图灵对智能概念的简化导致我们最终只得到了狭隘的智能应用,无法得到通用的智能应用。
1950年,图灵在他的论文中预见到这些难点,提出可以让机器学习。然而,我们现在知道,学习本身就是在解决问题:给机器一个“偏见”,让机器在某些特定任务中拥有学习能力,同时减少机器执行其他任务的能力。学习系统其实也只是狭隘的问题解决系统。如果没有已知的理论桥梁就把如此狭隘的系统和人类表现出的通用智能联系起来,人工智能就会陷入困境。早期对于智能的错误理解,已经逐渐使人工智能的发展陷入了不可逆转的绝境。
让我们再次思考图灵原先对直觉和才能的区分。对他来说,人工智能的问题就是系统设计者提供的直觉是否真的能够被“拉进”智能机器的主要系统中。如果答案是肯定的,系统就可以用直觉来解决问题,摆脱狭隘的诅咒,变得更聪明且能自主学习。迄今为止,还没有人能用计算机做到这一点。我们确实知道,设计者通过人工智能系统之外的直觉,告诉这个系统去解决(或学习解决)哪些具体问题。系统自主使用人类的直觉进行推理成了核心问题,这将在本书第二部分谈到。
在本书第二部分里,我们还会更多地谈到人工智能的“狭隘陷阱”。接下来,我们将目光转向另一个对智能的错误理解,也是对狭义智能的错误理解的自然延伸——超级智能。
注释
[1]《危险边缘》:美国一档极受欢迎的智力竞猜电视节目。2011年2月17日,“沃森”击败该节目历史上最成功的选手,成为该节目的新王者。