【AlphaGo Zero Nature围棋论文翻译与笔记】不使用人类知识通过强化学习精通围棋!

点击上方“专知”关注获取更多AI知识!

【导读】Google DeepMind AlphaGo团队在Nature上发表两篇论文《Mastering the game of Go without Human Knowledge》 和《Mastering the game of Go with deep neural networks and tree search》,这两篇划时代的论文,将成为永恒经典。特此我们整理出其第一篇对应的中文翻译与相关笔记。

 

  Mastering the game of Go without Human Knowledge


  

题目

Mastering the game of Go without human knowledge

不使用人类知识精通围棋!

作者

David Silver*, Julian Schrittwieser*, Karen Simonyan*, Ioannis Antonoglou, Aja Huang, Arthur Guez, Thomas Hubert, Lucas Baker, Matthew Lai, Adrian Bolton, Yutian Chen, Timothy Lillicrap, Fan Hui, Laurent Sifre, George van den Driessche, Thore Graepel, Demis Hassabis. 

DeepMind, 5 New Street Square, London EC4A 3TW.

摘要

长久以来,人工智能的目标是在富有挑战性的领域中学习出一种从无知幼儿到超级专家的算法。最近,AlphaGo成为了在围棋游戏中打败人类世界冠军的第一个程序。其中,AlphaGo对下棋位置的预估和选定下棋位置所使用的树搜索算法使用了神经网络。这些网络利用高段位棋手的走棋通过有监督学习的方式来训练,然后通过自我对弈来完成进行增强学习。本篇论文中我们提出了一种完全独立的增强学习算法,算法不需要人工数据,或是基于游戏规则的引导或领域知识。AlphaGo变成了自己的老师:训练一个神经网络用来完成AlphaGo的落子预测和对弈的赢家。这个网络同时还提高了树搜索的能力,带来的结果就是能够在下一手中有更高质量的落子选择和更强的自我对弈能力。从无知幼儿开始,我们新的程序—AlphaGo Zero达到了超级专家的水平,在与之前开发的AlphaGo(指代和李世石对弈的AlphaGo)的对弈中,取得了100-0的完胜。

引言

利用有监督学习来复制人类专家的决策结果使得人工智能取得了长足发展。然而,专家数据通常需要大量财力,而且也存在不可靠和难以获取的缺点。甚至有的时候获取了可靠的数据之后,也会对通过这种方式训练的系统的性能加以强制限制[5]。于此相反的是,强化学习系统是通过自身的经验来完成训练的,所以在原则上他们是可以超越人类的能力,并在人类经验缺失的领域也能工作。近年来,利用强化学习训练的深部神经网络已经取得了较快的进展。这些系统在电子游戏中已经超越了人类玩家的水平,比如说Atari[6,7]和3D虚拟游戏[8,9,10]。然而,就人类智力而言最富有挑战性的游戏领域—比如说围棋就被广泛的认为是AI领域的重大挑战。这些游戏需要在庞大的搜索空间中完成精确复杂的预判(也就是我们说的看几步棋)。在这个领域中的所有的一般方法都不能达到人类棋手的水平。

AlphaGo是在围棋领域能达到人类超级专家水平的第一个程序,我们开发的第一个版本—AlphaGo Fan在2015年10月打败了欧洲围棋冠军Fan Hui(樊麾:法国国家围棋队总教练)。AlphaGo使用了两个深度神经网络:一个是策略网络输出下一步落子位置的概率,一个是价值网络输出对位置的评估(也就是落子胜率)。策略网络通过有监督的学习来精确的预测高段位棋手的落子,之后再通过价值梯度增强学习来完成系统的增强。价值网络通过策略网络的自我博弈来预测游戏的胜方从而完成训练。训练结束之后,这两个网络通过蒙特卡洛树搜索的算法相结合来提供对未来局势的前望。使用策略网络来缩小高概率落子的搜索过程,使用价值网络(结合蒙特卡洛快速走子策略)在树上完成对落子位置的评估。在之后的开发版本中,我们称为AlphaGo Lee,使用和之前相同的方法,在2016年打败了Lee Sedol(18项国际冠军)。

