RL——TRPO-PPO-目标函数基础推导

本文主要介绍TRPO、PPO相关内容


相关概念理解

基础概念

  • Q值的定义
    $$ Q_\pi(s_t,a_t) = \mathbb{E}_{s_{t+1},a_{t+1},\cdots \sim \pi}[\sum\limits_{l=0}^\infty\gamma^lr(s_{t+l}, a_{t+l})] $$
    • 说明:以上期望是条件概率下的期望,为了更准确表达,一般来说可以加上” \(\vert_{(s_t,a_t)} \) “
  • V值的定义
    $$ V_\pi(s_t) = \mathbb{E}_{a_t, s_{t+1},\cdots \sim \pi}[\sum \limits_{l=0}^\infty \gamma^lr(s_{t+l}, a_{t+l})] = \mathbb{E}_{a_t\sim \pi(\cdot|s_t)}[Q_\pi(s_t, a_t)] $$
  • 优势函数的定义
    $$ A_\pi(s_t,a_t) = Q_\pi(s_t,a_t) - V_\pi(s_t) $$

强化学习的目标定义

  • 目标定义:
    $$ \eta(\pi) = \mathbb{E}_{s_0, a_0,\ldots \sim \pi}[\sum\limits_{t=0}^{\infty}\gamma^t r(s_t, a_t)] $$
  • 强化学习的目标是找到一个策略 \(\pi\),能最大化以上目标函数

普通策略梯度法的解法

  • 设定策略为 \(\pi_\theta\),则 \(\eta(\pi)\) 可表达为一个关于策略参数 \(\theta\) 的函数 \(\eta(\theta)\),此时可通过梯度上升法(策略梯度法)得到参数更新公式:
    $$ \theta_{new} = \theta_{old} + \alpha\nabla_{\theta}\eta(\theta) $$

普通策略梯度法会遇到的问题

  • 普通策略梯度法可能存在不稳定问题:
    • 如果公式更新的步长选取过小,训练速度慢
    • 如果步长选取过大,那么会导致策略参数更新步子迈得过大,如果更新过渡,可能导致策略变差,从而导致交互样本变差,差的样本进一步导致策略更差,形成恶性循环
  • TRPO/PPO的解法:选择一个合适的更新策略,或是如何选择一个合适的步长,使得更新过后的策略一定比当前策略更好

TRPO/PPO的核心思想

  • TRPO/PPO的核心是使用一个约束优化问题来更新策略,这个约束保证了新策略与旧策略之间的差异不会太大

TRPO/PPO的推导

