AlphaGo Zero论文中文版:Mastering the game of Go without human knowledge

转自:http://blog.csdn.net/lpjishu/article/details/78291152

题目(Nature论文)

Mastering the game of Go without human knowledge

作者

David Silver1*, Julian Schrittwieser1*, Karen Simonyan1*, Ioannis Antonoglou1, Aja Huang1, Arthur Guez1,
Thomas Hubert1, Lucas Baker1, Matthew Lai1, Adrian Bolton1, Yutian Chen1, Timothy Lillicrap1, Fan Hui1, Laurent Sifre1, George van den Driessche1, Thore Graepel1 & Demis Hassabis1

摘要

长久以来,人工智能的目标是在富有挑战性的领域中学习出一种从无知幼儿到超级专家的算法。最近,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作为价值的样本,可以自我搜索 - 可以被视为强大的策略评估运算符。我们的强化学习算法的主要思想是使用这些搜索算子。

AlphaGo Zero论文中文版:Mastering the game of Go without human knowledge_第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)

AlphaGo Zero论文中文版:Mastering the game of Go without human knowledge_第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的最终表现

AlphaGo Zero论文中文版:Mastering the game of Go without human knowledge_第3张图片
我们随后使用更大的神经网络和更长的持续时间将我们的强化学习流程应用于AlphaGo Zero的第二个实例。训练再次从完全随机的行为开始,持续约40天。
在训练过程中,生成了二千九百万次自娱自乐的游戏。参数从310万个小批量更新,每个2048个职位。神经网络包含40个残差块。学习曲线如图6a所示。在扩展数据图5和补充信息中显示了在训练中定期进行的游戏。

AlphaGo Zero论文中文版:Mastering the game of Go without human knowledge_第4张图片

我们通过内部比赛对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知识,以及为最古老的游戏提供新的见解的新颖策略。

你可能感兴趣的:(深度学习,计算机视觉)