【强化学习】CH5 无模型控制

CH5 无模型控制(Model-free Control)

5.1 简介

无模型控制:在未知MDP中通过调整策略优化值函数

可解决的问题:MDP模型未知,尽可以采样得到经验;

​ MDP模型已知,但是太大了只能进行采样。

On and Off-Policy Learning

  • On-Policy learning: 从执行策略 π \pi π所得的采样序列去优化学习策略 π \pi π (边学习边改进自身)
  • Off-Policy learning:从执行策略 μ \mu μ所得的采样序列去优化学习策略 π \pi π(观察别人以改进自身)

5.2 On-Policy 蒙特卡洛控制

5.2.1 广义策略迭代(Generalised Policy Iteration)

评估策略 π \pi π值函数,依据此值函数进一步改进策略 π \pi π,再进行评估,直至收敛至最佳

在这里插入图片描述

5.2.2 探索

1️⃣贪婪策略探索

基于动作价值函数的贪婪策略改进,选择动作价值函数最大的动作执行,以概率1执行
π ′ ( s ) = a r g m a x a ∈ A Q ( s , a ) \pi'(s)=argmax_{a\in A}Q(s,a) π(s)=argmaxaAQ(s,a)
存在的问题:

  • 从初始出现较优者时,策略会一直选择较优者以致于较优者越来越优,有可能错过潜在的更优选择。
  • 改进: ϵ − G r e e d y   E x p l o r a t i o n \epsilon-Greedy\ Exploration ϵGreedy Exploration

2️⃣ ϵ − G r e e d y   E x p l o r a t i o n \epsilon-Greedy\ Exploration ϵGreedy Exploration

基于动作价值函数的贪婪策略改进,以概率 1 − ϵ 1-\epsilon 1ϵ执行动作价值函数最大的动作,**以概率 ϵ \epsilon ϵ**选择其他动作。(在策略中加入 ϵ \epsilon ϵ的概率跳出局部最优)