策略提升的引入

  • 回顾强化学习的目标函数
    $$ \eta(\pi) = \mathbb{E}_{s_0, a_0,\cdots \sim \pi}[\sum\limits_{t=0}^{\infty}\gamma^t r(s_t, a_t)] $$
  • 接下来,在本文中设定 \(\tilde{\pi}\) 是新策略, \(\pi\) 是旧策略 (与TRPO原始推导保持一致,但这与普通直觉不太一致):
    $$
    \color{red}{\tilde{\pi} = \pi_\text{new}; \quad \pi = \pi_\text{old}}
    $$
  • 两个策略之间的关系
    $$ \eta(\tilde{\pi}) = \eta(\pi) + \mathbb{E}_{s_0,a_0,\cdots\sim\tilde{\pi}}[\sum\limits_{t=0}^\infty \gamma^t A_{\pi}(s_t,a_t)] $$
    • 证明如下:
      $$
      \begin{aligned}
      \mathbb{E}_{s_0,a_0,\ldots\sim\tilde{\pi}}[\sum\limits_{t=0}^\infty\gamma^t A_\pi(s_t,a_t)] &=\mathbb{E}_{s_0,a_0,\ldots\sim\tilde{\pi}}[\sum\limits_{t=0}^\infty\gamma^t(Q_\pi(s_t,a_t)-V_\pi (s_t))]\\
      &=\mathbb{E}_{s_0,a_0,\ldots\sim\tilde{\pi}}[\sum\limits_{t=0}^\infty\gamma^t(r(s_t, a_t)+\gamma V_\pi (s_{t+1})-V_\pi (s_t))]\\
      &=\mathbb{E}_{s_0,a_0,\ldots\sim\tilde{\pi}}[\sum\limits_{t=0}^\infty\gamma^{t+1} V_\pi (s_{t+1})-\sum\limits_{t=0}^\infty\gamma^{t}V_\pi (s_t) + \sum\limits_{t=0}^\infty\gamma^t r(s_t, a_t)]\\
      &=\mathbb{E}_{s_0,a_0,\ldots\sim\tilde{\pi}}[\sum\limits_{t=1}^\infty\gamma^{t} V_\pi (s_{t})-\sum\limits_{t=0}^\infty\gamma^{t}V_\pi (s_t) + \sum\limits_{t=0}^\infty\gamma^t r(s_t, a_t)]\\
      &=\mathbb{E}_{s_0,a_0,\ldots\sim\tilde{\pi}}[-V_\pi(s_0) + \sum\limits_{t=0}^\infty\gamma^t r(s_t, a_t)] \quad \quad \text{注:这一步是将}\sum\limits_{t=0}^\infty\gamma^{t}V_\pi (s_t) \text{拆开得到的}\\
      &=-\mathbb{E}_{s_0}[V_\pi(s_0)] + \mathbb{E}_{s_0,a_0,\ldots\sim\tilde{\pi}}[\sum\limits_{t=0}^\infty\gamma^t r(s_t, a_t)]\\
      &=-\eta(\pi) + \eta(\tilde{\pi})
      \end{aligned}
      $$
  • 显然,如果我们能找到一个策略 \(\tilde{\pi}\) 使得 \(\mathbb{E}_{s_0,a_0,\ldots\sim\tilde{\pi}}[\sum\limits_{t=0}^\infty\gamma^t A_\pi(s_t,a_t)] \ge 0\) 成立,即可确保策略性能(目标函数)是单调递增的
    • 但是,直接求解上式是非常困难的,因为策略 \(\tilde{\pi}\) 是未知的,无法用这个策略收集数据,下面我们先对这个形式进行变形,再通过其他方法近似求解

