当前位置:   article > 正文

强化学习策略梯度推导_强化学习 推导过程

强化学习 推导过程

本文主角

∇ θ J ( θ ) ∝ ∑ s ∈ S μ π θ ( s ) ∑ a ∈ A Q π θ ( s , a ) ∇ θ π θ ( a ∣ s ) \nabla_{\theta}J(\theta) \propto \sum_{s \in \mathcal{S}} \mu^{\pi_{\theta}}(s) \sum_{a \in \mathcal{A}} Q^{\pi_{\theta}}(s, a) \nabla_{\theta}\pi_{\theta}(a|s) θJ(θ)sSμπθ(s)aAQπθ(s,a)θπθ(as)

这个公式是策略梯度定理的表述,它表明一个策略的性能梯度(即优化目标函数 J ( θ ) J(\theta) J(θ)的梯度)与在该策略下各状态的访问频率 μ π θ ( s ) \mu^{\pi_{\theta}}(s) μπθ(s),以及在这些状态下,采取不同动作的价值 Q π θ ( s , a ) Q^{\pi_{\theta}}(s, a) Qπθ(s,a)和采取这些动作的策略概率的梯度 ∇ θ π θ ( a ∣ s ) \nabla_{\theta}\pi_{\theta}(a|s) θπθ(as)的乘积之和成正比。

在强化学习中,这个公式是用来指导如何调整策略参数 θ \theta θ,以便最大化长期奖励。通过梯度上升算法,我们可以改善策略,使得在高价值 Q Q Q​下采取的动作更加频繁,从而提高整体策略的期望回报。

在这里插入图片描述

