本文主角:

∇θJ(θ)∝∑s∈Sμπθ(s)∑a∈AQπθ(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θ,以便最大化长期奖励。通过梯度上升算法,我们可以改善策略,使得在高价值QQQ​下采取的动作更加频繁,从而提高整体策略的期望回报。

在这里插入图片描述

下面是完整推导:

  • 定义状态值函数的梯度:
    ∇θ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π下,在状态sss采取所有可能动作aaa的期望回报的总和。这里,π(a∣s)\pi(a|s)π(as)是在状态sss下选择动作aaa的策略概率,而Qπ(s,a)Q^{\pi}(s, a)Qπ(s,a)是执行动作aaa并遵循策略π\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))
    这一步通过应用梯度运算符和乘积规则(∇(xy)=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′,rP(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)按其定义展开,即为给定状态sss和动作aaa后的即时奖励rrr加上折扣后的未来奖励的期望值。梯度作用于整个表达式,注意到rrrγ\gammaγ是常数,梯度只作用于Vπ(s′)V^{\pi}(s')Vπ(s)

  • 简化即时奖励的影响:
    =∑a∈A(∇θπ(a∣s)Qπ(s,a)+γπ(a∣s)∑s′,rP(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))
    在这一步中,即时奖励rrr被省略,因为它不依赖于θ\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)代表了状态sss的特征向量,它是策略梯度的一部分。接着,考虑了在当前策略下,从状态sss采取动作aaa转移到状态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)表示在一步转移中从状态sss到状态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∞γkdπ(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)是从状态sss到状态xxxkkk​步内的折扣后的转移概率。这个无限和形式的期望值是对状态值函数的梯度的完整描述。

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

  • 引入状态转移概率:
    =∑sEs0[∑k=0∞γkdπθ(s0→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)
    此处,将目标函数中的期望展开,包含从初始状态s0s_0s0到任意状态sss的折扣转移概率dπθ(s0→s,k)d^{\pi_{\theta}}(s_0 \rightarrow s, k)dπθ(s0s,k),乘以状态sss的特征向量ϕ(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}πθ下访问状态sss的稳态分布。它是从任何初始状态出发,经过无限步骤后到达状态sss的概率。

  • 状态分布的规范化:
    ∝∑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)∑aQπθ(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)代表状态sss在策略πθ\pi_{\theta}πθ下的访问频率,而Qπθ(s,a)Q^{\pi_{\theta}}(s, a)Qπθ(s,a)是在状态sss下采取动作aaa的行为值函数。梯度∇θπθ(a∣s)\nabla_{\theta} \pi_{\theta}(a|s)θπθ(as)表示策略对参数的依赖性。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