junxiaosong / AlphaZero_Gomoku

An implementation of the AlphaZero algorithm for Gomoku (also called Gobang or Five in a Row)
MIT License
3.27k stars 964 forks source link

c_puct 这个参数是什么意思? #10

Closed 1715509415 closed 6 years ago

1715509415 commented 6 years ago

一直不懂这个参数的意思。有什么作用?

junxiaosong commented 6 years ago

c_puct是MCTS里用来控制exploration-exploit tradeoff的参数(AlphaGo Zero论文里的原话是 c_puct is a constant determining the level of exploration),这个参数越大的话MCTS搜索的过程中就偏向于均匀的探索,越小的话就偏向于直接选择访问次数多的分支

1715509415 commented 6 years ago

哦,谢谢,有个疑问,zero的学习率不是人的学习效率吗,不是越高越好吗,为什么训练步step越多,学习率反而越低?

junxiaosong commented 6 years ago

zero的学习率和一般的监督学习里的学习率是一样的,只是随机梯度下降的步长而已,逐渐降低是很常用的learning rate设置,因为训练后期离最优比较近了,步长太大了容易震荡不收敛