知识五:强化学习-无模型控制

知识五:强化学习-无模型控制

5.1 介绍

5.1.1 无模型强化学习

  • 无模型控制
  • 优化一个未知的 MDP(有上下状态关系) 的价值函数

5.1.2 无模型控制的应用

  • 一些可以建模为MDP的例子
    • 电梯,侧方位停车,船舶操舵,生物反应器,直升机,航空物流
    • 机器人足球世界杯,地震,证券投资管理,机器人行走,围棋
  • 对于大多数这些问题,会有下列之一的情况:
    • MDP 模型是未知的,但可以采样得到经验
    • MDP 模型是已知的,但过于复杂,过于繁琐
  • 无模型控制可以解决这些问题
  • 在轨(On-policy)学习
    • 在工作中学
    • π \pi π中得到的经验学习策略 π \pi π
  • 离轨(Off-policy)学习
    • 站在巨人的肩膀上
    • μ \mu μ中得到的经验学习策略 π \pi π

5.2 在轨蒙特卡罗控制

5.2.1 策略迭代算法

  • 因为是无模型的,不知道状态转移矩阵,所以策略改进的时候,不能用有模型的MDP 状态价值更行公式进行更新了。
  • 所以可以直接对动作价值进行更新

π ′ ( s ) = argmax ⁡ a ∈ A Q ( s , a ) \pi'(s)=\underset{a\in\mathcal{A}}{\operatorname*{argmax}}Q(s,a) π(s)=aAargmaxQ(s,a)

5.2.2 MC的动作价值评估

  • 采样策略 π \pi π的第k轮。
  • 对于episode中的每个状态和动作。

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(S_{t},A_{t})\leftarrow N(S_{t},A_{t})+1\\&Q(S_{t},A_{t})\leftarrow Q(S_{t},A_{t})+\frac{1}{N(S_{t},A_{t})}(G_{t}-Q(S_{t},A_{t}))\end{aligned} N(St,At)N(St,At)+1Q(St,At)Q(St,At)+N(St,At)1(GtQ(St,At))

  • 策略评估 蒙特卡罗策略评估, Q = q π \begin{matrix}{\mathrm{Q}}&{=\mathrm{q}_{\pi}}\\\end{matrix} Q=qπ
  • 策略优化 贪婪策略优化?是否好呢? π ′ ( s ) = argmax ⁡ a ∈ A Q ( s , a ) \pi'(s)=\underset{a\in\mathcal{A}}{\operatorname*{argmax}} Q(s,a) π(s)=aAargmaxQ(s,a)
  • 很显然,贪婪方法未必是最优解,所以需要对策略进行修改。贪婪策略只有利用没有探索。所以现在加点探索的作用。

5.2.3 ε \mathbf{\varepsilon} ε-Greedy探索

  • 确保持续探索的最简单想法
  • 所有 m m m个动作都以非零概率进行尝试。
  • 1 − ε 1-ε 1ε的概率选择贪婪动作
  • ε ε ε的概率随机选择动作

