GRPO优化函数和改进策略的探索分析

GRPO是一种强化学习策略优化方法,它通过组内相对比较来评估和改进策略。

之前探索了基于策略梯度的高效强化学习算法-GRPO。

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

这里进一步探索GRPO优化函数,以及其评估和改进策略。

讨论内容参考和修改自网络资料。

1 GRPO

GRPO不是用绝对回报值评估策略,而是通过策略在组内的相对表现来评估和优化。

这里所用GRPO符号定义如下

: 策略

: 轨迹序列

: 轨迹回报

D: 策略组 {}

: 策略生成轨迹τ的概率

1.1 传统目标函数

传统策略梯度目标是最大化期望回报

策略梯度为:

1.2 引入新的基线

同时为了减少方差,使用组平均回报作为基线。

引入了新优势函数

其中b(s)是状态相关的基线。

GRPO的独特之处是使用组平均回报作为基线。

1.3 GRPO目标函数

GRPO引入组内相对优势概念。

对于策略组D中的每个策略,定义其相对优势:

其中是组间平均回报。

GRPO的目标是最大化相对优势的期望

在实际情况下,会使用算术平均的方式,所以优势函数也可以写为:

2 梯度推导

求梯度:

可以分解为两部分:

2.1 传统策略梯度

第一部分就是传统策略梯度:

2.2 组平均梯度

第二部分更复杂,因为是组间的平均:

由于对于j≠i是常数(不依赖于),只有j=i项依赖于,因此,进一步有

2.3 完整梯度

将两部分合并,完整的梯度形式如下所示

2.4 实际优化目标

在实际操作时,会采用重要性采样来替代目标函数。

为了避免训练不稳定,GRPO使用替代目标(surrogate objective):

其中:

是重要性采样比率

是裁剪参数(通常0.1-0.3)

3 GRPO算法

GRPO算法核心步骤示例如下

  1. 初始化:创建策略组D = {π_θ₁, π_θ₂, ..., π_θ_N}

  2. 采样:每个策略与环境交互收集轨迹

  3. 计算回报:计算每个轨迹的回报R(τ)

  4. 计算组平均:计算组内平均回报

  5. 计算优势:A_i(τ) = R(τ) - 组平均回报

  6. 策略更新:对每个策略π_i,最大化L(θ_i)

  7. 迭代:重复步骤2-6直到收敛

3.1 GRPO特性

GRPO可以看作是在组内进行竞争性学习。

当策略组收敛时,满足:

此时,策略停止更新。

3.2 GRPO优势

另外,GRPO相当于PPO的进化,N为组的数目。

N=1时,GRPO退化为标准PPO。

N>1时,GRPO引入了组内竞争机制。

相比PPO,GRPO相对评估避免绝对回报尺度问题,组平均作为自然基线,同时又鼓励策略探索不同行为,相对比较减少了极端回报的影响。

实际实现中,通常使用GAE进行优势估计,添加熵正则项鼓励探索,使用价值函数进一步减少方差,采用分布式训练并行更新组内策略。

reference


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

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

RL中GAE的计算过程详解

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

基于人类反馈的强化学习框架-RLHF&PPO

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

相关推荐
盟接之桥9 分钟前
盟接之桥EDI软件:API数据采集模块深度解析,打造企业数据协同新引擎
java·运维·服务器·网络·数据库·人工智能·制造
大好人ooo12 分钟前
RAG & Grounding
人工智能
无忧智库19 分钟前
某电力公司“十五五”源网荷储多Agent协调控制与虚拟电厂平台建设方案深度解析(WORD)
人工智能
Zzz 小生22 分钟前
LangChain Streaming-Overview:流式处理使用完全指南
人工智能·python·语言模型·langchain·github
shadowcz00723 分钟前
刚刚,谷歌发布了Gemini 3.1 Pro,同时Google AI Studio也已经支持全栈应用开发。
人工智能
Dev7z1 小时前
基于LSTM神经网络的共享单车需求预测系统设计与实现
人工智能·神经网络·lstm
Open Source Thoughts1 小时前
OpenClaw.ai:Agentic AI 时代的“SpringFramework”时刻
java·人工智能·spring·prompt·开源软件·agi·ai-native
Loo国昌1 小时前
【AI应用开发实战】 03_LangGraph运行时与状态图编排:从直接执行到图编排的演进之路
人工智能·后端·python·自然语言处理·prompt
njsgcs1 小时前
ollama 报错dial tcp ipv6:443: connectex: A connection attempt failed because 解决办法
人工智能
眼镜哥(with glasses)2 小时前
0215笔记-语言模型,提问范式与 Token
人工智能·笔记·语言模型