下面是完整推导:

  • 定义状态值函数的梯度:
    ∇ θ V π ( s ) = ∇ θ ( ∑ a ∈ A π ( a ∣ s ) Q π ( s , a ) ) \nabla_{\theta}V^{\pi}(s) = \nabla_{\theta}\left(\sum_{a \in A} \pi(a|s)Q^{\pi}(s, a)\right) θVπ(s)=θ(aAπ(as)Qπ(s,a))
    这一步基于状态值函数 V π ( s ) V^{\pi}(s) Vπ(s)的定义,即给定策略 π \pi π下,在状态 s s s采取所有可能动作 a a a的期望回报的总和。这里, π ( a ∣ s ) \pi(a|s) π(as)是在状态 s s s下选择动作 a a a的策略概率,而 Q π ( s , a ) Q^{\pi}(s, a) Qπ(s,a)是执行动作 a a a并遵循策略 π \pi π的期望回报。

  • 应用梯度和乘积规则:
    = ∑ a ∈ A ( ∇ θ π ( a ∣ s ) Q π ( s , a ) + π ( a ∣ s ) ∇ θ Q π ( s , a ) ) = \sum_{a \in A}\left(\nabla_{\theta}\pi(a|s)Q^{\pi}(s, a) + \pi(a|s)\nabla_{\theta}Q^{\pi}(s, a)\right) =aA(θπ(as)Qπ(s,a)+π(as)θQπ(s,a))
    这一步通过应用梯度运算符和乘积规则( ∇ ( x y ) = x ∇ y + y ∇ x \nabla(xy) = x\nabla y + y\nabla x (xy)=xy+yx)来分解每个项。第一项考虑了策略 π ( a ∣ s ) \pi(a|s) π(as)对参数 θ \theta θ的直接依赖,而第二项考虑了行为值函数 Q π ( s , a ) Q^{\pi}(s, a) Qπ(s,a) θ \theta θ的依赖。

  • 行为值函数的梯度展开:
    = ∑ a ∈ A ( ∇ θ π ( a ∣ s ) Q π ( s , a ) + π ( a ∣ s ) ∇ θ ∑ s ′ , r P ( s ′ , r ∣ s , a ) ( r + γ V π ( s ′ ) ) ) = \sum_{a \in A}\left(\nabla_{\theta}\pi(a|s)Q^{\pi}(s, a) + \pi(a|s)\nabla_{\theta}\sum_{s', r}P(s', r|s, a)\left(r + \gamma V^{\pi}(s')\right)\right) =aA(θπ(as)Qπ(s,a)+π(as)θs,rP(s,rs,a)(r+γVπ(s)))
    这里将 Q π ( s , a ) Q^{\pi}(s, a) Qπ(s,a)按其定义展开,即为给定状态 s s s和动作 a a a后的即时奖励 r r r加上折扣后的未来奖励的期望值。梯度作用于整个表达式,注意到 r r r γ \gamma γ是常数,梯度只作用于 V π ( s ′ ) V^{\pi}(s') Vπ(s)

  • 简化即时奖励的影响:
    = ∑ a ∈ A ( ∇ θ π ( a ∣ s ) Q π ( s , a ) + γ π ( a ∣ s ) ∑ s ′ , r P ( s ′ , r ∣ s , a ) ∇ θ V π ( s ′ ) ) = \sum_{a \in A}\left(\nabla_{\theta}\pi(a|s)Q^{\pi}(s, a) + \gamma\pi(a|s)\sum_{s', r}P(s', r|s, a)\nabla_{\theta}V^{\pi}(s')\right) =aA(θπ(as)Qπ(s,a)+γπ(as)s,rP(s,rs,a)θVπ(s))
    在这一步中,即时奖励 r r r被省略,因为它不依赖于 θ \theta θ,因此其梯度为零。只有未来奖励的部分,即 γ V π ( s ′ ) \gamma V^{\pi}(s') γVπ(s),对 θ \theta θ有依赖,因此梯度只作用于这部分。

  • 进一步简化概率项:
    = ∑ a ∈ A ( ∇ θ π ( a ∣ s ) Q π ( s , a ) + γ π ( a ∣ s ) ∑ s ′ P ( s ′ ∣ s , a ) ∇ θ V π ( s ′ ) ) = \sum_{a \in A}\left(\nabla_{\theta}\pi(a|s)Q^{\pi}(s, a) + \gamma\pi(a|s)\sum_{s'}P(s'|s, a)\nabla_{\theta}V^{\pi}(s')\right) =aA(θπ(as)Qπ(s,a)+γπ(as)sP(ss,a)θVπ(s))


  • 从策略梯度的定义开始:
    ∇ θ V π ( s ) = ϕ ( s ) + γ ∑ a π ( a ∣ s ) ∑ s ′ P ( s ′ ∣ s , a ) ∇ θ V π ( s ′ ) \nabla_{\theta}V^{\pi}(s) = \phi(s) + \gamma\sum_{a} \pi(a|s)\sum_{s'}P(s'|s, a)\nabla_{\theta}V^{\pi}(s') θVπ(s)=ϕ(s)+γaπ(as)sP(ss,a)θVπ(s)
    这里, ϕ ( s ) = ∑ a ∈ A ∇ θ π θ ( a ∣ s ) Q π θ ( s , a ) \phi(s)= \sum_{a \in A} \nabla_{\theta}\pi_{\theta}(a|s)Q^{\pi_{\theta}}(s, a) ϕ(s)=aAθπθ(as)Qπθ(s,a)代表了状态 s s s的特征向量,它是策略梯度的一部分。接着,考虑了在当前策略下,从状态 s s s采取动作 a a a转移到状态 s ′ s' s的概率,以及从状态 s ′ s' s开始并遵循策略 π \pi π​的状态值函数的梯度。
  • 展开状态值函数的梯度:
    ∇ θ V π ( s ) = ϕ ( s ) + γ ∑ s ′ d π ( s → s ′ , 1 ) ∇ θ V π ( s ′ ) \nabla_{\theta}V^{\pi}(s) = \phi(s) + \gamma\sum_{s'} d^{\pi}(s \rightarrow s', 1)\nabla_{\theta}V^{\pi}(s') θVπ(s)=ϕ(s)+γsdπ(ss,1)θVπ(s)
    d π ( s → s ′ , 1 ) d^{\pi}(s \rightarrow s', 1) dπ(ss,1)表示在一步转移中从状态 s s s到状态 s ′ s' s的折扣后的状态转移概率。它是一个概率分布,考虑了所有可能的动作。
  • 递归地展开状态值函数的梯度:
    ∇ θ V π ( s ) = ϕ ( s ) + γ ∑ s ′ d π ( s → s ′ , 1 ) ϕ ( s ′ ) + γ 2 ∑ s ′ ′ d π ( s → s ′ ′ , 2 ) ∇ θ V π ( s ′ ′ ) \nabla_{\theta}V^{\pi}(s) = \phi(s) + \gamma\sum_{s'} d^{\pi}(s \rightarrow s', 1)\phi(s') + \gamma^2\sum_{s''} d^{\pi}(s \rightarrow s'', 2)\nabla_{\theta}V^{\pi}(s'') θVπ(s)=ϕ(s)+γsdπ(ss,1)ϕ(s)+γ2s′′dπ(ss′′,2)θVπ(s′′)
    这一步递归地应用了上一步的逻辑,但这次是对两步转移后的状态 s ′ ′ s'' s′′。这表明每一步都会增加一个更深层次的期望和一个更高的折扣因子 γ \gamma γ
  • 继续无限递归:
    ∇ θ V π ( s ) = ϕ ( s ) + γ ∑ s ′ d π ( s → s ′ , 1 ) ϕ ( s ′ ) + γ 2 ∑ s ′ ′ d π ( s → s ′ ′ , 2 ) ϕ ( s ′ ′ ) + … \nabla_{\theta}V^{\pi}(s) = \phi(s) + \gamma\sum_{s'} d^{\pi}(s \rightarrow s', 1)\phi(s') + \gamma^2\sum_{s''} d^{\pi}(s \rightarrow s'', 2)\phi(s'') + \ldots θVπ(s)=ϕ(s)+γsdπ(ss,1)ϕ(s)+γ2s′′dπ(ss′′,2)ϕ(s′′)+
    推导继续进行,考虑到所有可能的未来状态和它们对应的特征向量,乘以它们的转移概率和适当的折扣因子。
  • 总结为无限和:
    ∇ θ V π ( s ) = ∑ x ∈ S ∑ k = 0 ∞ γ k d π ( s → x , k ) ϕ ( x ) \nabla_{\theta}V^{\pi}(s) = \sum_{x \in S}\sum_{k=0}^{\infty}\gamma^k d^{\pi}(s \rightarrow x, k)\phi(x) θVπ(s)=xSk=0γkdπ(sx,k)ϕ(x)
    最后一步是将所有无限递归的项总结为一个无限序列和。这里 d π ( s → x , k ) d^{\pi}(s \rightarrow x, k) dπ(sx,k)是从状态 s s s到状态 x x x k k k​步内的折扣后的转移概率。这个无限和形式的期望值是对状态值函数的梯度的完整描述。

  • 目标函数的梯度:
    ∇ θ J ( θ ) = ∇ θ E s 0 [ V π θ ( s 0 ) ] \nabla_{\theta}J(\theta) = \nabla_{\theta} \mathbb{E}_{s_0}[V^{\pi_{\theta}}(s_0)] θJ(θ)=θEs0[Vπθ(s0)]
    这一步定义了目标函数 J ( θ ) J(\theta) J(θ)作为初始状态 s 0 s_0 s0下的状态值函数 V π θ ( s 0 ) V^{\pi_{\theta}}(s_0) Vπθ(s0)的期望值的梯度。

  • 引入状态转移概率:
    = ∑ s E s 0 [ ∑ k = 0 ∞ γ k d π θ ( s 0 → s , k ) ] ϕ ( s ) = \sum_s \mathbb{E}_{s_0} \left[ \sum_{k=0}^{\infty} \gamma^k d^{\pi_{\theta}}(s_0 \rightarrow s, k) \right] \phi(s) =sEs0[k=0γkdπθ(s0s,k)]ϕ(s)
    此处,将目标函数中的期望展开,包含从初始状态 s 0 s_0 s0到任意状态 s s s的折扣转移概率 d π θ ( s 0 → s , k ) d^{\pi_{\theta}}(s_0 \rightarrow s, k) dπθ(s0s,k),乘以状态 s s s的特征向量 ϕ ( s ) \phi(s) ϕ(s)。每个状态的特征向量与它被访问的概率加权求和。

  • 引入状态分布 η ( s ) \eta(s) η(s):
    = ∑ s η ( s ) ϕ ( s ) = \sum_s \eta(s) \phi(s) =sη(s)ϕ(s)
    这里, η ( s ) \eta(s) η(s)是在策略 π θ \pi_{\theta} πθ下访问状态 s s s的稳态分布。它是从任何初始状态出发,经过无限步骤后到达状态 s s s的概率。

  • 状态分布的规范化:
    ∝ ∑ s η ( s ) ∑ s ′ η ( s ′ ) ϕ ( s ) \propto \sum_s \frac{\eta(s)}{\sum_{s'} \eta(s')} \phi(s) ssη(s)η(s)ϕ(s)
    这一步表明状态分布被规范化了,使得所有状态的分布之和为1。这是为了将状态分布转化为概率分布。

  • 使用 η ( s ) \eta(s) η(s)的定义:
    = ∑ s μ ( s ) ∑ a Q π θ ( s , a ) ∇ θ π θ ( a ∣ s ) = \sum_s \mu(s) \sum_a Q^{\pi_{\theta}}(s, a) \nabla_{\theta} \pi_{\theta}(a|s) =sμ(s)aQπθ(s,a)θπθ(as)
    最终,我们得到了策略梯度定理的标准形式。这里 μ ( s ) \mu(s) μ(s)代表状态 s s s在策略 π θ \pi_{\theta} πθ下的访问频率,而 Q π θ ( s , a ) Q^{\pi_{\theta}}(s, a) Qπθ(s,a)是在状态 s s s下采取动作 a a a的行为值函数。梯度 ∇ θ π θ ( a ∣ s ) \nabla_{\theta} \pi_{\theta}(a|s) θπθ(as)表示策略对参数的依赖性。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/553999
推荐阅读
相关标签
  

闽ICP备14008679号