(世界象棋冠军卡斯帕罗夫在与IBM深蓝计算机进行第四局对决。图: Stan Honda Getty Images)
出品|网易科学人栏目组
译者|孙文文
编辑|郭浩
20年前,IBM研发的“深蓝”计算机成为第一台击败国际象棋冠军的机器,一时闻名世界。计算机战胜人类引发了人们关于自身被机器超越的担忧,当然卡斯帕罗夫和其他一些人也一直怀疑IBM通过作弊取得了胜利。然而,1997年5月发生的事情远比革命更具革命色彩,背后是一个有关智能机器艰苦进步,以及先败后胜的勇者崛起的故事。
几十年来,计算机科学家将国际象棋视为检验人工智能的仪表棒。专攻象棋的计算机在20世纪70年代后期出现,不过一直要等到十年之后,卡内基梅隆大学的一个学生团队才打造出一台名为“深思”(Deep
Thought)的计算机,并在一场常规赛中击败人类大师。这次胜利没能保持长久,就在同一年的晚些时候,棋王卡斯帕罗夫在两场比赛中轻松击败“深思”。
卡梅隆大学团队的技术给IBM留下深刻印象,蓝色巨人吸纳团队成员开发“深蓝”(Deep
Blue)的早期版本。从名字便可以看出,“深蓝”既是“深思”的进化,又有IBM自身的色彩。经过初步进化的“深蓝”在1996年的费城再度挑战卡斯帕罗夫。不幸的是,二次对决中人工智能再度败北,只赢了六场比赛中的一场。
“深蓝”背后的AI专家墨菲·坎贝尔(Murray Campbell)称看似微小的一局胜利“对我们来说非常重要,表明我们的路走对了”。坎贝尔现在是IBM T. J. 沃森研究中心认知计算机构的知名研究员。
“在1997年的最终对决之前,我们已经根据以往所得的经验对系统做了足够改进。”坎贝尔接受《科学美国人》采访,谈及计算机科学家对象棋的长期痴迷,IBM如何攻占国际象棋以及AI未来面临的挑战。
(以下内容经过编辑)
最初你是如何参与到“深蓝”项目中的?
我是IBM所收编的卡内基梅隆大学研究生团队的一员。我原本就对电脑象棋感兴趣,在本科阶段写过一个象棋程序。我在大学的工作是很宽泛的人工智能研究,并非建立一个旨在打败世界冠军的象棋计算机。但是,作为一个业余项目,团队中的许多人(包括许雄峰和Thomas
Anantharaman)着手开发了一个名为“深思”的机器,并成功在职业级别的比赛中击败一位象棋大师。
后来,IBM注意到我们以低预算构建计算机所取得的成功,并让我们中的一群人加入IBM
Research(1989年底)开发“深思”的下一个版本,即是后来的“深蓝”。他们想知道在可预见的将来,象棋高手还有什么优胜电脑之处。尽管其他研究人员认为这需要几十年才能完成,但我们的感觉是只要几年时间就可以了。
象棋如何吸引计算机科学家?
全世界下棋的人数以亿计。这种游戏需要战略、先见和逻辑,这些是组成人类智慧的要素。所以使用象棋测量人工智能发展水平是有意义的。
面对象棋这样的游戏,我们会说“是的,电脑当然可以做得很好,因为它是一个定义明确的游戏——规则、棋步和目标”。在有限的问题中,你知晓所有的信息。但尽管经过如此简化,象棋仍然是一个非常复杂的游戏,这也是计算机领域用了整整50年的发展才击败世界冠军的原因。
你在深蓝团队中的角色如何?
我是AI专家。1989年和1990年早期的AI与今天非常不同。由于机器学习的缺乏,那时候主要是我们现在所说的“老式AI”,或者“符号人工智能”。虽然机器学习在当时也是一个严肃领域,但那时不像如今有庞大的数据集和大型计算机以及非常先进的算法来理解数据,并提炼出效用惊人的算法模型。在我加入IBM那会儿,AI还相当原始。我们研究检索数据库的算法还有逻辑、规划和推理,这些都是深蓝进行竞争的必备之物。
当时AI最主要的限制是什么?
当时的硬件不足以支持处理海量数据的大型网络,数据也未满足需求。任何时候当你回头看看20或25年前最受欢迎的电脑系统,那些系统的工作方式会让你大吃一惊。但是,我们仍然做到了。
当时人们意识不到数据的益处。建立一个非常大的数据集毫无用处,更何况当时的处理能力也用不上这么多的数据。所以我们使用更小的数据集。
你自己的象棋知识在打造“深蓝”的过程中有何帮助?
可能不如你想的那么有用。在早期阶段,我还能识别出系统出错,知道如何在避免节外生枝的情况下提出解决方案。虽然这足以帮我们达到某种水平,但真正的比赛需要真正专业的象棋知识。所以后期我们请来了象棋大师乔尔·本杰明(Joel Benjamin)等一行人来帮忙。
象棋大师怎样帮助“深蓝”成长?
他们的帮助可分为两方面。其一是帮助建设开局数据库,这帮助象棋程序节约时间并得出合理棋步。几百年来,人类研究各种象棋开局,并发展出各自喜欢的棋步。大师们帮我们选择了其中一些编程到“深蓝”之中。
另一方面,大师们也是深蓝练手的伙伴。大师与电脑下棋,并试图找出系统的缺陷。随后大师与程序开发者共同讨论,找出缺陷所在并尝试将之解决。有时候,考虑到我们的限制——我们将部分计算机指令直接编程到一个被称为象棋加速器的芯片上,而不是写成软件——有一些问题无法轻易解决。但通常我们都有办法提高机器的能力来处理已知问题。
“深蓝”如何决定每一步怎样走?
“深蓝”是混合决策。它将通用超级计算机处理器与象棋加速器芯片相结合。在超级计算机上运行的软件执行一部分运算,更复杂的棋步交予加速器处理,然后计算出可能的棋步和结果。超级计算机根据这些结果决定最终的棋步。
从1996年的失败到1997年的成功复仇,期间“深蓝”做了哪些改进?
我们做了几件事。通过创建新一代硬件,我们差不多实现了两倍快的运算速度。然后,我们通过改善象棋芯片丰富了系统的象棋知识,使它能够识别不同的棋局,同时对象棋概念有更好的理解。这些芯片从众多可能性中为不同局势找出最佳棋步。期间还有一个改进是我们在一个棋局中发现了更多模式,对它们赋值,从而对局势进行更准确的评估。1997年版本的“深蓝”每秒检索1亿到2亿个棋局,具体数目取决于棋局的类型。某些情况下,系统能够计算出6到8个棋步,最多可达20个甚至更多。不过尽管我们自信1997年的“深蓝”比1996年版本好很多,但我觉得,比赛最有可能的结果还是平局。即使到了比赛的最后一局,我仍在期待一场平局,然后择日再战。
为什么IBM拒绝了卡斯帕罗夫在赛后提出的再战请求呢?
我们觉得我们证明电脑足以击败世界冠军的目标已经实现,是时候进入其他重要研究领域了。
大赛之后迄今20年过去,AI发生了哪些改变?
当然,机器处理速度和内存都有所提高。人们开始收集更多的数据,这为当下的机器学习算法提供了训练数据。最终我们意识到,将这些事情结合起来可以产生一些了不起的结果。参加了电视竞答节目的IBM“沃森”系统,使用机器学习吸收了世界上的海量数据——包括维基百科——并使用这些数据回答有关现实世界的问题。在那之后,我们也已开始学习如何做一些感知任务,比如语音识别和机器视觉。这让沃森执行更多商业相关的任务,比如分析放射科影像,并与医师分享信息。
参与“深蓝”的经验如何影响你们之后在AI方面的工作?
我们学到众多经验之一是用不止一种方式来看待复杂问题。举例来说,在国际象棋中,人类的方式基于模式识别和直觉,而机器则是用密集搜索检索数百万乃至数十亿的可能性。通常,这些方法彼此互补。不仅在国际象棋中如此,面对许多现实世界中的问题,电脑和人脑结合都要胜过偏执一方。例如,我们不会希望计算机全权接管病患的诊断和治疗,因为病情诊断还涉及大量无法数据化的信息。但是在提供诊疗建议上,计算机系统可能非常有价值。
目前我们正在做的一个重要工作是尝试让神经网络系统有能力解释自身。这些系统非常先进,但同时是个“黑箱子”,人类无法理解机器如何做出这么英明的决策。如果机器无法解释自身,人们如何能真正相信它呢?这些黑箱神经网络系统极其复杂,其中涉及数百万个参数。克服这种复杂性的途径之一可以是在神经网络的训练过程中加上解释案例的训练。在计算机辅助医疗中,如果系统推荐诊疗方案的同时给出令人信服的理由,我们才可能会放心地让机器进一步参与医疗决策。
点击阅读原文,下载网易新闻客户端,观看更多精彩内容哟~