π ( a ∣ s ) = { ϵ / m + 1 − ϵ if a ∗ = argmax ϵ / m otherwise Q ( s , a ) \left.\pi(a|s)=\left\{\begin{array}{ll}\epsilon/m+1-\epsilon&\text{if}a^*=\text{argmax}\\\epsilon/m&\text{otherwise}\end{array}\right.Q(s,a)\right. π(as)={ϵ/m+1ϵϵ/mifa=argmaxotherwiseQ(s,a)

  • 大概率的回去利用,但是有一些小概率能探索,这就保证了系统有了探索利用的能力,不光全是利用。

  • 从理论的角度也证明了, ε \mathbf{\varepsilon} ε-Greedy优于Greedy策略。

q π ( s , π ′ ( s ) ) = ∑ a ∈ A π ′ ( a ∣ s ) q π ( s , a ) = ϵ / m ∑ a ∈ A q π ( s , a ) + ( 1 − ϵ ) max ⁡ a ∈ A q π ( s , a ) ≥ ϵ / m ∑ a ∈ A q π ( s , a ) + ( 1 − ϵ ) ∑ a ∈ A π ( a ∣ s ) − ϵ / m 1 − ϵ q π ( s , a ) = ∑ a ∈ A π ( a ∣ s ) q π ( s , a ) = v π ( s ) \begin{aligned} q_\pi(s,\pi^{\prime}(s))& =\sum_{a\in\mathcal{A}}\pi^{\prime}(a|s)q_{\pi}(s,a) \\ &=\epsilon/m\sum_{a\in\mathcal{A}}q_{\pi}(s,a)+(1-\epsilon)\max_{a\in\mathcal{A}}q_{\pi}(s,a) \\ &\geq\epsilon/m\sum_{a\in\mathcal{A}}q_{\pi}(s,a)+(1-\epsilon)\sum_{a\in\mathcal{A}}\frac{\pi(a|s)-\epsilon/m}{1-\epsilon}q_{\pi}(s,a) \\ &=\sum_{a\in\mathcal{A}}\pi(a|s)q_\pi(s,a)=v_\pi(s) \end{aligned} qπ(s,π(s))=aAπ(as)qπ(s,a)=ϵ/maAqπ(s,a)+(1ϵ)aAmaxqπ(s,a)ϵ/maAqπ(s,a)+(1ϵ)aA1ϵπ(as)ϵ/mqπ(s,a)=aAπ(as)qπ(s,a)=vπ(s)

5.2.4 MC策略迭代

请添加图片描述

  • 策略评估 MC策略评估,$\mathcal{Q}=\mathfrak{q}_\pi $
  • 策略优化 ε \mathbf{\varepsilon} ε-Greedy策略优化

请添加图片描述

  • 每轮episode
    • 策略评估 MC策略评估,$\mathcal{Q}\approx\mathfrak{q}_\pi $
    • 策略优化 ε \mathbf{\varepsilon} ε-Greedy策略优化
  • 和上面的区别就是不用每轮 Q Q Q都要达到收敛,也可以得到最优策略。

5.2.5 GILE(greedy in the Limit with Infinite Exploration)

  • 满足GILE条件才能一定收敛

  • 有限的时间里进行无限可能的探索(GILE)

    • 所有的状态-动作(组合)都被探索了无数次

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

  • 策略趋同于贪婪的策略

lim ⁡ k → ∞ π k ( a ∣ s ) = 1 ( a = arg ⁡ max ⁡ ⁡ a ′ ∈ A Q k ( s , a ′ ) ) \lim_{k\to\infty}\pi_k(a|s)=\mathbf{1}(a=\underset{a^{\prime}\in\mathcal{A}}{\operatorname*{\arg\max}}Q_k(s,a^{\prime})) klimπk(as)=1(a=aAargmaxQk(s,a))

  • 例如,如果 ε k = 1 k \varepsilon_{k}=\frac{1}{k} εk=k1( k k k为探索的episode数目),则 ε \mathbf{\varepsilon} ε-Greedy为GLIE

π ( a ∣ s ) = { ϵ / m + 1 − ϵ if a ∗ = a r g m a x a ∈ A Q ( s , a ) ϵ / m otherwise \pi(a|s)=\left\{\begin{array}{ll}\epsilon/m+1-\epsilon&\text{if}a^*=\mathop{\mathrm{argmax}}_{a\in\mathcal{A}}Q(s,a)\\\epsilon/m&\text{otherwise}\end{array}\right. π(as)={ϵ/m+1ϵϵ/mifa=argmaxaAQ(s,a)otherwise

5.2.6 GILE蒙特卡罗控制

  • 采样策略 π π π的第 k k k轮episode:${S_{1},A_{1},R_{2},\ldots,S_{T}}{\sim}\pi $
  • 对于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(S_{t},A_{t})\leftarrow N(S_{t},A_{t})+1\\&Q(S_{t},A_{t})\leftarrow Q(S_{t},A_{t})+\frac{1}{N(S_{t},A_{t})}(G_{t}-Q(S_{t},A_{t}))\end{aligned} N(St,At)N(St,At)+1Q(St,At)Q(St,At)+N(St,At)1(GtQ(St,At))

  • 基于新的动作价值函数优化策略

ϵ ← 1 / k π ← ϵ -greedy ( Q ) \begin{array}{c}\epsilon\leftarrow1/k\\\pi\leftarrow\epsilon\text{-greedy}(Q)\end{array} ϵ1/kπϵ-greedy(Q)

  • 以上就保证了,一定能收敛到最优的。
  • MC最大的问题是,游戏必须是回合制的,不能是结束不了的。

5.3 在轨时序差分学习

5.3.1 MC vs TD 控制

  • 与蒙特卡罗(MC)相比,时序差分(TD)学习有几个优点。
    • 更低的方差
    • 在线
    • 不完整的序列
  • 自然的想法是: 在我们的控制循环中使用TD而不是MC
    • 将TD应用于 Q ( S , A ) Q(S,A) Q(S,A)
    • 使用 ε \mathbf{\varepsilon} ε-Greedy策略改进
    • 更新每一步时间步

5.3.2 TD方法的实现(使用 Sarsa 更新动作价值函数)

请添加图片描述

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(S^{\prime},A^{\prime})-Q(S,A)\right) Q(S,A)Q(S,A)+α(R+γQ(S,A)Q(S,A))
请添加图片描述

  • 每个时间步:
    • 策略评估 Sarsa,$Q ≈ $ q π q_\pi qπ
    • 策略优化 ε ε ε-Greedy 策略优化

5.3.3 Sarsa的收敛性

  • Sarsa收敛于最优动作价值函数, Q ( s , a ) → q ( s , a ) Q(s,a)→q(s,a) Q(s,a)q(s,a),满足以下条件:
    • 任何时候的策略 π ( a ∣ s ) π(a|s) π(as)符合GLIE特性
    • 步长系数 $a_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<

  • 满足上面的条件就能收敛

5.4 离轨学习之Q学习

5.4.1 离轨学习

  • 目标策略:用来学习的策略(就是我的)
  • 行为策略:生成行动样本的策略(就是玩的那个)
  • 评估目标策略 π ( a ∣ s ) \pi(a|s) π(as)以计算 V π ( s ) V_{\pi}(s) Vπ(s) q π ( s , a ) q_{\pi}(s,a) qπ(s,a)
  • 同时遵循行为策略 μ ( a ∣ s ) \mu(a|s) μ(as)

{ S 1 , A 1 , R 2 , . . . , S T } ∼ μ \{S_1,A_1,R_2,...,S_T\}\sim\mu {S1,A1,R2,...,ST}μ

  • 通过观察人类或其他智能体来学习
  • 重用从旧策略 π 1 , π 2 , … , π t − 1 \pi_{1},\pi_{2},\ldots,\pi_{t-1} π1,π2,,πt1来生成的经验
  • 在遵循探索性策略的同时学习最优策略
  • 例如用 DQN 打游戏,deep mind最早做的这个离轨的这种是比较震撼的。

5.4.2 Q-学习

  • 现在考虑基于动作价值 Q ( s , a ) Q(s,a) Q(s,a)的离轨学习
  • 使用行为策略 A t A_t At~μ(·| S t S_t St)选择下一个动作,产生 R t + 1 . R_{t+1} . Rt+1. S t + 1 . S_{t+1} . St+1.
  • 考虑基于替代策略 π π π的后续动作 A ′ ∼ π ( ⋅ ∣ S t ) A^{\prime}\sim\pi(\cdot|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 ) ) Q(S_t,A_t)\leftarrow Q(S_t,A_t)+\alpha\left(R_{t+1}+\gamma Q(S_{t+1},A^{\prime})-Q(S_t,A_t)\right) Q(St,At)Q(St,At)+α(Rt+1+γQ(St+1,A)Q(St,At))

5.4.3 使用Q-学习离轨控制

  • 现在允许行为和目标策略都得到优化(共享了 Q Q Q函数)
  • 目标策略 π \pi π是贪婪的,$w.r.t $ Q ( s , a ) Q(s,a) Qsa

π ( S t + 1 ) = argmax ⁡ a ′ Q ( S t + 1 , a ′ ) \pi(S_{t+1})=\underset{a^{\prime}}{\operatorname*{argmax}}Q(S_{t+1},a^{\prime}) π(St+1)=aargmaxQ(St+1,a)

  • 行为策略 μ μ μ ε \mathbf{\varepsilon} ε-Greedy的$w.r.t $ Q ( s , a ) Q(s,a) Qsa
  • 然后,Q-Learning目标简化为

R t + 1 + γ Q ( S t + 1 , A ′ ) = R t + 1 + γ Q ( S t + 1 , a r g m a x Q ( S t + 1 , a ′ ) ) = R t + 1 + max ⁡ a ′ γ Q ( S t + 1 , a ′ ) \begin{aligned}&R_{t+1}+\gamma Q(S_{t+1},A^{\prime})\\&=R_{t+1}+\gamma Q(S_{t+1},\mathrm{argmax} Q(S_{t+1},a^{\prime}))\\&=R_{t+1}+\max_{a^{\prime}}\gamma Q(S_{t+1},a^{\prime})\end{aligned} Rt+1+γQ(St+1,A)=Rt+1+γQ(St+1,argmaxQ(St+1,a))=Rt+1+amaxγQ(St+1,a)

请添加图片描述

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'}Q(S',a')-Q(S,A)\right) Q(S,A)Q(S,A)+α(R+γamaxQ(S,a)Q(S,A))

  • Q-Learning 一定会收敛到最优动作价值函数
    ^{\prime}}\gamma Q(S_{t+1},a^{\prime})\end{aligned}
    $$

[外链图片转存中…(img-oIzPm2DF-1728619418577)]
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'}Q(S',a')-Q(S,A)\right) Q(S,A)Q(S,A)+α(R+γamaxQ(S,a)Q(S,A))

  • Q-Learning 一定会收敛到最优动作价值函数
  • Q-learning 就是利用行为人的环境信息,来找到自己的动作,但是自己动作不给行为人用。(环境是公共的,策略是独有的)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值