RL ML Learning Lab
08 / 13
策略空间 · 范式转换

策略梯度Policy Gradient

不学 Q 值,直接学策略 — REINFORCE → Baseline → Actor-Critic

3h
阅读 + 实操
3 个
交互演示
高阶
难度

策略梯度 · 交互演示

Ep200
步数195
最佳200

CartPole — 动作概率 π(a|s)

← 左推
0.50
右推 →
0.50

点击「📺 单集」开始一局,或「▶ 自动」连续训练;柱条实时显示左/右动作概率,观察策略如何从均匀分布学到偏好。

注:三种模式共享同一组网络参数继续训练,并非各自独立训练的公平对比。

学习率 0.01
γ 折扣 0.99

8.1 换条路:直接学策略

价值型方法先学 Q 再选动作,但遇到连续动作(机械臂的力矩有无数档)或需要随机策略的场景就力不从心。策略梯度干脆换条路:直接参数化策略 π(a|s;θ),用梯度上升最大化期望回报 —— 「好动作多做一点,坏动作少做一点」。这个简单的思路是 PPO、A3C 等现代方法的起点,也是 RLHF 优化大模型的核心工具。

下一步预告:策略梯度是起点而非终点——Actor-Critic 让每步都能更新,PPO 让更新更稳,RLHF 把 RL 用到大模型对齐。下一章开始,我们进入现代 RL。

📌 发生了什么

  • 策略网络直接输出 π(a|s),按概率采样动作
  • REINFORCE 用完整回报 G 加权梯度
  • +Baseline 减去 V(s) 降低方差,期望不变
  • Actor-Critic 用 TD 误差每步更新,样本高效

⚠️ 常见陷阱

  • REINFORCE 必须等 episode 结束,方差极大
  • 误以为 Baseline 改变梯度方向(其实只降方差)
  • 把 Actor-Critic 当成 REINFORCE+Baseline 换名

本章小结

  • 直接优化 π(a|s;θ),不依赖价值函数,支持连续动作
  • REINFORCE 无偏但方差大;Baseline 降方差
  • Actor-Critic 每步 TD 更新,是 PPO/A3C 基础

8.2 目标函数 J(θ):策略的期望回报

策略梯度直接参数化策略 π(a|s;θ),用梯度上升最大化期望回报 J(θ)。

目标函数 J(θ):策略 π_θ 下轨迹回报的期望。对 θ 求梯度即可更新策略。

8.3 策略梯度定理:好动作多做

策略梯度定理:梯度 = E[∇log π(a|s) · G_t]。log 把求导从分布转移到样本上(score function 技巧),无需知道环境模型。

8.4 Baseline:减掉底噪降方差

REINFORCE 带 baseline:减去与动作无关的基线 b(s)(常用 V(s))不改变梯度期望,但大幅降低方差,使训练更稳定。

8.5 Baseline 与方差对比

是否使用 baseline 直接决定策略梯度的方差与收敛性。

设置 表现 结果
无 baseline 梯度方向波动大,更新剧烈 方差大、难收敛
baseline = V(s) 用优势 G_t - V(s) 抑制波动 方差大降
α 过大 策略更新过猛,性能骤降 需调小 α

💡 baseline 不改变梯度期望(无偏),只降方差 —— 这是策略梯度的关键技巧。

8.6 REINFORCE 核心代码走读

采样完整 episode,用 log π 的梯度乘以回报更新策略参数(Python):

gamma, alpha = 0.99, 0.01
policy = make_policy_net()   # π(a|s; θ)

for ep in range(n_episodes):
    traj = run_episode(policy)   # [(s, a, r), ...]
    G = 0
    for t in range(len(traj) - 1, -1, -1):
        s, a, r = traj[t]
        G = r + gamma * G               # 回报
        logp = log_prob(policy, s, a)
        baseline = V(s)                 # 可选 baseline
        loss = -logp * (G - baseline)
        gradient_step(policy, loss)     # θ ← θ + α·∇logπ·(G-b)

📚 参考文献与延伸阅读

  • Sutton & Barto, Reinforcement Learning (2nd ed.), §13 Policy Gradient Methods — 策略梯度定理与 REINFORCE
  • Williams, R. (1992), Simple statistical gradient-following algorithms for connectionist RL — REINFORCE 原始论文
  • Wikipedia: Policy gradient — 定理推导与 Actor-Critic 变体

📝 课后练习

检验你的理解——答对为止