策略提升的变形

  • 变形如下:
    $$
    \begin{aligned}
    \eta({\tilde{\pi}}) - \eta({\pi}) &= \mathbb{E}_{s_0,a_0,\ldots\sim\tilde{\pi}}[\sum\limits_{t=0}^\infty\gamma^t A_\pi(s_t,a_t)] \\
    &= \sum\limits_s\rho_{\tilde{\pi}}(s)\sum\limits_a\tilde{\pi}(a|s)A_\pi(s,a)
    \end{aligned}
    $$
  • 其中有
    $$ \rho_\pi(s) = P(s_0=s) + \gamma P(s_1=s) + \gamma^2 P(s_2=s) + \ldots $$
  • 证明如下:
    $$
    \begin{aligned}
    \eta(\tilde{\pi}) - \eta(\pi) &= \mathbb{E}_{s_0,a_0,\ldots\sim\tilde{\pi}}[\sum\limits_{t=0}^\infty \gamma^t A_{\pi}(s_t,a_t)]\\
    &=\sum\limits_{t=0}^\infty\sum\limits_sP(s_t=s|\tilde{\pi})\sum\limits_a\tilde{\pi}(a|s)\gamma^tA_\pi(s,a)\\
    &=\sum\limits_s\sum\limits_{t=0}^\infty\gamma^tP(s_t=s|\tilde{\pi})\sum\limits_a\tilde{\pi}(a|s)A_\pi(s,a)\\
    &=\sum\limits_s\rho_{\tilde{\pi}}(s)\sum\limits_a\tilde{\pi}(a|s)A_{\pi}(s,a)
    \end{aligned}
    $$
  • 对于 \(\sum\limits_s\rho_{\tilde{\pi}}(s)\sum\limits_a\tilde{\pi}(a|s)A_\pi(s,a)\) 来说,我们仍然难以求解,因为策略 \(\tilde{\pi}\) 是未知的,我们无法用这个策略收集数据,所以我们使用旧的策略 \(\pi\) 来替换新策略 \(\tilde{\pi}\) 收集数据
  • 对于状态部分,当新旧策略特别接近时,他们的状态访问分布会比较接近,我们可以利用MM(Majorization-Minimization)方法构造近似目标函数,可以证明,直接优化目标函数即可优化最优:
    $$
    \begin{aligned}
    \eta(\tilde{\pi}) - \eta(\pi) &= \sum\limits_s\rho_{\tilde{\pi}}(s)\sum\limits_a\tilde{\pi}(a|s)A_{\pi}(s,a) \\
    &\approx \sum\limits_s\rho_{\pi}(s)\sum\limits_a\tilde{\pi}(a|s) A_{\pi}(s,a) - \frac{4\epsilon \gamma}{(1-\gamma)^2} \cdot D_{\text{KL}}^\max\left(\pi(\cdot|s)|| \tilde{\pi}(\cdot|s)\right)
    \end{aligned}
    $$
    • 其中的一些字符含义见下面的描述:在严格证明下,经过一系列推导后,我们可以得到 最终优化问题 是:
      $$ \theta = \mathop{\arg\max}_{\theta}\left[ \sum\limits_s\rho_{\pi_{\theta_{\text{old}}}}(s)\sum\limits_a\pi_\theta(a|s) A_{\pi_{\theta_{\text{old}}}}(s,a) - \frac{4\epsilon \gamma}{(1-\gamma)^2} \cdot D_{\text{KL}}^\max\left(\pi_{\theta_{\text{old}}}(\cdot|s)|| \pi_\theta(\cdot|s)\right)\right] $$
      • 其中:
        $$
        \begin{aligned}
        \epsilon &= \max_{s,a} A_\pi(s,a) \quad \text{— s,a是所有可行状态动作,不属于具体分布}\\
        D_{\text{KL}}^\max(\pi_{\theta_{\text{old}}}(\cdot|s)|| \pi_\theta(\cdot|s)) &= \max_s D_{\text{KL}}(\pi_{\theta_{\text{old}}}(\cdot|s)|| \pi_\theta(\cdot|s)) \quad \text{— s是所有可行状态}
        \end{aligned}
        $$
      • 对应求解伪代码
    • MM方法是一种迭代优化算法,其核心思想是在每一步迭代中构造一个目标函数的下界(或上界),这个下界函数被称为“代理函数”。在每一步迭代中,不是直接优化原始的目标函数,而是优化这个更容易处理的代理函数。通过确保每次迭代都能增加(或减少)目标函数值,最终达到优化目标的目的
    • 可以通过严格的MM方法数学证明,保证这种状态分布的近似替换是正确的,即提升替换后的目标函数可以提升原始目标函数。在一些书籍或者博客中,这里可以严格证明,使用旧策略采样的状态分布后,新的目标函数是旧的目标函数的一个下界,且两者在就策略 \(\pi\) 处的值和梯度均相等(也就是说两者的一阶近似 \(f(x) \approx f(x_0) + f’(x_0)(x-x_0)\) 相同)(详细证明见:从TRPO到PPO(理论分析与数学证明)如何看懂TRPO里所有的数学推导细节? - 小小何先生的回答 - 知乎强化学习TRPO模型中,L_pi(.)可逼近rho(.)的证明何解?)。这个证明较为复杂,有时间可以详细看看
    • 以上是最优形式,求解比较困难,所以,可以将上面式子的约束进行放松,用KL散度来保证新旧策略之间的差异不会太大即可,之后的TRPO和PPO都是这样做的,接下来的推导(除了重要性采样以外)则都是最优形式的近似
  • 基于KL散度限制新旧策略的距离后我们得到如下的目标
    $$
    \begin{aligned}
    \eta(\tilde{\pi}) - \eta(\pi) &= \sum\limits_s\rho_{\tilde{\pi}}(s)\sum\limits_a\tilde{\pi}(a|s)A_{\pi}(s,a) \\
    &\approx \sum\limits_s\rho_{\pi}(s)\sum\limits_a\tilde{\pi}(a|s) A_{\pi}(s,a) \\
    \text{s.t.} \quad &\mathbb{E}_{s \sim \rho_{\pi}(s)} \left[D_{\text{KL}}(\pi, \tilde{\pi})\right] \le \delta
    \end{aligned}
    $$
  • 进一步地对于动作部分,可以用重要性采样来恢复动作分布,两步总结如下(以下 \(\approx\) 成立的约束是新旧策略之间的KL散度约束),此外,由于 \(\eta(\tilde{\pi})\) 的最大化本身与 \(\eta(\pi)\) 并不直接相关,所以接下来我们只需要关注他们的差值即可:
    $$
    \begin{aligned}
    \eta(\tilde{\pi}) - \eta(\pi) &= \sum\limits_s\rho_{\tilde{\pi}}(s)\sum\limits_a\tilde{\pi}(a|s)A_{\pi}(s,a) \\
    &\approx \sum\limits_s\rho_{\pi}(s)\sum\limits_a\tilde{\pi}(a|s) A_{\pi}(s,a) \quad \text{— 限定新旧策略KL散度后可以约等于}\\
    &= \sum\limits_s\rho_{\pi}(s)\sum\limits_a q(a|s)\left[\frac{\tilde{\pi}(a|s)}{q(a|s)} A_{\pi}(s,a)\right] \\
    &= \sum\limits_s\rho_{\pi}(s)\sum\limits_a\pi(a|s)\left[\frac{\tilde{\pi}(a|s)}{\pi(a|s)} A_{\pi}(s,a)\right]
    \end{aligned}
    $$
    • 实际上,从重要性采样的视角来看,动作分布可以是基于任意策略 \(q(a|s)\) 采样得到的,只是一般相近策略进行重要性采样样本效率更高,所以一般都使用旧策略 \(\pi(a|s)\) 【PS:重要性采样也需要策略分布相近的,当策略分布之间差距过大时,也不利于重要性采样,可能出现样本采样效率低下或者数据稀疏导致的评估不准确的现象】
  • 由于相对 \(\eta(\tilde{\pi})\) 来说, \(\eta(\pi)\) 是常数,所以有最大化 \(\eta(\tilde{\pi})\),等价于最大化 \(\sum\limits_s\rho_{\pi}(s)\sum\limits_a\pi(a|s)\left[\frac{\tilde{\pi}(a|s)}{\pi(a|s)} A_{\pi}(s,a)\right]\) 即可,考虑到需要保证策略采样到的状态分布不能差距太大,我们的目标可以描述为如下的形式:
    $$
    \begin{aligned}
    \max_{\theta_\text{new}} \quad \sum\limits_s\rho_{\pi_{\theta_\text{old}}}(s)&\sum\limits_a\pi_{\theta_\text{old}}(a|s)\left[\frac{\pi_{\theta_\text{new}}(a|s)}{\pi_{\theta_\text{old}}(a|s)} A_{\pi_{\theta_\text{old}}}(s,a)\right] \\
    \text{s.t. } \quad \quad &\mathbb{E}_{s \sim \rho_{\pi_{\theta_\text{old}}}} \left[D_{\text{KL}}(\pi_{\theta_\text{old}}, \pi_{\theta_\text{new}})\right] \le \delta
    \end{aligned}
    $$
  • 一般也会写成期望的等价形式:
    $$
    \begin{aligned}
    \max_{\theta_\text{new}} \quad &\mathbb{E}_{s \sim \rho_{\pi_{\theta_\text{old}}}(s), a \sim \pi_{\theta_\text{old}}(a|s)}\left[\frac{\pi_{\theta_\text{new}}(a|s)}{\pi_{\theta_\text{old}}(a|s)} A_{\pi_{\theta_\text{old}}}(s,a)\right] \\
    &\text{s.t. } \quad \quad \mathbb{E}_{s \sim \rho_{\pi_{\theta_\text{old}}}(s)} \left[D_{\text{KL}}(\pi_{\theta_\text{old}}, \pi_{\theta_\text{new}})\right] \le \delta
    \end{aligned}
    $$
  • 或者进一步简写成:
    $$
    \begin{aligned}
    \max_{\theta_\text{new}} \quad &\mathbb{E}_{s \sim \rho_{\pi_{\theta_\text{old}}}, a \sim \pi_{\theta_\text{old}}}\left[\frac{\pi_{\theta_\text{new}}(a|s)}{\pi_{\theta_\text{old}}(a|s)} A_{\pi_{\theta_\text{old}}}(s,a)\right] \\
    &\text{s.t. } \quad \quad \mathbb{E}_{s \sim \rho_{\pi_{\theta_\text{old}}}} \left[D_{\text{KL}}(\pi_{\theta_\text{old}}, \pi_{\theta_\text{new}})\right] \le \delta
    \end{aligned}
    $$
    • 目标是原始目标等价的期望形式
    • 约束则考虑了计算KL散度时在旧策略采样的状态分布上进行验证(个人理解:这里策略之间的KL散度需要指定状态或状态分布才有意义,实际上该状态分布应该是当前策略对应的状态分布,详细展开写应该是 \(\mathbb{E}_{s \sim \rho_{\pi_{\theta_\text{old}}}} \left[D_{\text{KL}}(\pi_{\theta_\text{old}}(\cdot|s), \pi_{\theta_\text{new}}(\cdot|s))\right]\),使用状态 \(s \sim \rho_{\pi_{\theta_\text{old}}}\) 或者 \(s \sim \rho_{\pi_{\theta_\text{new}}}\) 都可以,因为两者很接近)
  • 至此,目标函数中采样策略(包括状态和动作)变成了之前的旧策略,总结一下有:
    • 状态分布替换旧策略是基于新旧策略的差异不大来近似得到的,这个改动是MM(Majorization-Minimization)方法的思想,构造一个可以严格通过MM方法证明的近似目标函数 \(\sum\limits_s\rho_{\pi_{\theta_{\text{old}}}}(s)\sum\limits_a\pi_\theta(a|s) A_{\pi_{\theta_{\text{old}}}}(s,a) - \frac{4\epsilon \gamma}{(1-\gamma)^2} \cdot D_{\text{KL}}^\max\left(\pi_{\theta_{\text{old}}}(\cdot|s)|| \pi_\theta(\cdot|s)\right)\),这个目标函数的优化没有信赖域的概念,所以不是Trust Region方法
    • 在构造近似目标函数后,进一步简化目标函数的等价形式为KL散度约束下的更简洁形式,此时算是Trust Region方法
    • 动作分布替换旧策略是基于重要性采样实现的

