概述
Mastering the game of Go without human knowledge
文章时间: Nature 2017
文章的整体思路: 运用 model-based RL + Monte Carlo Tree Search to find the best startegy in Many games.
什么是亮点: AlphaGo已经能够超越人类(不是纯RL,还有很多的专家知识), AlphaZero相比AlphaGo能力更强,而且不需要人类的知识,只需要自己尝试。
特点: MCTS , self-play RL,无专家经验,只使用黑白子的位置作为输入状态, 单神经网络(不区分策略和价值函数)
怎么做的:
摘要
AlphaGo 通过搜索树来评价不同的状态,然后使用神经网络选择移动。神经网络先被人类专家进行监督训练,再使用强化学习进行self.play. 本文我们介绍一种不使用人类数据(除了游戏规则),只使用RL的算法。 AlphaGo成为自己的老师: 神经网络用于预测 AlphaGo自己的下一步以及AlphaGo的胜利者。这种神经网络提升了 树搜索的强项,生成了高质量的移动选择 和 下一次迭代中更强的self-play。 AlphaZero最终和 AlphaGo对战,实现了100:0的成果。
强化学习算法
蒙特拉洛树搜索 (MCTS)
在每一个状态
s
s
s中, MCTS都会执行。MCTS会生成 比神经网路更好的移动
采用的模型
采用一个neural network模型同时得到 采取每一个动作的概率 和 价值 (在该状态下能赢的概率)
(
p
,
v
)
=
f
(
s
)
(p,v)=f(s)
(p,v)=f(s)
The vector of move probabilities p: 表示了 每一个动作的概率。
The value v: 评价在此状态
s
s
s下 获胜的概率。
神经网络模型
包含CNN wtih batch normalization and ReLU 的 卷积层
或者 ResNet
状态
领域知识:
- 游戏规则,排除不能走的位置 | 决定每盘棋终止的位置
- 输入的特征都是在 19X19的网格中
- 围棋的状态与 棋盘的旋转和对称都无关,因此在样本集中会将一个样本变成不同旋转角度/对称的样本(加强训练) ; 在运用MCTS时我们会随机旋转/对称 棋盘。
- 对先手和后手同时进行模拟: 输入状态安装当前玩家的视角进行输入。
状态: 17个19X19网格。 19X19表示棋盘的网格位置, 第一个表示19X19 表示自己下的棋子的位置:自己下的位置表示1,其余表示0。 第二个19X19表示 对手棋子的位置。 然后接下来是 自己走过的之前七步的位置 和 对手之前七步的位置(围棋中不能走重复步。)。 最后一个 全是 1 或者 0, 表示 当前是 黑子 还是白字走。