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

论文《Masteing the game of Go without human knowledge》解读

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

1、整体解读

AlphaGo Zero中使用的是强化学习方法,使用的深度神经网络记为fθ (其中θ 是网络的参数)。网络的输入是棋盘状态s(s中表示了当前玩家落子的信息,对手的落子信息,棋盘最后一步落子的信息,当前的棋盘转态谁是先手等信息,即棋盘的历史信息和当前信息)。网络的输出是(p,v),其中p是当前玩家在局面s状态下,即将要选择落子到每一步的概率,所以p是一个向量,假设局面是8*8的五子棋,则p是长度为64的向量,而v则是一个标量的评估值,估计当前玩家从状态s 获胜的概率,v的取值范围是v[1,1],从当前玩家的角度看,v=101分别代表当前玩家输了,平局,赢了(为了方便描述,下面的解读都以8*8的五子棋作为说明实例。)值得注意的是,这个网络将策略网络(输出p的部分)和价值网络(输出v的部分)结合在一起而形成单一架构。该网络由许多具有批量归一化的卷积层和残余块等组成。

图.1 AlphaGo Zero的自我对弈与训练过程

如图.1所示,在每一个s的状态中都首先执行蒙特卡洛(MCTS)搜索得出每次即将要移动的概率π(π跟前面介绍的p其实意义相同,只不过π是MCTS输出的结果,而p是神经网络fθ输出的结果),这里的MCTS跟纯的MCTS搜索不同,它是在神经网络fθ 的指导下进行的搜索。(下面部分详细讲解)。

图1.a.Self-Play表示的过程如下:
假设s1是初始棋盘状态,当前玩家是1,玩家1在棋盘状态s1下准备落子,它不知道走哪一步是最佳的落子位置,所以先在s1的棋盘状态下,执行n次MCTS搜索,根据MCTS搜索得出的移动概率π进行落子(这里π的计算:(1)根据n次MCTS模拟对局产生的每个节点的访问次数得出概率向量p1,即访问最多的p1向量对应那个节点的概率就越大,p1中每个节点概率之和为1,(2)然后经过公式1的计算,即将每个节点的访问次数N通过公式(1)的变换在进行计算其概率,那么最终的概率是p2,如果τ一直取值1,则p2其实就是p1,其中τ为温度参数,控制探索的程度, τ 越大,不同走法间差异变小,探索比例增大,反之,则更多选择当前最优操作(3)将p2的每个节点概率即pa进行公式(2)变换,其中在论文中ε=0.25ηa是dirichlet分布,如公式(3)所示,这样做的目的是在一定程度上有助于覆盖到更多的局面)。当前玩家1在棋盘状态s1经过以上的执行n次MCTS搜索得出π1后,选择落子的方法就是按照概率π1的分布取出下一步移动a1,然后进入下一个棋盘状态s2,当前玩家交换为玩家2,不断重复上面步骤直到状态st分出胜负z,这里z只有3种可能,赢,平局,输,分别对应1,0,-1。收集到的数据形式是(si,πi,z)