基于策略梯度的高效强化学习算法-GRPO

GRPO(Group Relative Policy Optimization)是一种基于策略梯度的高效强化学习算法。

GRPO通过分组相对回报估计来提升样本效率和策略更新的稳定性。具体为在同一批经验中,通过分组并计算组内相对表现来估计优势函数,替代传统PPO对绝对价值或优势的估计。

这里尝试通过分布推导,重现这一过程。所用示例参考和修改自网络资料。

1 强化学习

1.1 强化学习目标

强化学习的目标是找到一个参数化的策略 ,以最大化期望累积奖励(回报):

其中是一条轨迹,是折扣因子。

1.2 策略梯度定理

根据策略梯度定理,目标函数关于参数的梯度为:

其中是优势函数,定义为动作价值函数与状态价值函数的差:

优势函数衡量了在状态下执行动作相对于平均水平的好坏程度。

其核心难点在于,优势函数是未知的,需要准确估计。

优势含漱估计不准确,会导致梯度方差大、更新不稳定。

1.3 广义优势估计GAE

传统强化学习方法PPO通常使用广义优势估计GAE来估计

其中是一个学习到的价值网络。

GAE的缺点是赖一个独立训练的价值网络,其估计误差会直接传递到优势估计中,且需要额外的网络和稳定训练技巧。

2 GRPO

GRPO是分组相对回报估计,这里通过在多个步骤中分布推导,梳理和总结GRPO的估计过程。

2.1 GRPO估计推导

GRPO旨在避免显式学习价值网络,直接从一组经验样本中隐式地、相对地估计优势。

步骤 1:经验收集与分组

  1. 用当前策略与环境交互,收集 条轨迹的经验,构成一个批次(Batch)。

  2. 将这个批次的经验随机分成组(Groups),每组包含条轨迹,具体为:

步骤 2:组内回报计算

对于组中的每一条轨迹,计算其折扣累积回报

步骤 3:组内相对优势计算

这是GRPO最关键的步骤,假设在同一组内,由于环境和策略在短时间内的稳定性,不同轨迹的回报差异主要源于动作选择的不同,而非状态分布的差异。

对于组内的某个状态-动作对,GRPO 定义其相对优势为:

其中:

是组内所有轨迹回报的均值。
是组内所有轨迹回报的标准差。

是一个小的常数,防止除零。

直观理解如下所示。

1)去均值

这等同于用组内平均表现作为基线。

根据策略梯度定理,基线可以减少梯度方差而不引入偏差。

这里,自然成为了该组样本的状态价值函数的近似(对组内所有状态取平均)。

2)标准化(Normalization)

具体为除以,这一步将不同组的优势值缩放到相似的尺度。

这极大地稳定了策略更新的步长,使更新对回报的绝对尺度不敏感。

3)相对性(Relativity)

最终估计的优势,不再是动作的绝对好,而是相对于同组内其他轨迹的表现好多少。

一条轨迹比同组平均好一个标准差,其优势就是 +1。

步骤 4:策略优化目标函数

有了优势估计,GRPO 构建类似于PPO的裁剪目标函数,以进行稳定、高效的小批量更新。

1)重要性采样比:

2)GRPO目标函数:

其中是该状态-动作对所对应的分组相对优势估计。

min操作在原始比率目标与裁剪目标之间取最小值,防止因比率过大导致破坏性大更新。

将重要性采样比限制在 范围内,限制策略单次更新幅度。

2.2 GRPO推导总结

GRPO推导揭示了其如何巧妙地将分组统计与相对比较的思想融入策略梯度框架。

GRPO通过简洁公式实现了基线削减方差和标准化稳定更新的双重目的。

从而整体形成了一种高效、简洁且稳定的策略优化算法。

2.3 GRPO流程

GRPO算法流程如下所示

  1. 初始化:策略网络参数

  2. 循环(直到收敛):

a. 采样:使用策略收集条轨迹的经验数据。

b. 计算回报:为每条轨迹计算折扣回报

c. 分组与优化(多轮Epoch):

for epoch in 1...E:

将数据随机分成个组。

对每个组,计算组内回报均值和标准差

对组内每个样本,计算相对优势

使用目标函数,通过随机梯度上升如Adam更新策略参数

d.

GRPO优势主要总结为如下几方面:

没有价值网络,避免了价值网络训练不稳定和偏差传递的问题。

采用隐式基线,组内均值 作为自适应基线,有效降低梯度方差。

组内标准差提供了自动自适应梯度缩放,学习率对回报尺度不敏感,提升了训练稳定性。

通过对单批样本的重分组,可以进行多次策略更新(类似于PPO的多个Epoch),充分利用数据

分组估计虽然引入了偏差,但降低了方差,在批次足够大分组合理情况下,这是一个有利的权衡。

3 PPO vs GRPO

这里从多个角度对比PPO和GRPO。

1)优势估计

PPO依赖于独立的价值网络和 GAE。

GRPO依赖于同一批次内样本的分组统计量(均值、标准差)。

2)所需网络

PPO需要策略网络 + 价值网络,而GRPO近需要策略网络。

3)稳定性来源

PPO的稳定训练,来源于裁剪 + GAE的平滑估计 + 价值网络正则化。

GRPO的稳定训练,来源于裁剪 + 分组相对标准化(隐式基线与自动缩放)。

4)超参数

PPO训练需要关注学习率,GAE系数,裁剪范围,价值网络相关超参数。

GRPO仅需要关注学习率,分组数量,裁剪范围

reference


simple_GRPO

https://github.com/lsdefine/simple_GRPO

simple_GRPO是如何复现DeepSeek的GRPO算法的?

https://www.zhihu.com/question/12750157686

基于人类反馈的强化学习框架RLHF尝试学习

https://blog.csdn.net/liliang199/article/details/156951282

Optimizing Safe and Aligned Language Generation: A Multi-Objective GRPO Approach

https://simg.baai.ac.cn/paperfile/460ed0ba-b0f1-4223-a42e-4a23a7b12154.pdf

深度解析:DeepSeek R1-Zero训练范式与GRPO极简优化策略

https://cloud.baidu.com/article/3613515

相关推荐
那个村的李富贵3 小时前
光影魔术师:CANN加速实时图像风格迁移,让每张照片秒变大师画作
人工智能·aigc·cann
腾讯云开发者5 小时前
“痛点”到“通点”!一份让 AI 真正落地产生真金白银的实战指南
人工智能
CareyWYR5 小时前
每周AI论文速递(260202-260206)
人工智能
hopsky6 小时前
大模型生成PPT的技术原理
人工智能
禁默6 小时前
打通 AI 与信号处理的“任督二脉”:Ascend SIP Boost 加速库深度实战
人工智能·信号处理·cann
心疼你的一切7 小时前
昇腾CANN实战落地:从智慧城市到AIGC,解锁五大行业AI应用的算力密码
数据仓库·人工智能·深度学习·aigc·智慧城市·cann
AI绘画哇哒哒7 小时前
【干货收藏】深度解析AI Agent框架:设计原理+主流选型+项目实操,一站式学习指南
人工智能·学习·ai·程序员·大模型·产品经理·转行
数据分析能量站7 小时前
Clawdbot(现名Moltbot)-现状分析
人工智能
那个村的李富贵7 小时前
CANN加速下的AIGC“即时翻译”:AI语音克隆与实时变声实战
人工智能·算法·aigc·cann
二十雨辰7 小时前
[python]-AI大模型
开发语言·人工智能·python