TRPO简单理解

TRPO名字的由来

  • TRPO(Trust Region Policy Optimization)的名字来源于其核心方法——信任域(Trust Region)优化
  • TRPO同时包含了Trust Region算法和MM(Majorization-Minimization)算法的思想:
    • MM算法:推导过程中,在对策略提升部分进行转换时,使用的是MM算法的思想,构造了一个近似目标函数,同时证明了该近似目标函数与原始目标函数的关系(两者的梯度和值在当前策略处相等,且近似目标函数处处小于等于原始目标函数);
    • Trust Region算法:TRPO方法在每次迭代需要在KL散度约束内做更新优化,并且构造了一个KL散度约束的优化问题来近似求解,属于Trust Region方法的思想;
  • 补充问题:MM算法、Trust Region算法、近端梯度下降算法,这三种方法的区别和关系是什么?
    • MM算法 vs Trust Region算法:
      • 相同点:两者都是迭代优化方法,每次迭代都通过解决一个较简单的优化问题来逼近原始问题的解
      • 异同点:
        • 构造方式: MM算法通过构造一个上界函数来近似目标函数,而Trust Region算法通过在一个信赖域内构造一个近似模型来优化目标函数
        • 信赖域: Trust Region算法明确使用信赖域来限制每次迭代的步长,而MM算法没有这种信赖域的概念
        • 适用范围: MM算法更适合处理凸优化问题,而Trust Region算法在处理非凸优化问题和大规模优化问题时表现更优
    • 近端梯度下降:近端梯度下降方法(Proximal Gradient Descent, PGD)是一种用于优化非光滑(nonsmooth)和复合目标函数的优化算法。它结合了梯度下降法和近端算子(proximal operator),可以有效处理带有非光滑正则化项的优化问题。该方法PPO和TRPO都没有用到

