Personal Knowledge Base

A long-term research and learning notebook for posts, notes, papers, projects, and research directions.

Skip to content
← Back to notes

强化学习 09:Policy Gradient Methods

直接对参数化策略的期望回报求梯度,掌握 REINFORCE、基线、优势函数与稳定策略更新。

3 min read

直接优化策略

Policy Gradient Methods 不必先对每个动作求最大值,而是用参数 θ\theta 表示策略:

πθ(as)\pi_\theta(a\mid s)

并直接最大化期望回报:

J(θ)=Eτπθ[t=0T1γtRt+1]J(\theta) =\mathbb{E}_{\tau\sim\pi_\theta} \left[ \sum_{t=0}^{T-1}\gamma^tR_{t+1} \right]

这种方法适合随机策略和连续动作空间,也能自然学习多峰动作分布。

Policy Gradient Theorem

策略梯度定理给出:

θJ(θ)Eπθ[Qπθ(St,At)θlogπθ(AtSt)]\nabla_\theta J(\theta) \propto \mathbb{E}_{\pi_\theta} \left[ Q^{\pi_\theta}(S_t,A_t) \nabla_\theta\log\pi_\theta(A_t\mid S_t) \right]

关键技巧是对数导数恒等式:

θπθ(as)=πθ(as)θlogπθ(as)\nabla_\theta\pi_\theta(a\mid s) =\pi_\theta(a\mid s) \nabla_\theta\log\pi_\theta(a\mid s)

它让无法直接对环境动力学求导的问题,转化为对策略对数概率求导。

REINFORCE

REINFORCE 使用完整回报 GtG_t 估计 Qπ(St,At)Q^\pi(S_t,A_t)

θθ+αGtθlogπθ(AtSt)\theta \leftarrow \theta+\alpha G_t\nabla_\theta \log\pi_\theta(A_t\mid S_t)

若某个动作之后获得较高回报,就提高该动作在相应状态下的概率;若回报较低,则降低其概率。

REINFORCE 是无偏估计,但完整轨迹回报往往带来很高方差。

基线与优势函数

从回报中减去只依赖状态的基线不会改变梯度期望:

θJ(θ)=E[(Qπ(St,At)b(St))θlogπθ(AtSt)]\nabla_\theta J(\theta) =\mathbb{E} \left[ \left(Q^\pi(S_t,A_t)-b(S_t)\right) \nabla_\theta\log\pi_\theta(A_t\mid S_t) \right]

常用 b(St)=Vπ(St)b(S_t)=V^\pi(S_t),此时括号中的量为优势函数:

Aπ(s,a)=Qπ(s,a)Vπ(s)A^\pi(s,a)=Q^\pi(s,a)-V^\pi(s)

优势函数表示某个动作相对该状态下平均表现好多少,是策略更新中最常见的权重。

策略参数化

离散动作常用 softmax:

πθ(as)=exp(zθ(s,a))aexp(zθ(s,a))\pi_\theta(a\mid s) = \frac{\exp(z_\theta(s,a))} {\sum_{a'}\exp(z_\theta(s,a'))}

连续动作常用高斯策略,网络输出均值与标准差:

AtN(μθ(St),σθ2(St))A_t\sim\mathcal{N} \left(\mu_\theta(S_t),\sigma_\theta^2(S_t)\right)

标准差决定探索强度。实践中通常优化 logσ\log\sigma,并限制其数值范围。

熵正则化

为了避免策略过早变成近似确定性分布,可以在目标中加入熵奖励:

Jentropy=J(θ)+βE[H(πθ(St))]J_{\text{entropy}} =J(\theta) +\beta\, \mathbb{E} \left[\mathcal{H}(\pi_\theta(\cdot\mid S_t))\right]

较大的 β\beta 鼓励探索,较小的 β\beta 允许策略集中到高价值动作。

稳定更新

策略梯度对学习率和样本分布较敏感。一次更新过大可能使新策略远离采样策略,导致旧数据迅速失效。常见稳定化思路包括:

  • 使用 advantage normalization 控制梯度尺度。
  • 对概率比率或 KL divergence 加约束。
  • 使用 mini-batch 多轮更新,提高样本利用率。
  • 对梯度范数裁剪。
  • 同时记录策略熵、KL、回报和价值误差。

PPO 使用裁剪概率比率限制单次策略变化:

rt(θ)=πθ(AtSt)πθold(AtSt)r_t(\theta) =\frac{\pi_\theta(A_t\mid S_t)} {\pi_{\theta_{\text{old}}}(A_t\mid S_t)} Lclip=E[min(rtAt,clip(rt,1ϵ,1+ϵ)At)]L^{\text{clip}} =\mathbb{E} \left[ \min \left( r_tA_t, \operatorname{clip}(r_t,1-\epsilon,1+\epsilon)A_t \right) \right]

本章小结

Policy Gradient 直接优化决策分布,避免了连续动作上的显式最大化问题。它的主要挑战是梯度估计方差高、数据利用率低和更新易失稳,而基线、优势估计、熵正则化与信赖域约束构成了常见解决方案。

Related Posts