深度增强学习David Silver(五)——Model-Free Control
本节课主要内容:
- On-Policy Monte-Carlo Control
- On-Policy Temporal-Difference Learning
- Off-Policy Learning
On-Policy Monte-Carlo Control
上节课讲了model-free的预测,这节课讲优化控制。
回忆一下之前的内容,lecture03讲到对于给定模型的MDP,通过V(s)改进策略:
如果我们想知道v(s)的值,那我们总是需要求出环境的模型。而行动价值函数
但是每次总是选择最好的Q保证了exploitation,不能满足exploration,也就是没有遍历足够多的情况。因此用
以下证明
因此,我们是使用lecture04 讲到的Monte-Carlo进行policy evaluation,用
- 所有的状态-行动对被无限地探索很多次。
limk→∞Nk(s,a)=∞ - 策略最终收敛到一个贪心算法。
limk→∞πk(a|s)=1(a=argmaxa′∈AQk(s,a′))
举个例子,若
现在我们有了一个完整的未知环境MDP的解决方案:GLIE Monte-Carlo Control。
- 使用策略
π 采样一个episode:S1,A1,R2,...,ST∼π - 更新episode中的每个状态和行动:
N(St,At)←N(St,At)+1 Q(St,At)←Q(St,At)+1N(St,At)(Gt−Q(St,At)) - 基于新的行动-价值函数改进策略
ϵ←1/k π←ϵ−greedy(Q)
On-Policy Temporal-Difference Learning
TD相对于MC有很多优点,比如低方差、online、不完整的序列,因此考虑在控制优化使用TD而不是MC:将TD应用到
这称之为Sarsa方法,算法如下:
这是经过1步的Sarsa算法,和之前的TD算法类似,Sarsa也有经过n步。设经过n步的Q-return为:
1. forward-view中的
2. backward-view在online的算法中使用eligibility trace:
Off-Policy Learning
前面讨论的都是建立在已知策略的基础上的,所用的策略就是正在学习的策略,但是有一些情况,我们想学习别的策略,比如我们想学习行为策略
为什么要关心未知策略的学习呢?
- 通过观察周围的环境和周围人的行为来学习。
- 二次使用旧的策略。
- 在exporation的时候能够学习到最优策略。
- 在exploitation的时候能够学习到多个策略。
那怎么选择策略呢?使用importance sampling。采用两个策略
对于off-policy Monte-Carlo使用importance sampling:
- 使用面向Monte-Carlo的策略
μ 产生的return来估计策略π -
Gπ/μt=π(At|St)μ(At+1|St+1)π(At+1|St+1)μ(At+1|St+1)...π(AT|ST)μ(AT|ST)Gt - 更新价值:
V(St)←V(St)+α(Gπ/μt−V(St))
对于off-policy TD使用importance sampling:
- 使用面向TD的策略
μ 产生的return来估计策略π - 给TD的目标
R+γV(S′) 加权 - 更新价值:
V(St)←V(St)+α(π(At|St)μ(At|St)(Rt+1+γV(St+1))−V(St)) - 比Monte-Carlo importance sampling的方差小
- 不需要每一步的策略都相同
针对off-policy的解决方案是Q-learning。off-policy的行动-价值函数
最后贴上DP和TD的关系: