GRPO
PPO
在强化学习中,直接优化策略会导致训练不稳定,参数过大更新导致模型崩溃。PPO通过限制策略更新幅度,让每一步训练都不会太偏离当前策略。
LCLIP(θ)=Et[min(rt(θ)A[t],clip(rt(θ),1−ε,1+ε)At)]
- rt(θ)=πθold(at∣st)πθ(at∣st):新旧策略概率比,表示策略变化的程度。
- At:优势函数,衡量动作偏离平均回报的程度
- clip函数:限制更新幅度,防止策略突变
算法目标
强化学习算法的核心目标是优化策略πθ,最大化奖励积累R。
策略梯度算法直接优化策略,有时参数更新过大会导致模型不稳定。为了解决该问题,PPO引入clip限制更新幅度,保证策略的稳定性。
通过梯度上升更新πθ。
PPO的目标是找到一个折中:在保持改进的同时防止策略变化过大导致不稳定。
值函数优化
PPO不仅优化策略,还同时更新优化值函数V(st),通过最小化均方误差来更新:
LVF(θ)=E[(V(st;θ)−Rt)2]
- V(st;θ):当前状态的值函数预测。
- Rt=∑k=0nγkrt+k:累计回报。
作用是使得Critic更准确地估计状态值。
策略熵正则化
熵正则化项可以鼓励策略的探索。
LENT(θ)=Et[H(πθ(st))]
- H(πθ(st)):策略熵,表示策略分布的不确定性。
- 增加熵可以防止策略过早收敛到局部最优。
总损失函数
PPO集合策略损失、值函数损失和熵正则化项,组成总损失函数
L(θ)=Et[LCLIP(θ)−c1LVF(θ)+c2LENT(θ)]
算法流程
1.采样 -> 2.计算优势函数 -> 3.计算概率比率rt(θ) -> 4.策略更新 -> 5.值函数更新 -> 6.重复上述步骤
- 使用当前策略πθ与环境交互,收集状态st、动作at、奖励rt。
- 评估某个动作at在状态st下相对于平均表现的优劣(优势函数At),利用At引导策略改进。
- 比较新策略和旧策略对动作at的选择概率。
- clip剪辑范围为1−ε到1+ε,如果更新超过该范围会被惩罚。保证更新幅度适中,既不能太保守,又不能太激进。
- LENT(θ)=Et[H(πθ(st))]
- 通过多轮迭代使策略逐步优化,直到收敛。
改进动机
数学推理任务特点
- 多步依赖性:最终答案正确性依赖中间步骤。
- 部分正确性:存在部分正确但是整体错误的解。
- 稀疏奖励:仅最后答案有明确奖励信号。
PPO的不足
- 单样本优势估计,方差大。
- 绝对奖励无法区分组内样本的相对质量。
改进
分组
对同一prompt生成K个响应组成一个组:
G={(y1,r1),(y2,r2),...,(yK,rK)}
其中y为响应,r为奖励。
相对优势
组内标准化优势函数
A~i=σGri−μG
相对排名优势
Airank=K/2rank(ri)−(K+1)/2
混合优势函数
AiGRPO=λA~i+(1−λ)Airank
λ=0.7时效果最佳
目标函数设计
LGRPO(θ)=EG[K1i=1∑Kmin(ri(θ)AiGRPO,clip(ri(θ),1−ε,1+ε)AiGRPO)]
通过相对优势降低方差,结合数组差异和排名信息,组均值作为天然基线无需额外网络。