强化学习(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

原文地址:https://www.cnblogs.com/ai1024/p/7380280.html