• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Mastering the game of Go without human knowledge (AlphaGo Zero)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

AlphaGo的树搜索结合了深度神经网络,这些网络是由专家知识进行监督式学习以及从selfplay中进行强化学习。AlphaGo Zero仅基于强化学习,一个神经网络被训练来预测行为的选择和价值。该神经网络提高了树搜索的性能,从而在下一次迭代中提供了更高质量的移动选择和更强的自我玩法,同时更精确的树搜索又能改善网络性能。


Introduction

AlphaGo训练了两个神经网络——策略网络和值网络。策略网络通过监督学习进行初始化训练,以准确预测人类专家的行动,随后通过策略梯度强化学习对其进行完善。 价值网络以预测策略网络自我博弈的赢家来进行训练。一旦经过训练,这些网络将与蒙特卡洛树搜索(MCTS)组合在一起以提供前瞻性搜索。使用策略网络将搜索范围缩小到高概率移动,并使用价值网络(与蒙特卡罗rollouts结合使用快速rollouts策略)以评估树中的位置。

AlphaGo Zero与AlphaGo不同之处在于:

  • 它仅通过selfplay强化学习来训练,从随机游戏开始,无需任何监督或使用人类数据;
  • 它仅使用棋盘上的黑白子作为输入特征;
  • 它使用单个神经网络,而不是单独的策略和价值网络;
  • 它使用了一个更简单的树搜索,该树搜索依靠此单个神经网络来评估位置和样本行为,而无需执行任何Monte Carlo rollouts操作。

为此,作者在训练循环内结合了lookahead search。

Reinforcement learning in AlphaGo Zero


AlphaGo Zero使用参数为θ的深度神经网络fθf_θ。该神经网络将位置及其历史的原始棋盘表示ss作为输入,并输出移动概率和价值,(p,v)=fθ(s)(\bold{p},v)=f_\theta(s)。移动概率向量p\bold{p}表示选择每个移动a(包括pass)的概率,pa=Pr(as)p_a=Pr(a|s)。值vv是一个标量评估,它估计当前玩家从位置ss获胜的概率。 该神经网络将策略网络和价值网络的角色组合到一个架构中。神经网络替换成了ResNet的结构。

在每一个位置ss,在神经网络fθf_\theta的引导下执行MCTS搜索。MCTS搜索输出每一步的概率ππ。 这些搜索概率通常会选择比神经网络fθ(s)f_θ(s)的原始行为概率p\bold{p}更优的行为; 因此,MCTS可以被视为强大的策略改进方法。 在self-play过程中使用搜索,使用improved MCTS-based policy来选择每一步动作,使用游戏赢家zz更新value,这同时也可以被视为强大的策略评估改进方法。

在策略迭代过程中重复使用这些搜索方法:神经网络的参数被更新,以使移动概率和值(p,v)=fθ(s)(\bold{p},v)=f_\theta(s)与改进的搜索概率和selfplay游戏赢家(π,z)(π, z)更加匹配;这些新参数将在下一次selfplay的迭代中使用,以使搜索更加强大。 图1展示了自学训练pipline。


如图2所示,MCTS使用神经网络fθf_\theta引导搜索,反过来搜索结果用于更新网络。每一个边(s,a)(s,a)包含先验概率P(s,a)P(s,a),访问次数N(s,a)N(s,a),行为价值Q(s,a)Q(s,a)。每次模拟都是从根节点开始,迭代地选择动作以最大化下式:

直到叶子节点ss'不包含在树内。此叶子节点仅展开与评估一次,使用网络预测其先验概率与评估值,(P(s,),V(s))=fθ(s)(P(s',\cdot),V(s'))=f_\theta(s')。然后所有遍历到的边(s,a)(s,a)都需要增量更新访问次数和行为价值。

这一基于MCTS的强化学习算法可以看做以网络参数θ\theta和根位置ss为输入,计算输出行为概率,π=αθ(s)\bold{\pi}=\alpha_\theta(s)。与每一步访问次数的指数成正比,πaN(s,a)1/τ\pi_a\propto N(s,a)^{1/\tau}τ\tau为温度系数。

神经网络具体训练步骤如下:

  • 初始化神经网络权重为θ0\theta_0
  • 在每个后续迭代i1i≥1时,都会产生self-play的游戏(图1a);
  • 在每一时间步tt,使用神经网络的先前迭代版本fθi1f_{θ_{i-1}}执行MCTS搜索πt=αi1(st)\pi_t=\alpha_{i-1}(s_t),并通过对搜索概率πtπ_t进行采样来选择动作;
  • 游戏在步骤TT终止,其终止条件为:①两个玩家都放弃落子;②搜索值下降到辞阈值以下;③游戏超过最大长度;
  • 对游戏进行计分,以得到rT{1+1}r_T∈\{− 1,+ 1\}的最终奖励;
  • 每个时间步tt的数据都存储为(st,πt,zt)(s_t,π_t,z_t),其中zt=±rTz_t =±r_T是从当前玩家的角度来看在步骤tt的游戏获胜者。 并行地(图1b),新网络参数θiθ_i是根据selfplay的最后一次迭代的所有时间步中均匀采样的数据(s,π,z)(s,π,z)训练的;
  • 更新网络(p,v)=fθ(s)(\bold{p},v)=f_\theta(s),网络损失由MSE、交叉熵损失和正则化构成:

Empirical analysis of AlphaGo Zero training


从完全随机行为开始训练,结果如图3所示。在整个训练过程中,学习进展顺利,并且没有遭受先前文献中提到的振荡或灾难性遗忘。AlphaGo Zero训练36小时后就超越了AlphaGo Lee,72小时后超越了最新版本的AlphaGo Lee(打败李世石的版本),而AlphaGo Lee训练了几个月。此外,AlphaGo Zero仅使用a single machine with 4 tensor processing units (TPUs),而AlphaGo Lee使用了many machines and used 48 TPUs。


图4验证了AlphaGo Zero中网络结构和算法(单一网络)的贡献。使用AlphaGo Lee中独立的策略和价值网络,或AlphaGo Zero中的组合策略和价值网络,创建了四个神经网络;并使用AlphaGo Lee的卷积网络架构或AlphaGo Zero的残差网络架构。在72小时的self-play训练后,使用由AlphaGo Zero生成的固定的自玩游戏数据集,对每个网络进行了训练,以最大程度地减少相同的损失函数(等式(1))。实验表明使用残差网络更加准确,在AlphaGo中实现了600 Elo的降低,误差更低,并且性能得到了改善。将策略和价值组合到一个网络中会稍微降低移动预测的准确性,但会减少价值错误,并使AlphaGo的游戏性能再提高600 Elo。这部分是由于提高了计算效率,但更重要的是,双重目标将网络调整为支持多个用例的通用表示形式。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Go语言基础之变量和常量发布时间:2022-07-10
下一篇:
Go语言实现简单的TCP、UDP链接发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap