PPO原理
近端策略优化算法核心思想
算法概述
PPO(Proximal Policy Optimization)是一种策略梯度算法, 通过限制策略更新幅度来保证训练稳定性,是RLHF中最常用的强化学习算法。
稳定
限制更新幅度
高效
样本利用率高
简单
易于实现调参
核心思想
PPO通过裁剪目标函数限制新旧策略的差异:
# 重要性采样比率
r_t(θ) = π_θ(a_t|s_t) / π_θ_old(a_t|s_t)
# PPO-Clip目标
L^CLIP = E[min(r_t(θ) * A_t, clip(r_t(θ), 1-ε, 1+ε) * A_t)]
# ε通常设为0.1-0.2
裁剪机制
为什么需要裁剪?
- • 防止策略更新过大导致崩溃
- • 保证新旧策略分布接近
- • 提高训练稳定性
裁剪效果
当 r_t(θ) < 1-ε 或 r_t(θ) > 1+ε 时,目标函数被裁剪
策略变化被限制在 (1-ε, 1+ε) 范围内
优势函数估计
使用GAE(Generalized Advantage Estimation)计算优势:
# GAE公式
A_t = Σ (γλ)^l * δ_{t+l}
# TD残差
δ_t = r_t + γV(s_{t+1}) - V(s_t)
# γ=0.99, λ=0.95 是常用值
在RLHF中的应用
PPO在RLHF中的目标函数:
L = L_CLIP - c1 * L_VF + c2 * L_KL
# L_CLIP: PPO目标
# L_VF: 价值函数损失
# L_KL: KL散度惩罚
----