m m m个动作中,执行动作a的概率是
π ( a ∣ s ) = { ϵ / m + 1 − ϵ   i f   a ∗ = a r g m a x a ∈ A Q ( s , a ) ϵ / m   o t h e r w i s e \pi(a|s)=\left\{ \begin{aligned} \epsilon/m+1-\epsilon \ if\ a*=argmax_{a\in A}Q(s,a) \\ \epsilon/m \ otherwise \end{aligned} \right. π(as)={ϵ/m+1ϵ if a=argmaxaAQ(s,a)ϵ/m otherwise
在这里插入图片描述

为加快收敛速度,在评估时使用估值,在未完全评估时即进行策略改进。

5.2.3 GLIE

GLIE(Greedy in the limit with infinite exploration):在无限次探索中达到贪婪极限

性质:

  • 所有状态-动作对都被无限次探索

l i m k − > ∞ N k ( s , a ) = ∞ \mathop{lim} \limits_{k->\infty}N_k(s,a)=\infty k>limNk(s,a)=

  • 该策略收敛于普通贪婪策略,即最后以概率1取状态动作值函数最大的动作

l i m k − > ∞ π k ( a ∣ s ) = 1 ( a = a r g m a x a ′ ∈ A Q ( s , a ′ ) ) \mathop{lim} \limits_{k->\infty}{\pi}_k(a|s)=1(a=\mathop{argmax} \limits_{a'\in A}Q(s,a')) k>limπk(as)=1(a=aAargmaxQ(s,a))

注:只有当 ϵ k = 1 k \epsilon_k=\frac{1}{k} ϵk=k1时, ϵ − G r e e d y   E x p l o r a t i o n \epsilon-Greedy\ Exploration ϵGreedy Exploration才是 G L I E GLIE GLIE

GLIE蒙特卡洛控制:

第使用策略 π \pi π得到的k个采样序列 S 1 , A 1 , R 2 , . . . , S T {S_1,A_1,R_2,...,S_T} S1,A1,R2,...,ST

对于此序列的每个状态动作对 ( S t , A t ) (S_t,A_t) (StAt):
N ( S t , A t ) < − N ( S t , A t ) + 1 Q ( S t , A t ) < − Q ( S t , A t ) + 1 N ( S t , A t ) ( G t − Q ( S t , A t ) ) " 增量更新 " N(S_t,A_t)<-N(S_t,A_t)+1\\ Q(S_t,A_t)<-Q(S_t,A_t)+\frac{1}{N(S_t,A_t)}(G_t-Q(S_t,A_t))\\ "增量更新" N(St,At)<N(St,At)+1Q(St,At)<Q(St,At)+N(St,At)1(GtQ(St,At))"增量更新"
基于状态动作值函数改进策略:
ϵ ← 1 / k π ← ϵ − g r e e d y ( Q ) \epsilon \leftarrow 1/k\\ \pi\leftarrow\epsilon-greedy(Q) ϵ1/kπϵgreedy(Q)
注:GLIE蒙特卡洛控制的值函数收敛于最优状态动作值函数

5.3 On-Policy 差分学习

5.3.1 S a r s a ( 0 ) Sarsa(0) Sarsa(0)

状态动作值函数的计算:使用下一状态与下一状态会采取的动作的状态动作值函数( G t G_t Gt的近似)进行更新(均使用策略 π \pi π学习)
Q ( S , A ) < − Q ( S , A ) + α ( R + γ Q ( S ′ , A ′ ) − Q ( S t , A t ) ) Q(S,A)<-Q(S,A)+\alpha(R+\gamma Q(S',A')-Q(S_t,A_t)) Q(S,A)<Q(S,A)+α(R+γQ(S,A)Q(St,At))

策略(走哪一步)的优化方式: ϵ − g r e e d y ( Q ) \epsilon-greedy(Q) ϵgreedy(Q)

迭代过程:

在这里插入图片描述

在这里插入图片描述

注:Sarsa会收敛到最优动作状态值函数的条件:

  • 策略序列为GLIE
  • Robbins-Monro 序列的步进尺寸 α t \alpha_t αt:

∑ t = 1 ∞ α t = ∞ ∑ t = 1 ∞ α t 2 = ∞ \sum_{t=1}^{\infty}\alpha_t=\infty\\ \sum_{t=1}^{\infty}\alpha_t^2=\infty t=1αt=t=1αt2=

可以通过设计 α t \alpha_t αt满足上述性质,依次使得动作状态值函数收敛到最优。

5.3.2 S a r s a ( λ ) Sarsa(\lambda) Sarsa(λ)

n-Step Sarsa:

状态动作值函数的计算:使用下n个状态与下n个状态会采取的动作的状态动作值函数( G t G_t Gt的近似)进行更新(均使用策略 π \pi π学习)
q t ( n ) = R t + 1 + γ R t + 2 + . . . + γ n − 1 R t + n + γ n Q ( S t + n ) Q ( S t , A t ) < − Q ( S t , A t ) + α ( q t ( n ) − Q ( S t , A t ) ) q_t^{(n)}=R_{t+1}+\gamma R_{t+2}+...+\gamma^{n-1}R_{t+n}+\gamma ^nQ(S_{t+n})\\ Q(S_t,A_t)<-Q(S_t,A_t)+\alpha(q_t^{(n)}-Q(S_t,A_t)) qt(n)=Rt+1+γRt+2+...+γn1Rt+n+γnQ(St+n)Q(St,At)<Q(St,At)+α(qt(n)Q(St,At))
策略(走哪一步)的优化方式: ϵ − g r e e d y ( Q ) \epsilon-greedy(Q) ϵgreedy(Q)

1️⃣前向 S a r s a ( λ ) Sarsa(\lambda) Sarsa(λ)

使用权重 ( 1 − λ ) λ n − 1 (1-\lambda)\lambda^{n-1} (1λ)λn1组合选择 q t ( n ) q_t^{(n)} qt(n)得到 q λ q^{\lambda} qλ

状态动作值函数的计算:
q t λ = ( 1 − λ ) ∑ n = 1 ∞ λ n − 1 q t ( n ) Q ( S t , A t ) < − Q ( S t , A t ) + α ( q t ( λ ) − Q ( S t , A t ) ) q_t^{\lambda}=(1-\lambda)\sum_{n=1}^{\infty}\lambda^{n-1}q_t^{(n)}\\ Q(S_t,A_t)<-Q(S_t,A_t)+\alpha(q_t^{(\lambda)}-Q(S_t,A_t)) qtλ=(1λ)n=1λn1qt(n)Q(St,At)<Q(St,At)+α(qt(λ)Q(St,At))
λ = 1 \lambda=1 λ=1:收敛速度慢,减小 λ \lambda λ会缩小收敛速度

在这里插入图片描述

2️⃣后向 S a r s a ( λ ) Sarsa(\lambda) Sarsa(λ)

e l i g i b i l i t y   t r a c e eligibility\ trace eligibility trace
E 0 ( s , a ) = 0 E t ( s , a ) = γ λ E t − 1 ( s , a ) + 1 ( S t = s , A t = a ) E_0(s,a)=0\\ E_t(s,a)=\gamma\lambda E_{t-1}(s,a)+1(S_t=s,A_t=a) E0(s,a)=0Et(s,a)=γλEt1(s,a)+1(St=s,At=a)
Q ( s , a ) Q(s,a) Q(s,a)在每个状态s和动作a更新
T D − e r r o r : δ t = R t + 1 + γ Q ( S t + 1 , A t + 1 − Q ( S t , A t ) ) Q ( s , a ) ← Q ( s , a ) + α δ t E t ( s , a ) TD-error:\delta_t=R_{t+1}+\gamma Q(S_{t+1},A_{t+1}-Q(S_t,A_t))\\ Q(s,a)\leftarrow Q(s,a)+\alpha\delta_tE_t(s,a) TDerror:δt=Rt+1+γQ(St+1,At+1Q(St,At))Q(s,a)Q(s,a)+αδtEt(s,a)
在这里插入图片描述

5.4 Off-Policy学习

通过行为策略behavior policy μ ( a ∣ s ) \mu(a|s) μ(as)优化target policy π ( a ∣ s ) \pi(a|s) π(as)

可通过一个策略学到多个策略

5.4.1 Importance Sampling

前述:如何估计不同的分布的期望
E X − P [ f ( x ) ] = ∑ P ( X ) f ( x ) ∑ Q ( X ) P ( X ) Q ( X ) f ( X ) = E X − Q [ P ( X ) Q ( X ) f ( X ) ] E_{X-P}[f(x)]=\sum P(X)f(x)\\ \sum Q(X)\frac{P(X)}{Q(X)}f(X)\\ =E_{X-Q}[\frac{P(X)}{Q(X)}f(X)] EXP[f(x)]=P(X)f(x)Q(X)Q(X)P(X)f(X)=EXQ[Q(X)P(X)f(X)]
1️⃣Importance Sampling for Off-Policy Monte-Carlo

使用 μ \mu μ回报估计 π \pi π

基于策略间的相似性求取权重回报 G t G_t Gt,需要多次采样
G t π / μ = π ( A t ∣ S t ) π ( A t + 1 ∣ S t + 1 ) . . . π ( A T ∣ S T ) μ ( A t ∣ S t ) μ ( A t + 1 ∣ S t + 1 ) . . . μ ( A T ∣ S T ) G t π 与 μ 越接近, G t π / μ 越接近 G t G_t^{\pi / \mu}=\frac{\pi(A_t|S_t)\pi(A_{t+1}|S_{t+1})...\pi(A_{T}|S_{T})}{\mu(A_t|S_t)\mu(A_{t+1}|S_{t+1})...\mu(A_{T}|S_{T})}G_t\\ \pi与\mu越接近,G_t^{\pi / \mu}越接近G_t Gtπ/μ=μ(AtSt)μ(At+1St+1)...μ(ATST)π(AtSt)π(At+1St+1)...π(ATST)Gtπμ越接近,Gtπ/μ越接近Gt
值函数的更新:
V ( S t ) ← V ( S t ) + α ( G t π / μ − V ( S t ) ) V(S_t)\leftarrow V(S_t)+\alpha(G_t^{\pi / \mu}-V(S_t)) V(St)V(St)+α(Gtπ/μV(St))
Importance Sampling mc 具有较大方差。

2️⃣Importance Sampling for Off-Policy TD

使用 μ \mu μTD targets估计 π \pi π

只需要一次采样

值函数的更新:
V ( S t ) ← V ( S t ) + α ( π ( A t ∣ S t ) μ ( A t ∣ S t ) ( R t + 1 + γ V ( S t + 1 ) − V ( S t ) ) V(S_t)\leftarrow V(S_t)+\alpha(\frac{\pi(A_t|S_t)}{\mu(A_t|S_t)}(R_{t+1}+\gamma V(S_{t+1})-V(S_t)) V(St)V(St)+α(μ(AtSt)π(AtSt)(Rt+1+γV(St+1)V(St))
TD Importance Sampling的方差比MC 小。

5.4.2 Q-learning

状态动作值函数的计算:

依据行为策略 μ \mu μ选择下一动作,考虑target 策略 π \pi π的下一个备选动作的值函数
Q ( S t , A t ) < − Q ( S t , A t ) + α ( R t + 1 + γ Q ( S t + 1 , A ′ ) − Q ( S t , A t ) ) Q(S_t,A_t)<-Q(S_t,A_t)+\alpha(R_{t+1}+\gamma Q(S_{t+1},A')-Q(S_t,A_t)) Q(St,At)<Q(St,At)+α(Rt+1+γQ(St+1,A)Q(St,At))

策略(走哪一步)的优化方式: g r e e d y ( Q ) greedy(Q) greedy(Q)

学习收敛过程:

  • target策略 π \pi π采用 G r e e d y Greedy Greedy策略改进:

π ( S t + 1 ) = a r g m a x a ′ Q ( S t + 1 , a ′ ) \pi(S_{t+1})=argmax_{a'}Q(S_{t+1},a') π(St+1)=argmaxaQ(St+1,a)

  • 行为策略 μ \mu μ采用 ϵ − G r e e d y \epsilon-Greedy ϵGreedy策略改进

在这里插入图片描述

Q ( S , A ) < − Q ( S , A ) + α ( R + γ m a x a ′ Q ( S ′ , A ′ ) − Q ( S , A ) ) Q(S,A)<-Q(S,A)+\alpha(R+\gamma max_{a'}Q(S',A')-Q(S,A)) Q(S,A)<Q(S,A)+α(R+γmaxaQ(S,A)Q(S,A))
在所有的可能的A’中,选择Q(S’,A’)最大的进行运算。

注:Q-learning的值函数收敛于最优状态动作值函数。

例:Cliff Walking Example

​ 在4*12的棋盘格中,个体从S出发,目标为G,动作为上下左右,到达空白格的奖励R=-1,到达“The Cliff”带的奖励R=-100,其中到达“The Cliff"带的个体会返回起点S。问:safe path 和 optimal path 的路径分别是什么方法学习的?
在这里插入图片描述

答:safe path 是sarsa学习的,optimal path 是Q-learning算法学习的。

因为Q-learning是采用绝对Greedy算法改进Target policy的,倾向于最优选择,而Sarsa是采用 ϵ − G r e e d y \epsilon-Greedy ϵGreedy策略,有一定几率采取其他动作。

还因为Q-learning是选择Q值最优的动作执行,而Sarsa是只有一个动作的,没有退回的余地。

5.5对比分析

什么函数 什么更新方法

进行了什么近似处理

最后会不会收敛到最优

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值