深度强化学习中的策略梯度定理(Policy Gradient Theorem)原理与推导
字数 2411 2025-11-20 10:38:15

深度强化学习中的策略梯度定理(Policy Gradient Theorem)原理与推导

策略梯度定理是深度强化学习(如REINFORCE、Actor-Critic算法)的核心理论基础,它直接优化策略函数(Policy)的参数,适用于连续或高维动作空间。下面逐步讲解其动机、推导过程及关键细节。


1. 问题背景与动机

在强化学习中,智能体通过策略 \(\pi(a|s)\) 选择动作,目标是最大化累积期望回报 \(J(\theta)\)

\[J(\theta) = \mathbb{E}_{\tau \sim \pi_\theta} \left[ \sum_{t=0}^T \gamma^t r(s_t, a_t) \right] \]

其中 \(\tau\) 是轨迹 \((s_0, a_0, s_1, a_1, \dots)\)\(\theta\) 是策略参数。
挑战:直接优化 \(J(\theta)\) 需计算梯度 \(\nabla_\theta J(\theta)\),但期望依赖于 \(\theta\) 变化的轨迹分布,难以直接求导。


2. 策略梯度定理的核心思想

定理的核心是将梯度计算转化为对动作的期望,避免对状态分布求导:

\[\nabla_\theta J(\theta) = \mathbb{E}_{\tau \sim \pi_\theta} \left[ \sum_{t=0}^T \nabla_\theta \log \pi_\theta(a_t|s_t) \cdot Q^{\pi_\theta}(s_t, a_t) \right] \]

其中 \(Q^{\pi_\theta}(s_t, a_t)\) 是状态-动作值函数。
直观解释:梯度方向修正动作概率,使高回报动作的概率增加,权重由 \(Q\) 值决定。


3. 策略梯度定理的推导

步骤1:将目标函数写为状态分布形式

\[J(\theta) = \sum_{s \in \mathcal{S}} d^{\pi_\theta}(s) \sum_{a \in \mathcal{A}} \pi_\theta(a|s) Q^{\pi_\theta}(s, a) \]

其中 \(d^{\pi_\theta}(s) = \sum_{t=0}^\infty \gamma^t P(s_t=s)\) 是折扣状态访问分布。

步骤2:对 \(J(\theta)\) 求梯度

梯度包含两部分:

  1. 动作概率的显式梯度(直接对 \(\pi_\theta(a|s)\) 求导)
  2. 状态分布 \(d^{\pi_\theta}(s)\) 的隐式梯度(依赖 \(\theta\) 变化)

关键突破:策略梯度定理证明隐式梯度为零,仅需考虑显式梯度!

步骤3:隐式梯度的消除

通过数学变换(如似然比技巧或平稳分布性质)可证:

\[\sum_s \nabla_\theta d^{\pi_\theta}(s) \cdot V^{\pi_\theta}(s) = 0 \]

详细推导需构造辅助函数并利用贝尔曼方程,最终得到:

\[\nabla_\theta J(\theta) = \mathbb{E}_{s \sim d^{\pi_\theta}, a \sim \pi_\theta} \left[ \nabla_\theta \log \pi_\theta(a|s) \cdot Q^{\pi_\theta}(s, a) \right] \]


4. 减少方差:引入基线(Baseline)

直接使用 \(Q^{\pi_\theta}(s, a)\) 会导致高方差,常见改进是减去基线函数 \(b(s)\)(如状态值函数 \(V^{\pi_\theta}(s)\)):

\[\nabla_\theta J(\theta) = \mathbb{E}_{\tau \sim \pi_\theta} \left[ \sum_{t=0}^T \nabla_\theta \log \pi_\theta(a_t|s_t) \cdot \left( Q^{\pi_\theta}(s_t, a_t) - b(s_t) \right) \right] \]

有效性证明:基线不影响期望值,因为

\[\mathbb{E}_{a \sim \pi_\theta} \left[ \nabla_\theta \log \pi_\theta(a|s) \cdot b(s) \right] = 0 \]


5. 实际算法示例:REINFORCE

  • 用蒙特卡洛采样估计回报 \(G_t = \sum_{k=t}^T \gamma^{k-t} r_k\) 替代 \(Q^{\pi_\theta}(s_t, a_t)\)
  • 更新规则:

\[\theta \leftarrow \theta + \alpha \gamma^t G_t \nabla_\theta \log \pi_\theta(a_t|s_t) \]


6. 策略梯度与Actor-Critic的联系

Actor-Critic算法用价值网络(Critic)近似 \(Q^{\pi_\theta}\) 或优势函数 \(A(s,a) = Q(s,a)-V(s)\),进一步降低方差,例如:

  • 优势Actor-Critic(A2C):使用 \(A(s,a)\) 作为权重
  • 确定性策略梯度(DPG):适用于连续动作空间,梯度直接作用于确定性策略

总结

策略梯度定理通过巧妙的数学变换将策略优化问题转化为可计算的期望形式,奠定了策略梯度算法族的基础。其核心价值在于分离策略参数与状态分布,使梯度估计可行。后续改进(如基线、价值函数近似)均基于此定理展开。

