REINFORCE算法
概述
Williams (1992) 提出的最早策略梯度算法,使用蒙特卡洛(MC)完整轨迹回报 G_t 直接估计策略梯度。理论简洁,支持连续动作和随机策略,但方差极高、样本效率低,是后续 TRPO、PPO 等算法的出发点。
关键内容
-
核心更新规则:
θ ← θ + α Σ_t γ^t ∇_θ log π_θ(a_t|s_t) · G_t其中 G_t = Σ_{k=t}^{T} γ^{k-t} r_k 是从 t 时刻起的折扣回报(MC 估计)。 -
Log-trick 推导: 利用 ∇p = p·∇log p,将梯度转化为期望形式,使得无需知道环境动力学 P(s'|s,a),只需能采样轨迹即可估计梯度。
-
基线(Baseline)减方差: 引入与动作无关的基线 b(s_t)(通常取 V^π(s_t))后,更新为:
θ ← θ + α Σ_t ∇_θ log π_θ(a_t|s_t) · (G_t - b(s_t))基线不引入偏差(期望为零),但显著降低方差,此时 G_t - V(s_t) ≈ 优势函数 A(s_t, a_t)。 -
优点:理论保证无偏梯度;支持连续动作和随机策略;探索自然内嵌;可处理部分可观测问题。
-
局限性:方差极高需大量样本;每个 episode 结束才能更新(只支持 on-policy,不能在线学习);步长难以选择,收敛慢。
来源
- raw/assets/RL-Analysis/rl_04_reinforce_trpo_ppo — P-01:REINFORCE 完整分析(Williams 1992)