策略梯度定理与 REINFORCE
策略梯度定理给出 。本章推导该定理、REINFORCE 算法、基线(baseline)为何不引入偏差却降低方差,以及因果性(reward-to-go)的作用。
从期望回报到梯度
Section titled “从期望回报到梯度”策略方法直接参数化策略 ,目标最大化期望回报 。困难在于: 是对轨迹分布的期望,而轨迹分布依赖 (动作采样自 ),梯度似乎需要知道"采样概率如何随参数变化"——对环境转移 求导是不可能的(环境未知且不可微)。
对数导数技巧(log-derivative trick)解决了这个问题:
即"对分布求导"可以变成"乘以对数概率的导数"。对整条轨迹反复使用,所有只含环境转移的项都被消去:
策略梯度定理
Section titled “策略梯度定理”
其中 (reward-to-go)是从 时刻起的累积回报。这个定理不需要知道环境的可微模型——只需要能采样轨迹、能对 求导。直觉: 指向"提高该动作概率"的方向;回报为正的轨迹上,这个方向被加强,回报为负则被抑制。
REINFORCE
Section titled “REINFORCE”策略梯度定理的最直接实现就是 REINFORCE(Williams, 1992):
for episode in range(N): tau = collect_episode(pi_theta) # 采样完整轨迹 G = 0 for t in reversed(range(len(tau))): # 从后往前算 reward-to-go G = tau[t].r + gamma * G theta += alpha * G * grad_log_pi(tau[t].s, tau[t].a)它是 on-policy 的(数据必须来自当前策略)、 Monte Carlo 的(用完整回报)、无偏的(目标就是真实梯度)。缺点是方差极大: 累积了整条轨迹的所有随机性,梯度估计噪声大,学习率只能很小,样本效率低。
基线:降方差不引入偏差
Section titled “基线:降方差不引入偏差”对回报减去一个只依赖状态的函数 ,梯度期望不变:
因为 ,对 的导数恒为零。所以:
仍然无偏,但方差显著降低。最优基线是 形式的加权平均,实践中用价值函数 或其估计——这正是 Actor-Critic 的动机(→ 下一章)。
因果性:reward-to-go
Section titled “因果性:reward-to-go”同理, 时刻的动作不能影响 之前的奖励,所以把"整条轨迹的回报"换成"从 起的回报"(reward-to-go)也不引入偏差:
减去过去的奖励又消掉一大块方差。综合两者,实用的梯度估计是"reward-to-go 减去基线"——这正是优势函数 的 Monte Carlo 估计。
REINFORCE 是策略方法族的起点:加基线与 critic 得到 Actor-Critic,加信任域得到 TRPO/PPO,加最大熵得到 SAC(→ TRPO 与 PPO)。贯穿这一族方法的核心敌人始终是方差。
- 对数导数技巧把对分布的导数变成期望
- 基线可以是任意只依赖状态的函数
- 方差是策略梯度的核心敌人