AlphaGo Zero论文《Mastering the game of Go without human knowledge》阅读笔记

AlphaGo Zero论文阅读笔记

原论文:《Mastering the game of Go without human knowledge》


简述:

论文提出了一种新的围棋人工智能算法AlphaGo Zero,该算法可以在完全无监督的情况下进行训练,并且超越了之前的AlphaGo Fan和AlphaGo Lee的表现。

该算法具有如下特点:

  1. 在无监督的情况下,使用自博弈的强化学习进行训练。从随机的行动逐渐具有一定的策略。

  2. 仅仅使用局面上的黑白棋落子情况作为输入,没有额外设计的输入特征

  3. 使用单一的神经网络,而不是(类似上一代AlphaGo)划分为策略网络和价值网络

  4. 使用基于这一单一神经网络的评估结果的树搜索算法,不使用蒙特卡洛树搜索的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)

posted @ 2024-08-26 14:50  icey_z  阅读(332)  评论(0)    收藏  举报