谈起AlphaGo,来看其中的强化学习知识点
谈及AlphaGo中的强化学习知识
谈起AlphaGo来看其中的强化学习知识点
1. Training and Execution
1.1. training in 3 steps:
- 首先,利用 behavior cloning 模仿学习(是一种监督学习)初始化策略网络
- 接着使用强化学习的 policy gradient 策略梯度,进一步训练策略网络
- 最后,用训练好的策略网络来训练价值网络(Not AC算法)
1.2. execution (actually play Go games)
使用蒙特卡洛树搜索MCTS
2. Policy Network
state: 19 ∗ 19 ∗ 17 19*19*17 19∗19∗17 tensor (AlphaGo Zero中), 19 ∗ 19 ∗ ( 8 + 8 ) 19*19*(8+8) 19∗19∗(8+8)表示当前以及前七次落子时的棋局状态,每一次落子时的棋局都得用2个tensor表示分别用于黑子与白子,最后的 19 ∗ 19 ∗ 1 19*19*1 19∗19∗1 tensor用于表示当前轮到黑子方还是白子方落子(只有全0或全1两种取值)。
2.1. initialize policy network by behavior cloning
behavior cloning: let the policy network imitate human players.
P.S., AlphaGo Zero中没有用behavior cloning.
2.1.1 Behavior Cloning
- 它不是强化学习!
- 它是一种模仿学习。
- 在AlphaGo应用中可看做一种多分类

2.1.2 After Behavior Cloning …
如果 s t s_t st出现在海量training data中,AI会用专家的策略来落子;
而如果 a t a_t at并未出现在训练数据中,那么AI很有可能做出的行为连业余玩家都不会那么落子,从而之后的棋局状态会更大可能并未出现在原有的训练数据中,错误会不断累加,策略网络最终可能输掉比赛。
Behavior cloning+RL beats behavior cloning with 80% chance
2.2. train policy network using policy gradient
AlphaGo中有两个策略网络用来做博弈,名叫Player和Opponent。
AlphaGo Zero 用MCTS来训练(见最后)。



3. Value Network
在AlphaGo Zero中,策略网络与价值网络共享卷积层。策略网络的输出是361个概率值,价值网络是估计 V ( s ) V(s) V(s)。
4. Monte Carlo Tree Search(MCTS)

4.1 Selection
AI假想一个动作
4.2 Expansion
AI假想对手会做什么动作
4.3 Evaluation
从状态 s t + 1 s_{t+1} st+1开始,双方依次落子,即Fast Rollout,以得出 r T r_T rT;
利用价值网络得到 V ( s t + 1 ; w ) V(s_{t+1};w) V(st+1;w);
取平均得到Record V ( s t + 1 ) V(s_{t+1}) V(st+1)。
4.4 Backup
用以计算 Q ( a t ) Q(a_t) Q(at)。
4.5 Decision Making after MCTS
AlphaGo 每走一步都要模拟以上Four steps成千上万次,从而得到 N ( a ) N(a) N(a)…
真正的比赛过程中,人类对手落完一次子后,AlphaGo又会初始化 N ( a ) N(a) N(a)与 Q ( a ) Q(a) Q(a)为零,重新开始…
In the end,
Complement:
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)