AlphaGo Zero论文阅读笔记
原论文:《Mastering the game of Go without human knowledge》
简述:
论文提出了一种新的围棋人工智能算法AlphaGo Zero,该算法可以在完全无监督的情况下进行训练,并且超越了之前的AlphaGo Fan和AlphaGo Lee的表现。
该算法具有如下特点:
-
在无监督的情况下,使用自博弈的强化学习进行训练。从随机的行动逐渐具有一定的策略。
-
仅仅使用局面上的黑白棋落子情况作为输入,没有额外设计的输入特征
-
使用单一的神经网络,而不是(类似上一代AlphaGo)划分为策略网络和价值网络
-
使用基于这一单一神经网络的评估结果的树搜索算法,不使用蒙特卡洛树搜索的rollouts来评估结果
神经网络设计
使用单一的深度神经网络\(f\),该网络具有两个输出\((\mathrm{p},v) = f_\theta(s)\),其中\(s\)为棋盘局面输入,向量\(\mathrm{p}\)表示每一个可行移动的概率,值\(v\)为一个评估标量,表示在当前局面\(s\)下,当前操作的棋手获胜的可能性
神经网络包含多个卷积层的残差块,并使用了批归一化和非线性整流函数
强化学习策略
AlphaGo Zero使用基于自博弈的强化学习。在每个局面下,将执行一次基于神经网络\(f_\theta\)的MCTS搜索,每次搜索结束后,MCTS将给出一个概率向量\(\pi\)表示每一步行动的概率。通过MCTS得到的该概率相比于直接使用神经网络得到的概率\(\mathrm{p}\)是一个更强的行动,因此MCTS可以被视为一个强大的策略改进(policy improvement)操作。同理,MCTS得到的胜者\(z\)相比于神经网络结果\(v\)同样是一个策略改进操作。因此,训练神经网络的结果\((\mathrm{p},v) = f_\theta(s)\)匹配结果\((\pi,z)\),然后用新的参数继续进行MCTS搜索并不断迭代。
MCTS(Monte-Carlo Tree Search)策略
蒙特卡洛树搜索使用神经网络\(f_\theta\)来引导模拟。在局面\(s\)下,对于每一个可行的操作边\((s,a)\),保存了先验概率\(P(s,a)\),访问数\(N(s,a)\)以及行为价值\(Q(s,a)\),每次搜索时,从当前根状态出发,每次选择最大的\(Q(s,a) + U(s,a)\),其中\(U(s,a) \propto P(s,a)/(1 + N(s,a))\),直到到达一个叶子节点\(s'\),在该叶子节点处,将进行拓展并使用神经网络进行单次的评估,产生先验概率和评估值\((P(s',),V(s'))=f_{\theta}(s')\),在这过程中,每一条边 \((s,a)\)将会被更新访问数\(N(s,a)\)的值,同时,行为价值也会被更新为子节点的平均值,即\(Q(s,a) = 1 / N(s,a)\sum_{s'|s,a\rightarrow{s'}}V(s')\),其中\(s,a\rightarrow s'\)代表状态\(s\)经过操作\(a\)后达到状态\(s'\)
参考资料
AlphaZero实战:从零学下五子棋(附代码) - 知乎 (zhihu.com)
AlphaGo Zero论文解析 | 蘑菇先生学习记 (xtf615.com)
如何学习蒙特卡罗树搜索(MCTS) - 知乎 (zhihu.com)
标签:knowledge,神经网络,Zero,AlphaGo,game,搜索,theta,MCTS From: https://www.cnblogs.com/iceyz/p/18381019