AlphaGo原理浅析

AlphaGo

论文:
  AlphaGo:《Mastering the game of Go with deep neural networks and tree search》

核心部件:

  - 监督学习的策略网络(SL policy network)
    13layers CNN network
    输入:当前state
    输出:所有可能action的概率分布
    更新策略:
      

Δσlogpσ(a|s)σ

  - 速度快但准确率不如SL的策略网络(fast rollout policy network)
  linear softmax of small pattern features with weights π
    
  - 强化学习的策略网络(RL policy)
  网络结构与SL相同,所有参数初始化为与SL参数相同,即在SL的基础上利用policy gradient reinforcement learning再进行训练。
    
Δρlogpρ(at|st)ρzt

  其中, rewardzt={01t is non-terminal time stept is terminal time step
  - 价值评估网络(value network)
  评估在状态s下采取策略p
  
vp(s)=E[zt|st=s,at...Tp]

  理想状态下,我们可以有一个最优的value function v(s) ,但实际上,我们利用RL policy network估计 vpρ 来近似 v(s) .value network的目标就是建立以 θ 为参数的网络,输出 vθ(s) , vθ(s)vpρv(s) .
  网络目标是最小化估计值 vθ(s) 与对应输出z之间的均方误差
  
Δθvθ(s)θ(zvθ(s))

  

骨架:

  MCTS(Monte Carlo Tree Search)
  Monte Carlo Tree Search in AlphaGo
  Selection:
  每条边 (s,a) 存储了action value Q(s,a) ,访问次数 N(s,a) ,先验概率 P(s,a) .在每次仿真中,从根节点开始,t时刻位于状态 st 时,根据
  

at=argmaxa(Q(st,a)+u(st,a))

选择action.其中, u(s,a)P(s,a)1+N(s,a) 用于鼓励探索。
  Expansion&Evaluation:
  经过L步之后到达某一叶子节点 sL ,到达叶子节点时,将 sL 通过SL网络输出每个legal action a的概率分布, P(s,a)=pσ(a|s) ,将树进行扩展。同时,将叶子节点通过value network计算 vθ(sL) ,通过fast rollout policy pπ 快速到达terminal step得到reward zL ,利用参数 λ 将二者结合起来
  
V(sL)=(1λ)vθ(sL)+λzL

  Backup:
  结束仿真之后,所有被访问过的边的action values和visit counts将被更新。
  
N(s,a)=i=1n11(s,a,i)

  
Q(s,a)=1N(s,a)i=1n11(s,a,i)V(siL)

   siL 是第i次模拟的叶子节点。

这里写图片描述
  


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值