精通国际象棋的AI研究员:AlphaZero真的是一次突破吗?

原标题:精通国际象棋的AI研究员:AlphaZero真的是一次突破吗?

编者按:本文来自微信公众号“机器之心”(ID:almosthuman2014),路雪、刘晓坤编译,36氪经授权发布。

DeepMind 最近发表了一篇关于 AlphaZero 的论文,介绍了一个通过自我学习掌握国际象棋或将棋的系统。

进入正文之前,我首先做个自我介绍。我是一名人工智能领域研究者,方向是自然语言处理;我同样也是一名国际象棋大师,目前是韩国的顶尖选手,但是由于我全职科研最近几年不是很活跃。因此,我会尽力提出一个合理的、有建设性的观点。很明显我会着重讲国际象棋,但是一些论点是通用的,可推算至将棋或围棋。本文仅代表个人观点,可能出现错误或误解,请见谅。

国际象棋可以说是在「人机对战」和人工智能中研究最为广泛的游戏。该领域的首个突破是 1997 年 IBM 深蓝(Deep Blue)击败世界冠军 Garry Kasparov。在此之前,人们普遍认为在国际象棋上机器不如人,但自深蓝胜利以后,人与机器的国际象棋之争已胜负分明。

Garry Kasparov 对战 IBM 深蓝,1997。

2016 年,DeepMind 推出围棋引擎 AlphaGo,可击败一些人类顶尖围棋选手。值得注意的是围棋的复杂性要远高于国际象棋,正由于此,尽管计算机的算力有了很大提升,但机器依然无法在围棋上战胜人类。

因此,AlphaGo 被认为是一次突破。AlphaGo Zero 在 AlphaGo 的基础上更进一步,可通过完全自我对弈掌握围棋 。最近出现的 AlphaZero 是一个类似的模型,通过通用强化学习算法训练神经网络架构,并击败了最好的将棋和国际象棋引擎 。

AlphaZero 的壮举已被大众媒体和国际象棋媒体大量报道,其中不乏对其突破的过分夸大。然而,通过仔细地阅读 AlphaZero 的论文,我认为确实存在对其重要声明有效性的合理质疑。有些质疑本身可能并不重要,并且作者可能也做出了解释。但即便如此,所有的疑虑聚合到一起就形成了对其主要声明的科学有效性的合理质疑。

以下列举了一些普遍的疑虑:

可用性/可复现性。DeepMind 开发的 AlphaZero 系统都没有对公众开放:代码没有开源,甚至都没有一个商业版本让用户进行测试。这是一个很大的阻碍,因为从科学角度看,这些方法既不能被验证也不能被其他专家利用。这种缺乏透明度的做法使他们的实验基本不可能被复现。

4 小时训练。AlphaZero 的训练量成为最难理解的因素之一。根据论文,AlphaZero 在 5000 个 TPU 上训练了 4 个小时,就达到了超越开源国际象棋引擎 Stockfish 的级别(充分训练的 AlphaZero 需要再多几个小时的训练)。这意味着如果仅使用一块 TPU,AlphaZero 需要花费大约两年的训练时间,这个训练时间大大超过了使用一块普通 CPU 的训练时间。

因此,即使 4 小时训练时间给我们留下深刻的印象(确实很深刻),这也主要是近几年算力得到极大发展的功劳,特别是像 DeepMind 这样对算力进行大量投资的公司。例如,到 2012 年,7 子以内的所有象棋局面已经可以使用数学方法和少得多的计算资源求解。计算能力的提升为新算法的开发铺平了道路,可能几年后国际象棋这样的游戏甚至可以使用暴力求解方法来解决。

AlphaZero 和 Stockfish 的比赛实验设置。为了证明 AlphaZero 相对于以前的国际象棋引擎的优越性,DeepMind 让 AlphaZero 和 Stockfish 进行了 100 次比赛(AlphaZero 以 64:36 的成绩打败了 Stockfish)。

选择 Stockfish 作为对手看起来是挺合理的,Stockfish 是目前最强大的开源国际象棋引擎,且在最近的 TCEC(目前世界上水平最高的引擎竞赛)中取得了第三名(排名在 Komodo 和 Houdini 之后)。

然而,AlphaZero 和 Stockfish 比赛的实验设置看起来并不公平。他们使用的 Stockfish 版本并不是最新的,更重要的是,该版本还是在一个普通 PC 上运行的,而 AlphaZero 使用的计算能力要强大得多。

例如,在 TCEC 竞赛中,所有的引擎都必须使用相同的处理器进行比赛。此外,对时间的选择看起来也很奇怪。每一个引擎被设置成每一手一分钟的思考时间。然而,大部分人机竞赛都只为整场比赛指定固定时间,每一手的时间由选手自行管理。

