【强化学习】五、无模型控制

五、无模型控制

1.介绍

无模型预测:估计一个未知MDP的价值函数

无模型控制:优化一个未知MDP的价值函数


无模型控制的应用

一些可以建模成MDP的例子:电梯、侧方位停车、证券投资管理、船舶操舵、机器人行走

对于大多数这些问题,会有下列之一的情况:

  • MDP模型是未知的,但可以采样得到经验
  • MDP模型是已知的,但过于复杂,过于繁琐

无模型控制可以解决这些问题


在轨/离轨学习

在轨学习(On-policy)

  • 在工作中学习,边打边学
  • π \pi π中得到的经验学习策略 π \pi π

离轨学习(Off-policy)

  • 站在巨人的肩膀上,看棋谱
  • μ \mu μ中得到的经验学习策略 π \pi π

2.在轨蒙特卡罗控制

基于动作价值函数的广义策略迭代

image-20230817112404165

策略评估 蒙特卡罗策略评估, Q = q π Q=q_\pi Q=qπ

策略优化 贪婪策略优化? π ′ ( s ) = argmax ⁡ a ∈ A Q ( s , a ) \pi^{\prime}(s)=\underset{a \in \mathcal{A}}{\operatorname{argmax}} Q(s, a) π(s)=aAargmaxQ(s,a)


ϵ − G r e e d y \epsilon-Greedy ϵGreedy探索

当我们使用 Q 函数的时候,策略完全取决于 Q 函数。给定某一个状态,我们就穷举所有的动作,采取让 Q 值最大的动作,但这并不是一个好的数据收集方式

假设我们在状态 s s s采取动作 a 2 a_2 a2,它得到的值是正的奖励, Q ( s , a 2 ) Q(s,a_2) Q(s,a2)就会比其他动作的 Q Q Q值要大。在采取动作的时候,谁的 Q Q Q值最大就采取谁,所以之后永远都只会采取 a 2 a_2 a2,其他的动作就再也不会被采取了,这就会有问题。

image-20230822171632744

所以要使用 ϵ − g r e e d y \epsilon-greedy ϵgreedy方法。

  • 确保持续探索的最简单想法

  • 所有 m m m个动作都以非零概率进行尝试

  • 1 − ϵ 1-\epsilon 1ϵ的概率选择贪婪动作

  • ϵ \epsilon ϵ的概率随机选择动作

π ( a ∣ s ) = { ϵ / m + 1 − ϵ  if  a ∗ = argmax ⁡ a ∈ A Q ( s , a ) ϵ / m  otherwise  \pi(a \mid s)= \begin{cases}\epsilon / m+1-\epsilon & \text { if } a^*=\underset{a \in \mathcal{A}}{\operatorname{argmax}} Q(s, a) \\ \epsilon / m & \text { otherwise }\end{cases} π(as)= ϵ/m+1ϵϵ/m if a=aAargmaxQ(s,a) otherwise 


GLIE(greedy in the Limit with Infinite Exploration)

有限的时间里进行无限可能的探索

  • 所有的状态-动作对都被探索了无数次

lim ⁡ k → ∞ N k ( s , a ) = ∞ \lim _{k \rightarrow \infty} N_k(s, a)=\infty klimNk(s,a)=

  • 策略趋同于贪婪的策略

lim ⁡ k → ∞ π k ( a ∣ s ) = 1 ( a = argmax ⁡ a ′ ∈ A Q k ( s , a ′ ) ) \lim _{k \rightarrow \infty} \pi_k(a \mid s)=\mathbf{1}\left(a=\underset{a^{\prime} \in \mathcal{A}}{\operatorname{argmax}} Q_k\left(s, a^{\prime}\right)\right) klimπk(as)=1(a=aAargmaxQk(s,a))

例如,如果 ϵ k = 1 k \epsilon _k=\frac{1}{k} ϵk=k1(k为探索的episode数目),则 ϵ − G r e e d y \epsilon-Greedy ϵGreedy为GLIE


GLIE蒙特卡罗控制

采样策略 π \pi π的第 k k k轮episode: S 1 , A 1 , R 2 , … , S T ∼ π {S_1,A_1,R_2,\dots,S_T} \sim \pi S1,A1,R2,,STπ

对于episode中的每个状态 S t S_t St和动作 A t A_t At
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 ) ) \begin{aligned} & N\left(S_t, A_t\right) \leftarrow N\left(S_t, A_t\right)+1 \\ & Q\left(S_t, A_t\right) \leftarrow Q\left(S_t, A_t\right)+\frac{1}{N\left(S_t, A_t\right)}\left(G_t-Q\left(S_t, A_t\right)\right) \end{aligned} 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 \frac{1}{k} \\ \pi \leftarrow \epsilon-greedy(Q) ϵk1πϵgreedy(Q)
定理: GLIE蒙特卡罗控制会收敛到最佳的动作价值函数, Q ( s , a ) → q ∗ ( s , a ) Q(s,a) \rightarrow q_*(s,a) Q(s,a)q(s,a)


