zoukankan      html  css  js  c++  java
  • 强化学习(David Silver)5: 免模型控制

    1、简介

    为什么需要免模型控制

    1) 有的MDP未知,但是可以采样

    2) 有的MDP已知,但是空间太大,需要采样

    同策略学习

    从经历的同策略样本中学习

    异策略学习

    从类似的策略空间中采样

    2、同策略MC

    2.1、一般的GPI(一般策略迭代)

    策略评估+策略改善

    2.2、同策略MC

    用MC做策略评估(非常慢非常耗时)+厄普西隆贪心策略优化

    贪心改善策略依赖于MDP方程,不是Model-free的; 这里使用Q(s,a)来迭代, 无需MDP, v(s) = maxQ(S,a)

    课程中指出, 其实无需完全计算Q真值, 计算一个近似值就可以迭代; 这样可以提升迭代速率(GLIE就是做这个事情的)

    GLIE策略保证收敛:

    1)每个(s,a)都探索无限次

     2)最终策略是收敛的

    3、同策略TD

    使用Sarsa: Q(S,A) <-Q(S,A) + lambda* ( R + lambda2 * Q(S', A') - Q(S,A))

    Sarsa的收敛性: sum(a)->无穷;sum(a^2)->有限值

    类似于TD(lambda)的多步Sarsa计算: 和TD(lambda)公式完全一致, 只是把V(s) 替换为Q(S,A)

    4、异策略学习

    4.1、重要性采样

    MC重要性采样

    G(tv)=v(At|St)v(At+1|St+1).../u(At|St)u(At+1|St+1)*G(tu)

    V(S)=V(S)+lambda*(G(tv) - V(st))

    Silver不建议这样做,这样效果很差,因为中间乘积太多,变化太大了

    TD重要性采样

    V(S)=V(S)+lambda * ( v(A|S)/u(A|S)* (Rt+1 + lambda * V(St+1)) - V(St))

    4.2、Q-learing

    不需要重要性采样

    计算时,从u中抽样R,St+1,从v中抽样A,why it works?

    Q(St,At) <-Q(St,At) + lambda* ( R + lambda2 * Q(St+1, A') - Q(St, At))

    Q-learning control:

    Q(St,At) <-Q(St,At) + lambda* ( R + maxa lambda2 * Q(St+1, a) - Q(St, At))

    5、总结

    DP和TD的比较

    1)DP需要知道MDP,需要full backup; TD相反

    2)对v使用贝尔曼期望方程时,DP是迭代策略估计;TD是 TD learning

    3)对v使用贝尔曼期望方程时,DP是策略得带;TD是 Sarsa

    4)使用贝尔曼最优方程时,DP是值迭代;TD是Q-learning

    Question:

    为什么u/v的重要性采样公式是这样?移项可以发现两边相等

    如果发现文中有问题,敬请联系作者批评指正,真诚欢迎您的指教,谢谢!

    微信: legelsr0808

    邮箱: legelsr0808@163.com

  • 相关阅读:
    PostgreSQL主从流复制部署
    MySQL集群主从复制搭建
    zabbix修改支持中文主机名
    BGP总结(三)
    BGP总结(二)
    BGP总结(一)
    VXLAN配置实例(华为)
    VXLAN理论解析
    飞塔创建IPSec
    关于SANGFOR AC记录上网记录
  • 原文地址:https://www.cnblogs.com/ai1024/p/7380280.html
Copyright © 2011-2022 走看看