AlphaGo Zero 与深度强化学习(一) 概述
原文: Mastering the Game of Go without Human Knowledge(2017)
概览
做的什么
- 完全基于强化学习,使
AlphaGoZero
(下文简称 zero)通过自己的神经网络在很短的时间打败了前 AlphaGo。 - 完全无人类数据干预。
- 使用强化深度学习
- 输入特征简单
提到的的技术
- 强化学习
- 深度学习
Monte-Carlo Tree Search(MCTS)
决策树- 新的强化学习方法-将
lookahead search
直接放到training
里 - Q 函数与 fθ 函数以及针对棋类的 Loss
- 采用 ResBlock 将强化学习用深度网络的方式表示出
优势
- 完全无人类数据干预,从0实现纯自主学习。
- 可以超出人认知的领域。不依赖于
经验
- 独自由强化学习训练,由
瞎玩
开始。不用人类的先验数据,本例为棋谱。 - 输入特征简单,只需要单个nn(前 Alpha 网络需要两个深度网络)
- 相比于复杂的
MCTS
决策树,只需要简单的树便可实现。决策轮回中不需要反向传播
不足
- 能源消耗:4TPU
老式机器学习方法
- 训练数据不可靠
- 训练出的模型是“训练数据强加的”性格
强化学习
- 属于监督学习的扩展
- 不局限于
先验性
前身AlphaGo Fan, Lee 两个深度网络
训练时
规则网
- 输出更多可能
- 监督学习学专家的走法
policy-gradient reinforcement learning
一个决策网
- 优化落子位置
- 预测如何能赢,通过规则网
自我对抗
(自己和自己下着玩)
训练后
使用
Monte-Carlo Tree Search(MCTS)
决策树 下一步探索
MCTS wiki使用已训练好的规则网络找到最高胜率的分支
- 使用已训练的决策网优化分支
AlphaZero 中的强化学习
前景: fθ θ :参数 ;s:位置;P 当前点的先验概率。
基本状态
- 输入:位置 s
- 输出:
- 可能性 p:当前位置落子的可能性
- 价值 v:当前用户在该位置落子后产生的价值,即对最后结果的影响
网络组成
- 带有
BN
与non-liner
的残差单元与卷积层 - 第一层为普通的卷积层后面为20层的ResNet残差块
训练方式
在棋盘的每个位置 s:
- 先在