我们现在的程序,AlphaGo Zero,和 Alpha Go、Alpha Lee这些之前的版本相比较,在很多方面都有不同。最重要的是,AlphaGo Zero完全独立的通过自我博弈增强学习来完成训练,从刚开始的随机博弈开始就没有任何的监督或使用人工数据。其次,它只使用棋盘上的黑白子作为输入特征(之前的AlphaGo有人工构建的许多特征)。第三,只使用一个神经网络,而不是分开的策略网络和价值网络。第四,只使用依赖于单一神经网络的简化版树搜索来评估落子概率和落子对局势的影响,不再使用蒙特卡洛的方法。为了实现这些方面,我们开发了一种能在训练过程中完成前向搜索的增强学习算法,目的是为了快速的提高和精确稳定的学习过程。对这些网络结构差异、搜索算法的不同已经训练过程的不同我们将会在Methods部分做进一步的详述。

AlphaGo Zero强化学习

我们的新方法使用具有参数θ的深层神经网络fθ。 该神经网络将位置及其历史的原始图表代表作为输入,输出移动概率和值(p,v)=fθ(s)。 移动概率的向量p表示选择每个移动a(包括pass),pa = Pr(a | s)的概率。 值v是标量评估,估计当前玩家从位置s获胜的概率。 该神经网络将策略网络和价值网络12的角色结合到单一架构中。 神经网络包括许多残差块的卷积层,批量归一化和整流器非线性(参见方法)。


AlphaGo Zero中的神经网络是通过一种新的强化学习算法从自我游戏中进行训练。在每个位置,执行MCTS搜索,由神经网络fθ指导。 MCTS搜索输出每次移动的概率π。这些搜索概率通常选择比神经网络fθ(s)的原始移动概率p更强的移动;因此,MCTS可能被视为强大的策略改提供者。使用改进的基于MCTS的策略来选择每个动作,然后使用游戏赢家z作为价值的样本,可以自我搜索 - 可以被视为强大的策略评估运算符。我们的强化学习算法的主要思想是使用这些搜索算子。

图1

图1a |在AlphaGo Zero中自我强化学习。该程序针对自己的游戏s1,...,sT。在每个位置st中,使用最新的神经网络fθ执行MCTSαθ(参见图2)。根据MCTS计算的搜索概率选择移动,在〜πt。终端位置sT根据游戏规则得分,以计算游戏赢家z。

图b,AlphaGo Zero的神经网络训练。神经网络将原始位置st作为其输入,将其传递给具有参数θ的许多卷积层,并且输出表示移动的概率分布的向量pt和表示当前选手在位置st中获胜的概率的标量值vt。更新神经网络参数θ以最大化策略向量pt与搜索概率πt的相似度,并且使预测的胜者vt和游戏胜者z之间的误差最小化(参见等式(1))。新参数用于下一次自播的迭代。


在策略迭代过程中反复22,23:更新神经网络的参数以使移动概率和值(p,v)=fθ(s)更接近匹配改进的搜索概率和自播赢胜者(π,z);这些新参数用于下一次自我播放,使搜索更加强大。图1说明了自我播放训练流水线。MCTS使用神经网络fθ来引导其模拟#(参见图2)

 

 

图2

搜索树中的每个边(s,a)存储先验概率P(s,a),访问次数N(s,a)和动作值Q(s,a)。每个模拟从根状态开始,并迭代地选择最大化上限置信度Q(s,a)+ U(s,a)的移动,其中U(s,a)αP(s,a)/