TRPO解法思路

  • 近似求解上述式子,用一阶梯度近似目标,用二阶梯度近似约束,从而得到一个关于参数最优化问题
  • 基于共轭梯度法可以求解该问题

GAE

  • GAE(Generalized Advantage Estimation,广义优势估计)是一种用于估计策略梯度算法中优势函数的方法。它旨在解决标准优势函数估计方法的高方差问题,通过引入一个可调参数来平衡偏差与方差之间的关系
  • 详情可参考RL——强化学习中的方差与偏差

PPO简单理解

PPO名字的由来

  • PPO(Proximal Policy Optimization)名字中的“Proximal”是指“近端”约束,表示确保新策略不会偏离旧策略太远,从而保证策略更新的稳定性和有效性。跟近端梯度下降(Proximal Gradient Descent)方法没有直接关系。“Proximal”是“最接近的”或“邻近的”。在不同的上下文中,“proximal”可以有不同的具体含义,但其核心概念通常与“接近”或“邻近”有关
  • 由于PPO的优化目标推导过程与TRPO相同,都用到了近似目标函数,所以推导过程中也用到了MM的思想和Trust Region的思想,但在解决问题时仅用到了近端(“Proximal”)约束,即每次迭代策略不要更新太多(没有严格遵循Trust Region推导得到的结果),严格来说不属于Trust Region方法