3.在轨时序差分学习

与蒙特卡罗(MC)相比,时序差分(TD)学习有几个优点

  • 更低的方差
  • 在线
  • 不完整的序列

自然的想法是:在我们的控制循环中使用TD而不是MC

  • 将TD应用于 Q ( S , A ) Q(S,A) Q(S,A)
  • 使用 ϵ − g r e e d y \epsilon-greedy ϵgreedy策略改进
  • 更新每一个时间步

使用Sarsa更新动作价值函数

image-20230817134654303
q π ( s , a ) = E π [ G t ∣ S t = s , A t = a ] = E π [ R t + 1 + γ q π ( S t + 1 , A t + 1 ) ∣ S t = s , A t = a ] \begin{aligned} & q_\pi(s, a)=\mathbb{E}_\pi\left[G_t \mid S_t=s, A_t=a\right] \\ & =\mathbb{E}_\pi\left[R_{t+1}+\gamma q_\pi\left(S_{t+1}, A_{t+1}\right) \mid S_t=s, A_t=a\right] \end{aligned} qπ(s,a)=Eπ[GtSt=s,At=a]=Eπ[Rt+1+γqπ(St+1,At+1)St=s,At=a]

Q ( S , A ) ← Q ( S , A ) + α ( R + γ Q ( S ′ , A ′ ) − Q ( S , A ) ) Q(S, A) \leftarrow Q(S, A)+\alpha\left(R+\gamma Q\left(S^{\prime}, A^{\prime}\right)-Q(S, A)\right) Q(S,A)Q(S,A)+α(R+γQ(S,A)Q(S,A))

在轨策略控制中的Sarsa算法

image-20230817140706556

Sarsa收敛于最优动作价值函数, Q ( s , a ) → q ∗ ( s , a ) Q(s,a) \rightarrow q_*(s,a) Q(s,a)q(s,a),满足以下条件:

  • 任何时候的策略 π t ( a ∣ s ) \pi_t(a \mid s) πt(as)符合GLIE特性
  • 步长系数 α t \alpha_t αt满足:

∑ t = 1 ∞ α t = ∞ ∑ t = 1 ∞ α t 2 < ∞ \begin{aligned} & \sum_{t=1}^{\infty} \alpha_t=\infty \\ & \sum_{t=1}^{\infty} \alpha_t^2<\infty \end{aligned} t=1αt=t=1αt2<


4.离轨学习之Q学习

离轨学习

目标策略:用来学习的策略,要进行学习的智能体(玩游戏的菜鸟)

行为策略:生成行动样本的策略,实际操作的智能体(玩游戏的高手)

评估目标策略 π ( a ∣ s ) \pi(a\mid s) π(as)以计算 V π ( s ) V_\pi(s) Vπ(s) q π ( s , a ) q_\pi(s,a) qπ(s,a)

同时遵循行为策略 μ ( a ∣ s ) \mu(a \mid s) μ(as)
{ S 1 , A 1 , R 2 , … , S r } ∼ μ \{S_1, A_1, R_2, \dots, S_r\} \sim \mu {S1,A1,R2,,Sr}μ
通过行为策略来更新 v π v_\pi vπ q π q_\pi qπ

为什么这很重要?

  • 通过观察人类或其他智能体来学习
  • 重用从旧策略 π 1 , π 2 , … , π t − 1 \pi_1,\pi_2,\dots,\pi_{t-1} π1,π2,,πt1生成的经验
  • 在遵循探索性策略的同时学习最优策略,探索性是指行为策略产生者还在继续进行操作,可供目标策略学习者去学习

Q-学习

现在考虑基于动作价值 Q ( s , a ) Q(s,a) Q(s,a)的离轨学习

使用行为策略 A t ∼ μ ( ⋅ ∣ S t ) A_t \sim \mu(\cdot \mid S_t) Atμ(St)选择下一个动作,产生 R t + 1 R_{t+1} Rt+1 S t + 1 S_{t+1} St+1

考虑基于替代策略 π \pi π的后续动作 A ′ ∼ π ( ⋅ ∣ S t ) A^\prime \sim \pi(\cdot \mid S_t) Aπ(St)

