Policy Gradient策略梯度与REINFORCE
策略梯度方法直接优化策略参数,REINFORCE是其代表性算法。请解释策略梯度定理、REINFORCE的蒙特卡洛更新方式及其优缺点。
回答
小字辈
策略梯度方法是一类直接对策略参数进行梯度优化的强化学习算法,与值函数方法形成鲜明对比。
策略梯度定理(Policy Gradient Theorem):
- 目标函数J(θ) = V_π_θ(s_0),表示在初始状态s_0下的期望回报。
- 策略梯度定理给出了J(θ)对参数θ的梯度: ∇_θ J(θ) = E_π_θ[∇_θ log π_θ(a|s) · Q_π_θ(s,a)]
- 直观理解:增大带来更高Q值的动作的概率,减小带来更低Q值的动作的概率。
- 该定理的意义:不依赖于环境动力学(无需已知P(s'|s,a)),直接从轨迹采样估计梯度。
REINFORCE算法(Williams, 1992): 蒙特卡洛策略梯度方法,使用完整轨迹的回报G_t作为Q值的无偏估计。
更新方式:
- 使用当前策略π_θ生成一整条轨迹(s_0,a_0,r_1,...,s_{T-1},a_{T-1},r_T)。
- 对每个时间步t,计算折现累积回报G_t = Σ_{k=t}^{T-1} γ^{k-t}·r_{k+1}。
- 更新策略参数:θ ← θ + α·G_t · ∇_θ log π_θ(a_t|s_t)
梯度更新公式: ∇_θ J(θ) ≈ (1/N)·Σ_{t=0}^{T-1} G_t · ∇_θ log π_θ(a_t|s_t)
优缺点:
优点:
- 可直接处理连续动作空间(策略输出分布参数如高斯分布的μ和σ)。
- 学习随机策略,天然具备探索能力。
- 适用于部分可观测环境(POMDP)。
- 能学习到随机最优策略(如石头剪刀布)。
缺点:
- 高方差:G_t的方差很大,导致梯度估计不稳定,收敛慢。
- 样本效率低:每次更新都需要完整轨迹,不能单步更新。
- 只会Monte Carlo更新:无法使用bootstrapping(时序差分)。
降低方差的常用技巧:
- 添加基线(Baseline):b(s)替代Q值,用G_t - b(s_t)降低方差。通常使用状态值V(s)作为基线。
- 优势函数:A(s,a)=Q(s,a)-V(s),这引出了Actor-Critic方法。
- 折扣因子:γ<1可以降低长远回报的方差。
REINFORCE简单但实用,是理解更具效力的Actor-Critic和PPO等算法的基础。