PPO-Penalty

  • 又名PPO-惩罚
    \begin{aligned}
    \max_{\theta}&\ \ \mathbb{E}_{s \sim \rho_{\pi_{\theta_\text{old}}}, a \sim \pi_{\theta_\text{old}}}\left[\frac{\pi_\theta(a|s)}{\pi_{\theta_{\text{old}}}(a|s)}A_{\theta_{\text{old}}}(s,a) - \beta D_{KL}(\pi_{\theta_{\text{old}}}(\cdot|s), \pi_\theta(\cdot|s))\right]
    \end{aligned}

PPO-Clip

  • 又名PPO截断
    \begin{aligned}
    \max_\theta&\ \ \mathbb{E}_{s\sim \rho_{\theta_{\text{old}}},a\sim q(a|s)}\min\left(\frac{\pi_\theta(a|s)}{q(a|s)}A_{\theta_{\text{old}}}(s,a), clip\left(\frac{\pi_\theta(a|s)}{q(a|s)}, 1-\epsilon, 1+\epsilon\right)A_{\theta_{\text{old}}}(a|s)\right)
    \end{aligned}
  • 理论上,以上采样分布可以是任意分布,实际上使用原始策略效果更好(样本利用率也更高)
    \begin{aligned}
    \max_\theta&\ \ \mathbb{E}_{s \sim \rho_{\pi_{\theta_\text{old}}}, a \sim \pi_{\theta_\text{old}}}\min\left(\frac{\pi_\theta(a|s)}{\pi_{\theta_{\text{old}}}(a|s)}A_{\theta_{\text{old}}}(s,a), clip\left(\frac{\pi_\theta(a|s)}{\pi_{\theta_{\text{old}}}(a|s)}, 1-\epsilon, 1+\epsilon\right)A_{\theta_{\text{old}}}(a|s)\right)
    \end{aligned}

附录:TRPO 策略提升的理解

  • 参考链接:【前沿追踪】从两策略到三策略:行为策略和参考策略不一致下的 TRPO 扩展 - 东水长的文章 - 知乎
  • 根据性能差分引理(Performance Difference Lemma)
    • 对任意给定的策略 \(\pi\) 和 \(\mu\),有
      $$ \mathcal{J}(\pi_\theta) - \mathcal{J}(\mu) = \frac{1}{1 - \gamma} \mathbb{E}_{s \sim d_{\pi_\theta}, a \sim \pi_\theta} \left[ A_\mu(s, a) \right] $$
  • 理解:
    • 本来按照 \(\mu\) 来决策的 \(A_\mu(s, a)\) 期望值为 0(证明见下文)
    • 此时将 \(\mu\) 的 的 \(A_\mu(s, a)\) 保留,但将状态和动作分布换成 \(\pi\) ,即表示策略 \(\pi\) 相对策略 \(\mu\) 的策略提升,这个公式的数学证明见前文

