深度增强学习David Silver(五)——Model-Free Control
本节课主要内容:On-Policy Monte-Carlo ControlOn-Policy Temporal-Difference LearningOff-Policy Learning
本节课主要内容:
- 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(s,a) 能够让我们在不知道环境模型的情况下进行控制,Q评估各个状态的各个行为有多好。因此对于model-free的MDP,我们通过 Q(s,a) 改进策略:
但是每次总是选择最好的Q保证了exploitation,不能满足exploration,也就是没有遍历足够多的情况。因此用 ϵ -Greedy来保证优化。一开始所有的m个行动以非零概率初始化,以 1−ϵ 的概率选择最好的情况,以 ϵ 的概率随机选择行动。
π(a|s)=⎧⎩⎨ϵ/m+1−ϵϵ/mif a*=argmaxa∈AQ(s,a)otherwise
以下证明 ϵ -Greedy的策略 π′ 总是能得到改进
因此,我们是使用 lecture04 讲到的Monte-Carlo进行policy evaluation,用 ϵ -greedy进行policy improvement。要找到最优值,就要对exploration和exploitation进行平衡,使用Greedy in the Limit with Infinite Exploration (GLIE),即在有限状态下进行无限探索的贪婪算法,使用GLIE需要两个条件:
- 所有的状态-行动对被无限地探索很多次。
limk→∞Nk(s,a)=∞ - 策略最终收敛到一个贪心算法。
limk→∞πk(a|s)=1(a=argmaxa′∈AQk(s,a′))
举个例子,若 ϵk=1k ,当 ϵ 接近于0的时候, ϵ -greedy是GLIE。
现在我们有了一个完整的未知环境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应用到
Q(S,A)
:
这称之为Sarsa方法,算法如下:
这是经过1步的Sarsa算法,和之前的TD算法类似,Sarsa也有经过n步。设经过n步的Q-return为:
Q(St,At)←Q(St,At)+α(q(n)−Q(St,At))
Sarsa(λ) 分为forward-view和backward-view。
1. forward-view中的 qλ 使用权值将所有n步的Q-return q(n)t 结合起来。
2. backward-view在online的算法中使用eligibility trace:
E0(s,a)=0
E0(s,a)=γλEt−1(s,a)+1(St=s,At=a)
δt=Rt+1+γQ(St+1,At+1)−V(St,At)
Q(s,a)←Q(s,a)+αδtEt(s,a)
Off-Policy Learning
前面讨论的都是建立在已知策略的基础上的,所用的策略就是正在学习的策略,但是有一些情况,我们想学习别的策略,比如我们想学习行为策略
μ(a|s)
,从环境中选择我们的行动。
为什么要关心未知策略的学习呢?
- 通过观察周围的环境和周围人的行为来学习。
- 二次使用旧的策略。
- 在exporation的时候能够学习到最优策略。
- 在exploitation的时候能够学习到多个策略。
那怎么选择策略呢?使用importance sampling。采用两个策略 π 和 μ ,importance weight为 π/μ 。
对于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的行动-价值函数
Q(s,a)
,它不需要importance sampling。使用行为策略
At+1∼μ(⋅|St)
选择下一步动作。
A′∼π(⋅|St)
是每个状态可选择的后继行动。
最后贴上DP和TD的关系:
更多推荐
所有评论(0)