“深蓝”问世 20 年后:自人工智能征服国际象棋以来取得了哪些进展

IBM 人工智能专家默里·坎贝尔回顾了这台机器战胜国际象棋冠军加里·卡斯帕罗夫的漫长而坎坷的道路

世界国际象棋冠军加里·卡斯帕罗夫(左)在与 IBM“深蓝”国际象棋电脑的第四局比赛中走棋。

二十年前,IBM 的“深蓝”计算机震惊了世界,成为首台在六局比赛中击败卫冕世界国际象棋冠军的机器。这台超级计算机战胜令人难以置信的加里·卡斯帕罗夫引发了关于机器如何能够胜过国际象棋大师的争议,并引发了指责——来自卡斯帕罗夫和其他人——指责该公司作弊才取得胜利。然而,在 1997 年 5 月那场命运攸关的比赛之前的几个月和几年里发生的真实情况实际上比革命性更具进化性——一个像洛奇·巴尔博厄式的崛起,充满了智力上的较量、艰苦的进步以及在费城的失败,最终为凯旋的复赛奠定了基础。

几十年来,计算机科学家一直将国际象棋视为衡量人工智能的标准。20 世纪 70 年代后期出现了国际象棋计算器,但又过了十年,卡内基梅隆大学的研究生团队才制造出第一台在常规锦标赛比赛中击败国际象棋大师的计算机——名为“深思”。这种成功是短暂的——同年晚些时候,即 1989 年,卡斯帕罗夫在两场比赛中轻松击败了“深思”。IBM 对卡内基梅隆大学团队的技术印象深刻,因此邀请其研究人员加入,开发早期版本的“深蓝”——“深思”的继任者。“深蓝”团队在 1996 年费城的一场锦标赛中再次输给卡斯帕罗夫,但在与世界冠军的六局比赛中设法赢了一局。

“那次看似微小的胜利‘对我们来说非常重要,它表明我们走在正确的轨道上’,” “深蓝”人工智能专家默里·坎贝尔说道,他现在是 IBM T. J. 沃森研究中心认知计算组织内人工智能基础小组的杰出研究人员。“到 1997 年最后一场比赛时,我们根据经验对系统进行了足够的改进,因此我们能够获胜。”大众科学与坎贝尔谈论了计算机科学家对国际象棋的长期痴迷,IBM 如何扭转局面战胜卫冕国际象棋冠军,以及人工智能未来面临的挑战。


关于支持科学新闻业

如果您喜欢这篇文章,请考虑通过以下方式支持我们屡获殊荣的新闻业 订阅。通过购买订阅,您正在帮助确保未来能够继续报道有关塑造我们当今世界的发现和想法的具有影响力的故事。


[以下是经过编辑的采访文字记录。]

您最初是如何参与“深蓝”项目的?
我曾是卡内基梅隆大学研究生团队的一员,IBM 与我们团队进行了接触。我长期以来对计算机国际象棋很感兴趣,甚至在本科时就编写过国际象棋程序。在卡内基梅隆大学,我更广泛地研究人工智能,而不是专门构建能够与世界冠军对弈的高性能国际象棋计算机。但是,作为一个副项目,我们中的一些人[包括 许峰雄托马斯·阿纳塔拉曼]确实开发出了后来被称为 “深思” 的机器,它成为了第一个击败国际象棋大师(锦标赛中的职业水平选手)的程序。

IBM 注意到我们在预算有限的情况下构建这台机器所取得的成功,并认为让我们中的一些人加入 IBM 研究院[在 1989 年末]开发下一代机器(称为“深蓝”)会很有趣。他们想知道世界上最优秀的国际象棋棋手是否有什么特别之处是计算机在可预见的未来无法企及的。我们的感觉是这将在几年内完成,尽管其他研究人员认为还需要几十年。

国际象棋的哪些方面使其成为计算机科学家特别感兴趣的问题?
全世界有数亿人下国际象棋。众所周知,这是一种需要策略、远见、逻辑——以及构成人类智能的各种品质的游戏。因此,将国际象棋用作衡量人工智能发展的标尺是有道理的。

当我们看待像国际象棋这样的游戏时,我们会说,“嗯,是的,计算机当然做得很好,因为它是一个定义明确的游戏——规则、走法、目标。”这是一个受约束的问题,您了解所有信息。尽管如此,尽管有所有这些简化,您也可以说国际象棋是一个极其复杂的游戏,这就是为什么我们作为一个领域,花了 50 年的时间发展才最终击败世界冠军。

您在“深蓝”团队中的具体角色是什么?
我是人工智能专家。1989 年和 1990 年代初期,人工智能与现在大不相同。当时的主导部分是我们现在称之为的传统人工智能或符号人工智能,它较少基于机器学习。当然,机器学习在当时是一个严肃的领域,但与今天的情况截然不同,今天我们拥有海量数据集、大型计算机和非常先进的算法来处理数据并提出可以做一些令人惊奇事情的模型。当我开始在 IBM 工作时,用于游戏程序的机器学习方法还相当原始,无法在构建“深蓝”方面为我们提供太多帮助。我们致力于高效搜索和评估可能延续的算法,我们知道“深蓝”需要这些算法才能参与竞争。

当时人工智能最重要的局限性是什么?
硬件实际上不支持构建今天已被证明在制作大数据模型中很有用的大型网络。而且,当时我们需要的程度,数据本身也不一定存在。任何时候,当您回顾 20 或 25 年前最流行的计算机系统时,您都会震惊于您如何在这样的系统上完成任何事情。但是当然,我们做到了——我想我们不知道我们错过了什么,因为我们从未体验过它。