并将 Q ( S t , A t ) Q(S_t,A_t) Q(St,At)更新为替代策略动作的价值
Q ( S t , A t ) ← Q ( S t , A t ) + α ( R t + 1 + γ Q ( S t + 1 , A ′ ) − Q ( S t , A t ) ) \left.Q\left(S_t, A_t\right) \leftarrow Q\left(S_t, A_t\right)+\alpha ( R_{t+1}+\gamma Q\left(S_{t+1}, A^{\prime}\right)-Q\left(S_t, A_t\right)\right) Q(St,At)Q(St,At)+α(Rt+1+γQ(St+1,A)Q(St,At))
在Sarsa中, A ′ A^\prime A A t A_t At都是“我自己”干的。

在Q学习中, A ′ A^\prime A是目标策略也就是“我自己”干的, A t A_t At是行为策略“别人”干的


使用Q-学习的离轨控制

现在允许行为和目标策略都得到优化

目标策略 π \pi π是贪婪的 w . r . t . w.r.t. w.r.t. Q ( s , a ) Q(s,a) Q(s,a)
π ( S t + 1 ) = argmax ⁡ a ′ Q ( S t + 1 , a ′ ) \pi(S_{t+1})=\underset{a^{\prime}}{\operatorname{argmax}} Q\left(S_{t+1}, a^{\prime}\right) π(St+1)=aargmaxQ(St+1,a)
行为策略 μ \mu μ ϵ − g r e e d y \epsilon-greedy ϵgreedy w . r . t . w.r.t. w.r.t. Q ( s , a ) Q(s,a) Q(s,a)

然后Q-Learning目标简化为,计算 G t G_t Gt
R t + 1 + γ Q ( S t + 1 , A ′ ) = R t + 1 + γ Q ( S t + 1 , argmax ⁡ a ′ Q ( S t + 1 , a ′ ) ) = R t + 1 + max ⁡ a ′ γ Q ( S t + 1 , a ′ ) \begin{aligned} & R_{t+1}+\gamma Q\left(S_{t+1}, A^{\prime}\right) \\ = & R_{t+1}+\gamma Q\left(S_{t+1}, \underset{a^{\prime}}{\operatorname{argmax}} Q\left(S_{t+1}, a^{\prime}\right)\right) \\ = & R_{t+1}+\max _{a^{\prime}} \gamma Q\left(S_{t+1}, a^{\prime}\right) \end{aligned} ==Rt+1+γQ(St+1,A)Rt+1+γQ(St+1,aargmaxQ(St+1,a))Rt+1+amaxγQ(St+1,a)
目标策略和行为策略共享 Q Q Q,行为策略带有探索,目标策略利用行为策略产生的 R t + 1 R_{t+1} Rt+1 S t + 1 S_{t+1} St+1,通过贪婪方法找到使 Q Q Q最大的 a ′ a^\prime a,然后来更新 Q Q Q

image-20230817152224133
Q ( S , A ) ← Q ( S , A ) + α ( R + γ max ⁡ a ′ Q ( S ′ , a ′ ) − Q ( S , A ) ) Q(S, A) \leftarrow Q(S, A)+\alpha\left(R+\gamma \max _{a^{\prime}} Q\left(S^{\prime}, a^{\prime}\right)-Q(S, A)\right) Q(S,A)Q(S,A)+α(R+γamaxQ(S,a)Q(S,A))

Q-Learning离轨控制算法

image-20230817152951574

第五步中,根据从Q得到的策略,这个策略是行为策略,选择了动作A,得到了 R R R S ′ S^\prime S,这个 R R R S ′ S^\prime S都是和行为策略有关,然后根据这个 S ′ S^\prime S去遍历所有动作(贪婪方法,也就是目标策略),找到使 Q Q Q最大的动作 A ′ A^\prime A,然后来更新 Q Q Q,这个 A ′ A' A不会影响行为策略的下一步,只是用来更新 Q Q Q的。这个 Q Q Q是行为策略和目标策略共享的。

这个过程就是:行为策略一直在执行,目标策略就在不停地更新自己,同时把自己的一些想法告诉行为策略,行为策略也在提高。


5.参考资料

强化学习基础 北京邮电大学 鲁鹏 强化学习基础 (本科生课程) 北京邮电大学 鲁鹏_哔哩哔哩_bilibili

深度强化学习 台湾大学 李宏毅 DRL Lecture 1_ Policy Gradient (Review)_哔哩哔哩_bilibili

蘑菇书EasyRL datawhalechina/easy-rl: 强化学习中文教程(蘑菇书),在线阅读地址:https://datawhalechina.github.io/easy-rl/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值