Alpha Zero论文理解笔记

结合知乎专栏https://zhuanlan.zhihu.com/p/32089487 对alpha zero论文进行了学习


用MCTS方法进行自博弈得到的棋局训练策略价值网络

• 策略价值网络
○ 是用来描述a list of (action, probability) tuples for each available action and the score of the board state
○ 输入:若干个局部棋面描述4*8*8
○ 输出:(p,v)
○ 网络结构:
公共的3层全卷积网络,分别使用32、64和128个 
3*3的filter,使用ReLu激活函数。然后再分成policy和value两个输出,在policy这一端,先使用4个 1*1
的filter进行降维,再接一个全连接层,使用softmax非线性函数直接输出棋盘上每个位置的落子概率;在value这一端,先使用2个 1*1的filter进行降维,再接一个64个神经元的全连接层,最后再接一个全连接层,使用tanh非线性函数直接输出 
之间的局面评分。

• MCTS
○ Select:max(U+Q); Q--visit times,U--p
○ expand:所有可走的点,利用已有的策略价值网络得到(p,v)【在MCTS_pure下是通过simulation完的访问次数来得到p和v的】
○ backup:到棋局最后一步的递归往上传棋局胜负的结果 
○ 进行N次MCTS模拟后可以得到在已有的策略价值网络下各个局面中的可行棋子的访问次数n_i,用n_i/N作为下这步棋子的概率。最终返回(acts, act_pros)
• 训练过程
○ 进行自博弈得到训练数据
§ 自博弈过程:(一局棋局的生成)在每一步下子时,利用MCTS模拟得到(acts,act_pros)【MCTS过程如上所述】,然后根据act_pros选择acts来下子,最终返回这局棋的(winner, zip(states, mcts_probs, winners_z)
○ 利用训练数据进行训练更新策略价值网络

○ 评估网络性能


参考文献

[1]D. Silver et al., “Mastering the game of Go without human knowledge,” Nature, vol. 550, no. 7676, pp. 354–359, Oct. 2017.

你可能感兴趣的:(Alpha Zero论文理解笔记)