深度强化学习中的策略梯度定理(Policy Gradient Theorem)原理与推导 策略梯度定理是深度强化学习(如REINFORCE、Actor-Critic算法)的核心理论基础,它直接优化策略函数(Policy)的参数,适用于连续或高维动作空间。下面逐步讲解其动机、推导过程及关键细节。 1. 问题背景与动机 在强化学习中,智能体通过策略 $\pi(a|s)$ 选择动作,目标是最大化累积期望回报 $J(\theta)$: $$ J(\theta) = \mathbb{E} {\tau \sim \pi \theta} \left[ \sum_ {t=0}^T \gamma^t r(s_ t, a_ t) \right ] $$ 其中 $\tau$ 是轨迹 $(s_ 0, a_ 0, s_ 1, a_ 1, \dots)$,$\theta$ 是策略参数。 挑战 :直接优化 $J(\theta)$ 需计算梯度 $\nabla_ \theta J(\theta)$,但期望依赖于 $\theta$ 变化的轨迹分布,难以直接求导。 2. 策略梯度定理的核心思想 定理的核心是 将梯度计算转化为对动作的期望 ,避免对状态分布求导: $$ \nabla_ \theta J(\theta) = \mathbb{E} {\tau \sim \pi \theta} \left[ \sum_ {t=0}^T \nabla_ \theta \log \pi_ \theta(a_ t|s_ t) \cdot Q^{\pi_ \theta}(s_ t, a_ t) \right ] $$ 其中 $Q^{\pi_ \theta}(s_ t, a_ t)$ 是状态-动作值函数。 直观解释 :梯度方向修正动作概率,使高回报动作的概率增加,权重由 $Q$ 值决定。 3. 策略梯度定理的推导 步骤1:将目标函数写为状态分布形式 $$ J(\theta) = \sum_ {s \in \mathcal{S}} d^{\pi_ \theta}(s) \sum_ {a \in \mathcal{A}} \pi_ \theta(a|s) Q^{\pi_ \theta}(s, a) $$ 其中 $d^{\pi_ \theta}(s) = \sum_ {t=0}^\infty \gamma^t P(s_ t=s)$ 是折扣状态访问分布。 步骤2:对 $J(\theta)$ 求梯度 梯度包含两部分: 动作概率的显式梯度 (直接对 $\pi_ \theta(a|s)$ 求导) 状态分布 $d^{\pi_ \theta}(s)$ 的隐式梯度 (依赖 $\theta$ 变化) 关键突破 :策略梯度定理证明隐式梯度为零,仅需考虑显式梯度! 步骤3:隐式梯度的消除 通过数学变换(如似然比技巧或平稳分布性质)可证: $$ \sum_ s \nabla_ \theta d^{\pi_ \theta}(s) \cdot V^{\pi_ \theta}(s) = 0 $$ 详细推导需构造辅助函数并利用贝尔曼方程,最终得到: $$ \nabla_ \theta J(\theta) = \mathbb{E} {s \sim d^{\pi \theta}, a \sim \pi_ \theta} \left[ \nabla_ \theta \log \pi_ \theta(a|s) \cdot Q^{\pi_ \theta}(s, a) \right ] $$ 4. 减少方差:引入基线(Baseline) 直接使用 $Q^{\pi_ \theta}(s, a)$ 会导致高方差,常见改进是减去基线函数 $b(s)$(如状态值函数 $V^{\pi_ \theta}(s)$): $$ \nabla_ \theta J(\theta) = \mathbb{E} {\tau \sim \pi \theta} \left[ \sum_ {t=0}^T \nabla_ \theta \log \pi_ \theta(a_ t|s_ t) \cdot \left( Q^{\pi_ \theta}(s_ t, a_ t) - b(s_ t) \right) \right ] $$ 有效性证明 :基线不影响期望值,因为 $$ \mathbb{E} {a \sim \pi \theta} \left[ \nabla_ \theta \log \pi_ \theta(a|s) \cdot b(s) \right ] = 0 $$ 5. 实际算法示例:REINFORCE 用蒙特卡洛采样估计回报 $G_ t = \sum_ {k=t}^T \gamma^{k-t} r_ k$ 替代 $Q^{\pi_ \theta}(s_ t, a_ t)$ 更新规则: $$ \theta \leftarrow \theta + \alpha \gamma^t G_ t \nabla_ \theta \log \pi_ \theta(a_ t|s_ t) $$ 6. 策略梯度与Actor-Critic的联系 Actor-Critic算法用价值网络(Critic)近似 $Q^{\pi_ \theta}$ 或优势函数 $A(s,a) = Q(s,a)-V(s)$,进一步降低方差,例如: 优势Actor-Critic(A2C) :使用 $A(s,a)$ 作为权重 确定性策略梯度(DPG) :适用于连续动作空间,梯度直接作用于确定性策略 总结 策略梯度定理通过巧妙的数学变换将策略优化问题转化为可计算的期望形式,奠定了策略梯度算法族的基础。其核心价值在于 分离策略参数与状态分布 ,使梯度估计可行。后续改进(如基线、价值函数近似)均基于此定理展开。