(1 + N(s,a))(参考12,24),直到遇到叶节点s'。 (P(s',·),V(s'))=fθ(s'),通过网络对该叶位置进行扩展和评估,仅基于两个先验概率和评估。在模拟中遍历的每个边(s,a)被更新以增加其访问次数N(s,a),并且将其动作值更新为对这些模拟的均值估计,Q(s,a)= 1 / N( s,a)Σs'| s,a→s'V(s')其中s,a→s'表示在从位置s移动a之后,模拟最终达到s'。

MCTS可以被看作是一种自播算法,给定神经网络参数θ和根位置s,计算推荐移动游戏的搜索概率向量,π=αθ(s),与每次移动的指数访问次数成比例,πaαN(s,a)1 /τ,其中τ是温度参数。

神经网络通过自我强化学习进行训练,使用MCTS计算每个动作的算法。

一,神经网络被初始化为随机权重θ0。在每次后续迭代i≥1时,产生自己计算的游戏(图1a)。在每个时间步长t,MCTS searchπt=αθi-1(st)使用上述语句执行网络fθi-1,并通过对搜索概率π进行采样来进行移动。当两个玩家通过时,当搜索值下降到阈值以下或当游戏超过最大长度时,游戏终止于步骤T;然后游戏得分,以给予决赛奖励rT∈{-1,+ 1}(详见方法)。每个数据时间步t存储为(st,πt,zt),其中zt =±rT是游戏赢家。

从步骤t的当前玩家的角度来看。并行地(图1b),新的网络参数θ是从上一次自播的所有时间步长中均匀采样的数据(s,π,z)进行训练的。神经网络(p,v)=fθi(s)被调整为假设预测值v和自播赢者z之间的差异,并且最大化神经网络移动概率p与搜索概率π的相似性。具体来说,通过对均方误差和交叉熵损耗求和的损失函数l,通过梯度下降来调整参数θ(p,v)=fθ(s)和l =(z-v)2 -πTlogp + cθ2(1)其中c是控制L2权重正则化水平的参数(防止过度配合)。


AlphaGo Zero的最终表现

 

 

图5

我们随后使用更大的神经网络和更长的持续时间将我们的强化学习流程应用于AlphaGo Zero的第二个实例。训练再次从完全随机的行为开始,持续约40天。

在训练过程中,生成了二千九百万次自娱自乐的游戏。参数从310万个小批量更新,每个2048个职位。神经网络包含40个残差块。学习曲线如图6a所示。在扩展数据图5和补充信息中显示了在训练中定期进行的游戏。

 

 

图6

我们通过内部比赛对AlphaGo Fan,AlphaGo Lee和几个以前的Go程序评估了全面训练的AlphaGo Zero。我们还针对最强大的现有程序,AlphaGo Master - 基于本文中提出的算法和架构的程序,(但使用人力资源和功能) - 在线上击败了最强大的人力专业人员60-0(在我们的评估中),所有的过程都被允许每次移动5次思维时间; AlphaGo Zero和AlphaGo Master都在4台TPU的单机上播放; AlphaGo Fan和AlphaGo Lee分别分布在176个GPU和48个TPU上。我们还包括一个完全基于AlphaGo Zero的原始神经网络的玩家;这个玩家只是以最大的概率选择了移动。

图6b显示了每个程序在Elo量表上的性能。原始神经网络,没有使用任何前瞻,实现了Eo评级为3,055。相比之下,AlphaGo Zero的评级为5,185

李(击败Lee Sedol),阿尔法·范(击败范慧)以及以前的Go程序疯狂石,Pachi和GnuGo。每个程序每次都有5秒的思考时间。 AlphaGo Zero和AlphaGo Master在Google Cloud上的一台机器上播放; AlphaGo Fan和AlphaGo Lee分布在许多机器上。还包括AlphaGo Zero的原始神经网络,其直接选择最大概率pa的移动a,而不使用MCTS。计划以Elo量表评估25:200分差距对应于75%的获胜概率。

AlphaGo Master为4,858,AlphaGo Lee为3,739,AlphaGo Fan为3,144。

最后,我们评估了AlphaGo Zero的头脑,与AlphaGo Master进行了一场100小时的比赛,并以2小时的时间控制。 AlphaGo Zero赢得89场比赛至11场(见扩展数据图6和补充资料)。


结论

我们的研究结果全面表明,即使在最具挑战性的领域,纯粹的强化学习方法也是完全可行的:没有人类的例子或指导,无法超越基本规则领域的知识,有可能训练到超人的层面。 此外,与人类专家培训的数据相比,纯强化学习方法需要训练几个小时,并实现更好的渐近性能。 使用这种方法,AlphaGo Zero击败了AlphaGo的最强大的版本,它们使用手工制作的资源进行了大量的培训。

人类已经从数百万年来玩过的数百万场游戏中积累了Go的知识,共同融入了模式,资源和书籍。 在几天的时间里,Alphaura Zero能够重新发现这些Go知识,以及为最古老的游戏提供新的见解的新颖策略。




  论文笔记



  

 论文读书笔记分享

Deepmind在Nature发布了一篇名为《Mastering thegame of Go without human knowledge》(不使用人类知识掌握围棋)的论文中,Deepmind展示了他们更强大的新版本围棋程序“AlphaGo Zero”,验证了即使在像围棋这样最具挑战性的领域,也可以通过纯强化学习的方法自我完善达到目的


今年5月的乌镇大会的人机中,中国棋手、世界冠洁9段以0:3敌AlphaGo Alphago 战胜之后, deepmind ceo  Hassbis曾表示AlphaGo将永久退出技舞台,不再行比。同时Hassbis表示:们计划在今年稍晚布最后一篇学术论文,详细在算法效率上所取得的一系列展,以及用在其他更全面域中的可能性。就像第一篇 AlphaGo 论文一样,我们希望更多的开发者能够接过接力棒,利用这些全新的进展开发出属于自己的强大围棋程序。


 这篇如约而至的论文中介绍了 AlphaGo Zero,AlphaGo 的最新版本。AlphaGo 曾打败围棋世界冠军,Zero 甚至更强大,可以说是历史上最强的围棋选手。之前的 AlphaGo 版本首先基于数千场人类围棋比赛来训练如何学习围棋。但 AlphaGoZero 跳过了这一步,从自己完全随机的下围棋开始来学习围棋。通过这种方式,它快速超越了人类棋手的水平,并且以100:0 的比分打败了之前战胜世界冠军的 AlphaGo。

 


AlphaGo Zero 从零开始摸清围棋规则,就像是一个完全不会下棋的孩子。自我学习3天后,超过 AlphaGo Lee(战胜李世乭版本);21 天后,超过 AlphaGo Master(网络对战60:0版本);在训练 40天后,对弈双方相互交替持黑白棋的情况下,Zero 对 Master 胜率超过90%。


在训练完成的 AlphaGoZero 里,人们发现它自学成才的许多围棋打法与人类上千年来总结的知识是不谋而合的,比如打劫、征子、棋形、布局在对角等,都有人类围棋的影子。

所以人类棋手也不用伤心,这恰恰证明人类在过去的几千年里摸索出了围棋这一游戏的“自然规律”。而人工智能与人类棋手的对比就像是汽车和跑步。

 

每下一步仅需要思考是 0.4 秒的 AlphaGo Zero 所产生的美感与人类在紧张对弈时的美感是完全不同的,就像没有人会把F1方程式当赛跑比赛看一样。那么,如何做到的?

 


AlphaGo Zero采用了新的强化学习方法,从一个不知道围棋游戏规则的神经网络开始,然后通过将这个神经网络与强大的搜索算法结合,然后就可以实现自我对弈了。在这样的训练过程中,神经网络被更新和调整,并用于预测下一步落子和最终的输赢。

这一更新后的神经网络将再度与搜索算法组合,这一过程将不断重复,创建出一个新的、更强大版本的AlphaGo Zero。在每次迭代中,系统的性能和自我对弈的质量均能够有部分提高。“日拱一卒,功不唐捐”,最终的神经网络越来越精确,AlphaGo Zero也变得更强。

 

Alpha Zero与之前版本有如下不同:

 

·        AlphaGo Zero 只需要围棋棋盘中的黑子和白子作为输入,而前几个版本的 AlphaGo 还包括少量手工设计的特征。

·        它只有一个神经网络,而再不是两个。早期几个版本的 AlphaGo 使用「决策网络」选择下一步棋的位置,使用「价值网络」预测每一个位置上决定的胜者。这两个网络在 AlphaGo Zero 中被结合起来,从而使其更高效地训练和评估赛况。

·        AlphaGo Zero 不使用「rollouts」(其它围棋程序使用的快速、随机的下棋方式,以从当前的棋盘位置分布预测哪一个棋手会赢),取而代之,它依靠其优质的神经网络评估下棋位置。

 

 我们讲讲其技术细节

 

新方法使用了一个具有参数θ的深层神经网络fθ。这个神经网络将棋子的位置和历史状态s作为输入,并输出下一步落子位置的概率,用, (p, v) = fθ(s)表示。落子位置概率向量p代表每一步棋(包括不应手)的概率,数值v是一个标量估值,代表棋手下在当前位置s的获胜概率。

 

AlphaGo Zero的神经网络通过新的自我对弈数据进行训练,在每个位置s,神经网络fθ都会进行蒙特卡洛树(MCTS)搜索,得出每一步落子的概率π。这一落子概率通常优于原始的落子概率向量p,在自我博弈过程中,程序通过基于蒙特卡洛树的策略来选择下一步,并使用获胜者z作为价值样本,这一过程可被视为一个强有力的评估策略操作。在这一过程中,神经网络参数不断更新,落子概率和价值 (p,v)= fθ(s)也越来越接近改善后的搜索概率和自我对弈胜者 (π, z),这些新的参数也会被用于下一次的自我对弈迭代以增强搜索的结果,下图即为自我训练的流程图。

 


 

 

所以,有什么用?

 

“计算机下棋再强,有什么用?”马云在今年曾经对 AlphaGo 提出过质疑,这确实也是许多普通吃瓜群众的质疑。计算机下棋,除了欺负柯洁弟弟之外确实没有什么用。但是,重要的是,在研究计算机解决围棋这一课题的过程中,DeepMind 的工程师在人工智能上产生了重要的突破。

 

论文发布一天后,David Silver 在 Reddit 回答网友关于 AlphaGo 后续版本的计划时表示,他们已经停止了对 AlphaGo 改进的研究计划,仅保留了研究试验台用于 DeepMind 研究人员去试验新的算法和思路。

 

这些突破可以广泛的应用到其它实际生产的领域,比如在去年7月份,DeepMind 就表示:如果全面推动 AI 实装到数据中心的话,最高可以达到 15% 的用电削减。

 

Deepmind 认为,这一次 AlphaGo Zero 上的突破能够让人工智能在一些缺少数据或数据异常昂贵的领域更好的发展,比如模拟蛋白质折叠研发新药、寻找新的化合材料等。

 

最重要的是,通过算法提升人工智能的效率,能够大幅减少对硬件“堆料”的依赖。如果你还不能理解人工智能如何减少数据中心电量的话,可以看一下这幅直观的对比图:



 

 

这是AlphaGo 诞生以来四个版本的能耗对比,用一个与生活更息息相关的数字大概能让你理解这背后的价值。

 

2017 年,Google 公布了其在 2015 年全年的数据中心耗电情况,当时 Google 一年的用电量为 57 亿千瓦时,如果以北京这种高人均用电的大城市做对比,这相当于北京 712 万人的用电量。在这样的数字上,仅仅是节省 10%,也能够对成本和环境造成巨大影响。


 欢迎转发到你的微信群和朋友圈,分享专业AI知识!


获取更多关于机器学习以及人工智能知识资料,请访问www.zhuanzhi.ai, 或者点击阅读原文,即可得到!

-END-

欢迎使用专知

专知,一个新的认知方式!目前聚焦在人工智能领域为AI从业者提供专业可信的知识分发服务, 包括主题定制、主题链路、搜索发现等服务,帮你又好又快找到所需知识。


使用方法>>访问www.zhuanzhi.ai, 或点击文章下方“阅读原文”即可访问专知


中国科学院自动化研究所专知团队

@2017 专知


专 · 知


关注我们的公众号,获取最新关于专知以及人工智能的资讯、技术、算法、深度干货等内容。扫一扫下方关注我们的微信公众号。


点击“阅读原文”,使用专知

展开全文
Top
微信扫码咨询专知VIP会员