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