至于数据,我认为当时没有人清楚地意识到大数据集会带来巨大的好处。构建真正的大型数据集是不划算的,部分原因是处理能力不足以使用它。因此,我们使用小得多的数据集。

您自己的国际象棋专业知识在构建“深蓝”中有多大用处?
不如您想象的那么有用。在早期阶段,我能够发现系统的问题,并提出我认为能够解决一个问题而不会产生一系列其他问题的方法。这可能足以让我们达到一定程度。然而,最终,如果您要参加比赛,您需要掌握大量特定于游戏的知识。当我们接近真正与世界冠军对弈的时候,我们请来了国际象棋大师——特别是 乔尔·本杰明——来帮助我们。

国际象棋大师如何帮助提高“深蓝”的水平?
他们提供的帮助分为两个部分。其中一个特别之处是帮助建立开局库,每个国际象棋程序都使用开局库来节省时间并确保进入合理的局面。人类研究国际象棋开局已经有几个世纪了,并开发出了自己最喜欢的[走法]。国际象棋大师帮助我们选择其中一些走法并将其编程到“深蓝”中。

您也可以说他们是“深蓝”的陪练伙伴。他们会与计算机对弈,并尝试找出系统的弱点。然后,我们会与他们以及“深蓝”团队的其他成员坐在一起,尝试阐明弱点究竟是什么,以及是否有办法解决它。有时,考虑到我们所受到的限制——我们将计算机的部分指令直接编程到称为国际象棋加速器芯片的硬件上,而不是编写软件——有些问题我们无法轻易解决。但通常情况下,总有一些方法可以提高其处理我们已识别问题能力的方法。

“深蓝”如何决定走哪一步棋?
“深蓝”是一个混合体。它具有通用超级计算机处理器,并结合了这些国际象棋加速器芯片。我们有在超级计算机上运行的软件来执行国际象棋计算的一部分,然后将更复杂的部分的走法交给加速器,加速器然后计算[可能的走法和结果]。超级计算机将获取这些值,并最终决定要采取的路线。

“深蓝”如何在 1996 年到 1997 年间取得进步,从而击败卡斯帕罗夫?
我们做了几件事。我们通过创建新一代硬件,或多或少地将系统的速度提高了一倍。然后,我们通过在国际象棋芯片中添加使其能够识别不同局面并使其更加了解国际象棋概念的功能,从而提高了系统的国际象棋知识。这些芯片随后可以搜索可能性的树状结构,以找出局面中的最佳走法。1996 年到 1997 年之间改进的部分原因是我们在国际象棋局面中检测到更多模式,并且可以对它们进行估值,因此可以更准确地评估国际象棋局面。1997 年版本的“深蓝”每秒搜索 1 亿到 2 亿个局面,具体取决于局面的类型。该系统可以搜索到六到八对走法(白方一步,黑方一步)的深度,在某些情况下甚至可以搜索到最多 20 对或更多对。尽管如此,虽然我们确信 1997 年的“深蓝”比 1996 年的版本好得多,但在我看来,比赛最可能的结果是平局。即使进入比赛的最后一局,我仍然期待平局,以及可能的复赛。

为什么 IBM 在 1997 年比赛后没有批准卡斯帕罗夫的复赛请求?
我们认为我们已经实现了目标,即证明计算机可以在比赛中击败世界国际象棋冠军,并且是时候转向其他重要的研究领域了。

自那场比赛以来的二十年里,人工智能发生了怎样的变化?
当然,机器在处理速度和内存等方面都有了改进。人们也开始收集——就像他们业务的一部分一样——更多的数据,这些数据为当时的机器学习算法提供了素材。最终,我们开始意识到,将所有这些东西结合起来可以产生一些非凡的结果。IBM 沃森系统,它参加了Jeopardy!,使用了一个基于机器学习的系统,该系统使用了世界上存在的大量数据——例如维基百科等——并使用这些数据来学习如何回答有关真实世界的问题。从那时起,我们已经转向学习如何执行某些类型的感知任务,例如语音识别和机器视觉。这促使沃森执行更多与业务相关的任务,例如分析放射影像并将该信息与医生共享。

您在“深蓝”项目上的工作经验如何影响了您未来的人工智能工作?
我们特别学到的一件事是,看待复杂问题的方式不止一种。例如,在国际象棋中,有人类的方式,它是非常基于模式识别和基于直觉的,然后是机器的方式,它是搜索密集型的,并且会查看数百万或数十亿种可能性。通常,这些方法是互补的。这在国际象棋中是绝对正确的,但在许多现实世界的问题中也是如此——计算机和人类共同努力比任何一方单独努力都更好。例如,我们不希望计算机自己接管患者的诊断和治疗,因为在诊断患者方面有很多无形的东西很难在数据中捕捉到。但在就考虑的选项提出建议方面——也许是那些来自非常新的技术论文或临床试验的选项,医生可能没有意识到——这样的系统可能非常有价值。

我们目前正在做的一项重要工作是采用非常先进的基于人工神经网络的系统,这些系统往往是非常黑盒的——它们不太擅长解释为什么它们会提出它们正在提出的建议——并赋予它们解释自身的能力。如果一个系统无法解释它,您如何真正信任来自该系统的建议?这些黑盒神经网络系统非常复杂,其中包含数百万个参数。克服这种[复杂性]的部分原因可能在于通过向系统提供良好解释的示例来训练系统。当计算机做出诊断或推荐治疗方案时,这在医疗保健领域尤为明显。如果有一个合理的解释,那么我们可能会更适当地给予它应有的权重,以帮助医生做出最终决定。

© . All rights reserved.