返回首页 | 分分彩平台

合作共赢、快速高效、优质的网站建设提供商

揭秘谷歌AlphaZero 从AlphaGo进化 如何通杀棋类

2019-01-17

李世石人机大战资料图

  导语:美国《纽约客》杂志(The New Yorker)近日发表的文章揭秘谷歌旗下DeepMind最新公布的人工智能AlphaZero。这个AI程序来源于在2016年名声大噪的围棋AI AlphaGo,而AlphaZero被应用于更多棋类游戏中,取得了令人可喜的成绩。

  以下为文章全文:

  多少周前,谷歌AI子公司DeepMind内的一群研究人员在国际权威学术期刊《科学》(Science)上发表了一篇论文,其中描述了一种游戏范围的人工智能(AI)。只管他们的通用AI系统适用于良多双人游戏,然而研究人员却进行了调解,使其专门针对围棋、国际象棋以及将棋(日本象棋)。这种AI程序当时并不懂得任何一种棋类游戏的规矩。一开始,它只是随意下子。之后,它通过跟自己对弈把持了游戏规则。九个小时内,AlphaZero在大量特殊谷歌硬件集群中自我对弈4400万局。之后两个小时,它的表现已经超过人类棋手。四个小时之后,它就克服了寰球最出色的象棋引擎。

  这一名为AlphaZero的程序起源于AlphaGo。AlphaGo曾经在2016年3月战胜了全球最精彩的围棋棋手李世石。李世石的失败让大家感到震惊不已。去年早些时候在Netflix上播出的一部纪录片《AlphaGo》中,影片制作人员跟踪了开发这款AI的团队及其人类陪练,他们将所有精力都奉献给了AlphaGo的研发。在观看纪录片的时候,我们见证了这部分人所经历的一种新的悲伤阶段。一开始,他们认为自己不会输给一台机器:“我想人类的直觉无比高级,AI无奈超越我们。”李世石在与AlphaGo对弈前的一天这样说道。可是,当AlphaGo开始博得胜利之后,恐慌感油然而生。在某一个心生酸楚感的刹那,李世石因首局失败承受着巨大的压力,他突然起身分开桌子,不顾竞赛时间限度,走到外面去抽了一根烟。他鸟瞰着首尔的屋顶。(在互联网上,有五千多万人在关注着这场比赛。)与此同时,AI并不知晓他的对手跑到何处了,而是持续下子,这一步就连评论员也称赞是“创造性、令人惊讶的棋路”。终极,李世石以1:4的比分输掉了比赛。在接受事实之前,他倍感触挫。“我要为我的无能而道歉。”他在新闻宣布会上这样说道。最后,李世石以及其余围棋界的成员开始欣赏这台机器。“我想,这给围棋带来了一种新的范式。”他说。欧洲围棋冠军樊麾也对此表示同意,并且表示:“也许它能向人类展示出更多我们从未发明过的货色。或者这也是一种美。”

  对AlphaGo的开发者来说,这确实是一场胜利,但他们依然觉得不够满意,由于AlphaGo的学习依然十分依附于人类围棋棋手的经验。该AI程序会通过模仿世界一流棋手的棋路来掌握自己该如何落子。它还会使用手工编码的启示法,避免在思考接下来的棋路时浮现重大错误。对于开发AlphaGo的研究职员来说,这些认知就像是一根拐杖。他们决意开发一种白板式的新版AI,让其完整通过自学来开发自己的棋路。

  2017年10月发表的一篇论文中详细介绍了AlphaGo Zero。之所以要取这个名字,那是因为除了围棋规则之外,这款AI程序对其余事件一无所知。这种新的范式没有引起众多关注。但从某种角度来说,这是一项更加出色的成就,只管它与围棋并没有太大联系。事实上,在不到两个月时间里,DeepMind就发表了第三篇论文的预印本,表现AlphaGo Zero当面的算法可以应用到任何一种双人零和完美游戏中(即没有任何隐藏元素的游戏,例如扑克牌中牌面朝下的卡片)。DeepMind将名字中的“Go”去掉了,并将新的系统命名为AlphaZero。实质上来说,它是一个强盛的算法。你可以给它输入人类能想到的最为复杂的规则,让它去完成一个被人类研究得最为透彻的游戏。当天内的迟些时候,它就会成为有史以来最出色的玩家。兴许更加惊人的是,这种系统的迭代是迄今为止最简单的一种。

  传统的象棋引擎就像是一个大杂烩,包含了数十年来人们反复试验得到的教训和教训。寰球最杰出的引擎Stockfish是开源的。它的优化是基于一种达尔文式的抉择:有人提出了一个想法,之后便会进行上万局游戏来验证这个设法是否有效。优胜劣汰。因此,这并非是十分简要的范式,程序员也许都很难理解。程序员对Stockfish进行的最佳调整都是源于国际象棋本身,而不是计算机迷信,他们关心的是如何评定棋盘上的某一种情况:骑士值2.1分还是2.2分?如果这是第三横线,对手却有一个相反颜色的主教呢?为了说明这一点,DeepMind的研究主管大卫?西尔弗(David Silver)曾经在Stockfish上列出了对应的解决打算。成果需要五十多步,每一步移动都需要大批编程运算,而每一步运算也都包括了来之不易的国际象棋神秘:反移动启发式(Counter Move Heuristic)、已知残局的数据库、叠兵(Doubled Pawns)、陷阱(Trapped Pieces)、半开放线(Semi Open Files)等的评估模块,还要搜索可能移动棋子的策略,例如“迭代加深”(iterative deepening)等。

  比较之下,AlphaZero只有两个部门:一个神经网络以及一个被称作为Monte Carlo Tree Search(MCTS)的算法。(出于对游戏的认可,数学家将这种基于随机数的方法称作是蒙特卡洛树。)MCTS背地的理念就是指像国际象棋这类的游戏实际上是一棵占领诸多可能性的树,如果我将车移到d8地位,你可以抓住它或是筛选按兵不动,而此时我可以移动兵或挪动主教或保护我的王后……问题在于,这棵树会以惊人的速度长大。没有一种计算力可能足以彻底进行搜索。专业的人类棋手之所以是专家,起因在于他们的大脑可以自动识别出这棵树的基本局部并能聚焦留心力。而计算机假如要想参与游戏的话,它们也须要这样做。

  此时,神经网络就开端派上用途了。AlphaZero神经网络会接收游戏最后几步的棋盘布局,这就是信息输入。而作为信息输出,它需要评估当前的棋手有多大几率能获得胜利并且猜想在当下走什么样的棋路可能以最大可能取得胜利。MCTS算法运用这些预测来决议在这棵树中的关注要点。举个例子,如果神经网络猜想“骑士吃掉主教”是最佳棋路,那么MCTS就会投入更多时间用于摸索这一步的成果。但如果它认为可行的棋路会有一些冒险,那么有些时候它就会决定自己认为较为保险的棋路。

  最初,引导搜索的神经网络显得略微笨拙:它会随机进行预测。这样一来,MCTS就不能很好地聚焦重要部分。但是AlphaZero的天赋就在于它进行学习的方式。它需要两个部分进行工作,但会让其彼此训练。即便一个愚笨的神经网络非常不善于预测可行棋路,它仍然能够起到必定作用:比喻说,有些时候,MCTS依然可以获悉哪一个位置可以促使其失掉胜利。这种认知能够被用于改进神经网络。当一局结束时,你就会知道结果,你可以看到神经网络对每个位置的预测(比如说有80%的可能,易位是最好的策略),而后与实际情况进行比对(比方说这一比例更凑近60.5%),之后你就可以调剂突触连接来“校正”神经网络,直到它能够取舍赢得成功的棋路。从本质上来说,所有MCTS搜索中的“精华”都被提掏出来,用于优化改良神经网络。

  无疑,神经网络的一点点优化,都能减少搜寻被误导的多少率??这能够优化搜索,进而提取出更好的信息来练习网络。在这样的反馈回路中,神经网络就能提升至已知才能的稳定期。

  当有关AlphaGo Zero和AlphaZero的论文刚发布时,一小群爱好者开始在博客文章与YouTube视频中描述这些系统,并开发他们自己的模拟版本。这项工作的大部分为阐明性的??它源于业余爱好者学习和分享的冲动,正是这份热情率先引起了网络轰动。但是也有一小部分努力波及到大范畴地复制这项工作。毕竟,DeepMind论文仅仅描述了世界上最宏大的围棋和象棋游戏,他们并不包含任何源代码,而且公司也不把项目本身提供给玩家。名目成功后,工程师们随即离开了这一领域。

  吉安-卡洛?帕斯库托(Gian-Carlo Pascutto)是Mozilla公司的一名计算机程序员,领有开发竞技游戏引擎的丰富教训,先是国际象棋接着是围棋。他始终在跟进最新研究。随着蒙特卡洛树搜查和神经网络的结合成为围棋AI的最提高技能,帕斯库托开发了全球最胜利的开源围棋引擎??先是Leela,然后是LeelaZero??其反应了DeepMind取得的成就。但问题在于,DeepMind可以访问谷歌的大量云数据,但帕斯库托不能。为了训练公司的围棋引擎,DeepMind应用了五千个谷歌的“张量处理器”(TPU)??专门为神经网络计算而设计的芯片??训练了13天。若要在他的桌面系统上实现同样的工作,帕斯库托需要连续运行系统一千七百多年。

  为弥补计算能力的不足,帕斯库托决定披发自己的工作。LeelaZero是一个联合系统:任何想要加入的人都能够下载最新版本,贡献他自己的打算才干,而后上传他生成的数据,以便稍稍改进系统。分布式的LeelaZero社区得以让他们的体系与自己对抗了上千万个游戏??比AlphaGo Zero还多一点点。当初,LeelaZero是现存最富强的Go引擎之一。

  不多之后,这个想法被扩展到国际象棋领域。去年12月份,当AlphaZero的预印本出版时,加里?林斯科特(Gary Linscott)称:“它好比一颗投向社区的炸弹。”计算机科学家林斯科特曾经研究过Stockfish,他利用现有的LeelaZero代码库,结合AlphaZero论文中的新理念,开发了Leela Chess Zero(Lc0)。(对于Stockfish,他开发了一个测试框架,以便将引擎的新理念分发给一群志愿者,从而进行快速的审查;散发神经网络的训练是异常自然而然的下一个步骤。)起初,还有一些毛病需要梳理,并且DeepMind团队在他们的论文中遗留的细节存在一些有根据的预测。但几个月之内,神经网络就开始改进。国际象棋世界未然沉迷于AlphaZero:chess.com上的帖子大肆庆祝这个引擎;评论员和象棋巨匠们仔细研究了DeepMind团队在他们论文中发布的AlphaZero游戏,并发布“这才是象棋应有的玩法”,引擎下起象棋来“好似超级人类”。很快,Lc0吸引了数百名被迫者。跟着他们一直贡献自己的计算能力并改进源代码,引擎越来越精良。今天,一名核心贡献者猜疑,再有几个月这个引擎或将超越Stockfish。未几之后,它可能会超越AlphaZero本身。

  当我们通过电话交谈时,林科斯特十分惊奇于自己的名目过程。曾经,一个才干横溢的博士生需要数年时间才华实现类似的项目,但现在一个感兴趣的业余喜好者几个月内就可以完成相似的项目。神经网络的软件库允许人们应用几十行代码复制全球一流的设计;在意愿者旁边调配计算的已有工具,以及英伟达等芯片制造商为数百万个别计算机用户供应了廉价但功效强大的图像处置芯片(GPU)。该芯片异样适合于训练神经网络。像MCTS这样的算法无比简单,花一两个下战书便可以履行。你甚至都不需要成为你所开发之引擎的游戏专家。当帕斯库托开发LeelaZero时,他差不久已有20年时光没玩过围棋。

  DeepMind研讨负责人大卫?西佛尔(David Silver)指出公司最近在游戏范畴的中心工作中的一个看似抵牾的问题:程序越是简略??从AlphaGo到AlphaGo Zero再到AlphaZero??它们的表示越优良。“兴许咱们追求的准则之一,”在2017年12月的一次讲演中他提到,“是通过少做,通过减少算法中的庞杂性,它可以使我们的算法变得更加通用。”从他们的围棋引擎中移除围棋常识,引擎可以成为更好的围棋引擎??并且同时,这个引擎也可以下将棋跟国际象棋。

  从未有人料想到事件会这样发展。1953年,辅助创建了古代盘算机的阿兰?图灵(Alan Turing)写了一篇题为《数字计算机在游戏中之利用》的小论文。在这篇论文中,图灵基于“对我下棋时的思维进程的一个内省分析”开发了一个国际象棋程序。程序很简单,然而在这一情形下,简单并非好事:正如图灵他自己并非蠢才国际象棋玩家,程序本身也缺乏足够的游戏深度,下棋的技巧性也不足。即使如此,图灵猜测“一个人无奈开发出下棋程度超出他自身的程序”的这个主意着实是“未经思考的”。诚然说“不动物可以吞下比它们自己更重的动物”这话听上去很有情理,但实际上很多动物都可以吞下比本人重的动物。同样地,图灵以为,一个蹩脚的国际象棋选手当然可以开发出下棋水平优越的程序。一个引人入胜的办法就是让程序自学。

  AlphaZero的成功好像证实了这一点。AlphaZero结构简单,但却可以学习其正在对阵之游戏的深层功能。在AlphaGo Zero论文的一个章节中,DeepMind团队描写了在经过一定数目标训练周期之后,他们的AI可以发现大师级玩家所熟知的策略,但在接下来几个训练周期之后又舍弃这些策略。看到人类最好的主张在通向更美好未来的道路上被无情抛弃,无疑这是怪异且有点令人感到不安的;物理机器始终超越咱们着实碰触到了人类的痛处。前国际象棋冠军加里?卡斯帕罗夫(Garry Kasparov)曾在1997年输给了IBM开发的超级电脑深蓝。在最近的一篇《科学》论文中,卡斯帕罗夫认为AlphaZero并没有按照可以反映据揣摩是系统性“程序员偏好和偏见”的方式来下棋;相反,即便它对下一步棋的可能位置的搜索要远少于传统引擎,它以一种开发、激进的方式来下棋,并且似乎从策略而非策略的角度进行思考,就好比一个存在不堪设想的假想力的人类。“因为AlphaZero可以自己编程,”卡斯帕罗夫写道,“我会说它的风格更濒临原形。”

  当然,像人类一样下棋,与像人类一样看待国际象棋或像人类学习,完全是两回事。有句老话说棋类游戏好比AI界的果蝇:好比果蝇之于生物学家,诸如围棋和国际象棋这样的棋类游戏对于计算机科学家而言是研究智力机制的途径。这是一个令人回味的类比。但是,曾经只是下棋的义务,一旦有朝一日变成在游戏树中每秒搜索成千上万个节点的任务时,我们训练的则是一种完全不同的智力。按这样的弄法,国际象棋恐怕远不止是我们所设想的推土机:最终,这个活动不再是我们人类的特长。为了学习,AlphaZero需要对阵数百万次,远多于人类终生中对阵次数??但是,一旦AlphaZero完成学习,它可以像蠢才个别下棋。通过深度搜索树,它依靠比人类快得多地思考,然后使用神经网络将其发现变为类似于直觉的货色。当然,程序也让我们对智力有了新的意识。但是它的成功也印证了世界上最优秀的人类玩家通过另一种过程??一个除了对阵之外,基于阅读、交谈和感想的过程??所见的多少。以及最令人惊疑的是,在这种如今看起来为机器准备的游戏中,我们人类的表现也也会很好。(堆堆 木尔)


浏览:

网站建设

建站流程

    网站建设流程

热门新闻