# 1. AlphaGo介绍
# 1.1. 两篇论文
- David Silver et al., Mastering the Game of Go with Deep Neural Networks and Tree Search, Nature, 2015.
- David Silver et al., Mastering the Game of Go without Human Knowledge,Nature, 2017.
三个深度策略网络 (Policy Networks),一个深度估值网络(Value Network)
# 1.2. 深度策略网络 pσ : (Supervised Learning Policy Network)
- 输入:当前棋盘状态。
- 输出:下一步的走法。
- 训练数据: KGS Go SERVER上的 三亿个样本。
- 网络设置: 13层深度网络。
- 输入的特征如下图
- 结果:57%正确率,3ms一步
这里的正确率指,通过棋盘的状态预测下一步走棋,判断是否和高手下的是否一致。57%是很高的数字,因为上一次这样走、下一次还这样走的可能性比较低。
具体参数如下:
优化分析 :
棋盘特征:
# 1.3. 深度策略网络 pρ : (Reinforcement Learning Policy Network)
- 网络结构、输入输出与 pσ 完全一样。
- 一开始初始化网络参数ρ = σ
- 参数更新策略,自己和自己下棋,不断下下去直到分出胜负。
上式中, pρ(at|st) 为在第t步走下一步at的概率,当胜利时,Zt 等于1,否则 Zt 等于0。
强化学习训练策略:
对手是比他差一点,然后他提升一点,让他的对手也提升一点。
训练细节和结果:
# 1.4. 深度策略网络pπ: (Rollout Policy Network)
- 输入特征比pσ 和 pρ少。
- 网络结构更简单。
换句话说,这个网络以牺牲准确率换取速度。24.2%正确率,2um一步。
# 1.5. 深度估值网络vθ: (Rollout Policy Network)
- 输入:当前棋盘状态 (与 pσ输入一样),以及执黑或执白。
- 输出: 获胜的概率(一个0到1的数)
- 参数更新策略:
用pρ来预测z
步骤:
# 1.6. 下棋方法 -- 蒙特卡洛树搜索 (Monte Carlo Tree Search):
多次模拟未来棋局,然后选择在模拟中获胜次数最多的走法
蒙特卡洛树搜索 (Monte Carlo Tree Search)最终确定走棋。
- 一个是专家的意见,一个是真实的走法,兰姆达是其平衡因子。
- 除以N是赋予其随机性,就是不要陷入局部走法,给其他位置以一定的机会
# 1.7. AlphaGo Zero 的改进
- 完全不需要人类棋谱,采用自己和自己下棋的方式学习。
- 将走棋网络和估值网络合并为一个网络:
自学习过程和神经网络训练过程
标签π的生成
目标函数