正如 Stockfish 的最初开发者之一 Tord Romstad 指出的,这是影响 Stockfish 表现的另一项可疑决定,「研究者投入了大量努力使 Stockfish 能够鉴别游戏中的关键点,在走棋中决定什么时候使用额外的时间 。」

Tord Romstad 还指出 Stockfish「执行的搜索线程远远多于多次测试中的线程」。此外,AlphaZero 对战 Stockfish 的超高胜率使某些顶尖的国际象棋选手非常惊讶,它挑战了「国际象棋引擎几乎不可战胜」的普遍观念(例如,世界排名第九的国际象棋选手 Hikaru Nakamura 质疑了 AlphaZero 和 Stockfish 比赛中的低平局率 )。

和 Stockfish 的 10 局比赛。DeepMind 的论文只分享了 10 场比赛样本,10 场全是 AlphaZero 取得胜利 。由于 AlphaZero 展示出的对象棋的「深度理解」,这些比赛获得了象棋社区的一致赞扬:Peter-Heine Nielsen ,象棋特级大师、世界冠军 Magnus Carlsen 的教练;Maxime Vachier Lagrave ,世界排名第五的象棋选手,二者均对 AlphaZero 在和 Stockfish 比赛中的表现做出了积极回应。

但是,在科技论文中展示提出系统出现缺点或表现不太好的样本是一种惯例,以使大家对该系统有一个全局了解,也便于其他研究者基于此进行进一步研究。该论文另一个不明确的地方是比赛是从特定的开局开始还是从头开始。鉴于这 10 场比赛的开局类型,似乎初始棋局是预先确定好的。

AlphaZero 和 Stockfish 的比赛。最后一手:26. Qh1!象棋特级大师 Francisco Vallejo Pons 称这场比赛像「科幻小说」。图片来源:chess24

自我对弈。AlphaZero 完全从自我对弈中学习的吗?根据论文提供的细节来看是这样的,但有两个重要的地方需要注意:在开始自我对弈之前必须先教会系统游戏规则和通常手数(typical number of moves)。这一点并不像看上去那么无足轻重。要寻找可以对规则进行编码的合适神经网络架构必须投入大量研究,正如 AlphaZero 论文中解释的那样。

AlphaGo 使用的基于卷积神经网络的架构适合围棋,但不适合其他游戏。例如,国际象棋、将棋就和围棋不同,它们是不对称的,一些棋子根据局面进行不同的操作。

最新的 AlphaZero 引入了更通用的 AlphaGo 算法版本,适用于象棋和将棋。第二点(即教会 AlphaZero 棋类游戏的通常手数)还需要游戏的一些先验知识。

此外,超出最大步数的赛局被定为平局(DeepMind 未提供最大步数的信息)。现在不清楚这种启发式方法是否也用于对抗 Stockfish 的比赛中,还是仅用于训练。

泛化。AlphaZero 称其使用了可在多个领域中获胜的通用强化学习方法。但是,在前面关于自我对弈的观点之后,也出现大量争论关于 AlphaGo 和 AlphaZero 系统泛化至其他领域的能力。假设现实生活的很多场景可以被简化成固定的预制规则集,像围棋、象棋、将棋那样,这似乎不切实际。

此外,这些游戏不仅具备固定的规则集,而且是有限的,即可能的配置情况是有限的,尽管它们的复杂程度各有不同。这和其他也有固定规则集的游戏不一样。比如,网球比赛中需要考虑的变量很难量化,必须考虑速度和风向、球速、球和球面的角度、球面类型、球拍材质、场地问题等。

我们应该科学、审慎地观察这些所谓的突破,尤其是在现在这个 AI 炒作的时代。准确地描述和推广我们的成就是该领域研究者的责任,研究者不应助长不实信息,把该领域神秘化。事实上,在月初的 NIPS 大会上,一些研究者表达了对近年来该科学领域缺乏严谨性的担忧。

在这种情况下,我希望这些担忧能够得到解决,准确地评估 AlphaZero 的实际科学贡献,而这一判断并不是现在就能做出的。或许如果有更好的实验设计和对复现的考虑,DeepMind 的结论就没有现在那么让人震惊了,不过也说不准。

但是我们很难对此做出评估,除非 DeepMind 真的在这方面做出努力。我个人非常希望 DeepMind 在 AI 领域实现更多相关发现,但是我也希望这些成绩的取得是以一种同行可以轻松评价且对社会有所贡献的方式进行。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171214C0U4G900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券