证明:同策略的状态和动作分布下,优势函数为 0

  • 核心结论:在策略 \(\pi\) 的状态分布 \(d^\pi(s)\) 和动作分布 \(\pi(a|s)\) 下,优势函数 \(A^\pi(s,a)\) 的期望等于0
    • 即需要证明:在策略 \(\pi\) 的平稳状态分布 \(d^\pi(s)\) 和动作分布 \(\pi(a|s)\) 下,优势函数的期望严格为 0:
      $$
      \mathbb{E}_{s \sim d^\pi(s), a \sim \pi(a|s)} \left[ A^\pi(s,a) \right] = 0
      $$
  • 优势函数定义:优势函数衡量“在状态 \(s\) 下选择动作 \(a\) 相比策略 \(\pi\) 的平均动作价值更优多少”,定义为:
    $$
    A^\pi(s,a) = Q^\pi(s,a) - V^\pi(s)
    $$
    • 其中:
      • \(Q^\pi(s,a)\):策略 \(\pi\) 下“状态 \(s\) 执行动作 \(a\)”的动作价值函数;
      • \(V^\pi(s)\):策略 \(\pi\) 下“状态 \(s\)”的状态价值函数,且满足 \(V^\pi(s) = \mathbb{E}_{a \sim \pi(a|s)} \left[ Q^\pi(s,a) \right]\)(状态价值是动作价值在策略动作分布下的期望)
  • 期望计算(策略 \(\pi\) 下的全局期望):优势函数的期望需考虑状态分布动作分布的联合期望,即:
    $$
    \mathbb{E}_{s \sim d^\pi(s), a \sim \pi(a|s)} \left[ A^\pi(s,a) \right]
    $$
    • 其中 \(d^\pi(s)\) 是策略 \(\pi\) 诱导的平稳状态分布(长期执行策略 \(\pi\) 后,各状态出现的概率分布)
  • 化简过程:将优势函数定义代入期望公式,利用期望的线性性质拆分:
    $$
    \begin{align}
    \mathbb{E}_{s \sim d^\pi, a \sim \pi(a|s)} \left[ A^\pi(s,a) \right] &= \mathbb{E}_{s \sim d^\pi} \left[ \mathbb{E}_{a \sim \pi(a|s)} \left[ Q^\pi(s,a) - V^\pi(s) \right] \right] \\
    &= \mathbb{E}_{s \sim d^\pi} \left[ \mathbb{E}_{a \sim \pi(a|s)} \left[ Q^\pi(s,a) \right] - \mathbb{E}_{a \sim \pi(a|s)} \left[ V^\pi(s) \right] \right]
    \end{align}
    $$
    • 根据 \(V^\pi(s)\) 的定义
      • 第一项 \(\mathbb{E}_{a \sim \pi(a|s)} \left[ Q^\pi(s,a) \right] = V^\pi(s)\);
      • 第二项中 \(V^\pi(s)\) 与动作 \(a\) 无关,故 \(\mathbb{E}_{a \sim \pi(a|s)} \left[ V^\pi(s) \right] = V^\pi(s)\)
  • 因此:
    $$
    \mathbb{E}_{s \sim d^\pi} \left[ V^\pi(s) - V^\pi(s) \right] = \mathbb{E}_{s \sim d^\pi} \left[ 0 \right] = 0
    $$
特别说明
  • 局部期望(固定状态 \(s\)):\(\mathbb{E}_{a \sim \pi(a|s)} \left[ A^\pi(s,a) \right] = 0\)(对任意状态 \(s\) 成立);
  • 全局期望(考虑状态分布):由于每个状态的局部期望均为 0,全局期望自然为 0
  • 策略 \(\pi\) 需存在平稳状态分布 \(d^\pi(s)\)(如有限MDP、策略 \(\pi\) 是不可约且非周期的);
  • 期望基于策略 \(\pi\) 自身的状态分布和动作分布(若基于其他策略 \(\mu\) 的分布,期望不一定为0)