在 VERL(可能是指基于强化学习的视觉 - 语言或多模态任务训练框架)的 RL 训练中,需要关注的核心指标可分为训练过程指标和任务性能指标两类。结合你提供的日志信息(包含policy_loss
、kl_loss
、reward
等),具体说明如下:
-
策略损失(policy_loss /pg_loss)
pg_loss
(Policy Gradient Loss)是 PPO 等策略梯度算法的核心损失,反映策略更新的方向是否正确。
- 关注要点:
- 正常训练中应逐渐收敛(波动减小),而非持续震荡或发散。
- 若长期为 0(如日志中
policy_loss=0.0000
),可能是策略梯度计算异常(如优势函数为 0、梯度裁剪过度),需检查优势估计或采样逻辑。
-
KL 散度(kl_loss)
- 衡量更新前后策略的差异(PPO 中常用 KL 惩罚或约束控制策略更新幅度)。
- 关注要点:
- 过大(如 > 0.1)说明策略变化剧烈,可能导致训练不稳定;过小(如 < 0.01)可能更新过慢,收敛效率低。
- 日志中
kl_loss=0.05317
处于较合理范围,需观察是否稳定在该量级附近。
-
熵(entropy)
- 反映策略的随机性,熵越高说明策略探索性越强,熵过低可能导致过早收敛到局部最优。
- 关注要点:
- 若长期为 0(如日志中
entropy=0.0000
),说明策略完全确定(无探索),可能导致训练停滞,需检查熵正则项系数是否合理。
-
优势函数均值(adv_mean)
- 优势函数衡量 “某动作的实际收益” 与 “平均收益” 的差值,是策略梯度更新的核心依据。
- 关注要点:
- 若长期接近 0(如日志中
adv_mean=0.0000
),说明优势估计失效(无法区分动作好坏),需检查价值函数(Critic)的拟合质量或回报计算逻辑。
-
梯度范数(grad_norm)
- 衡量参数梯度的 L2 范数,用于监控梯度是否爆炸或消失。
- 关注要点:
- 过大(如 > 10)可能导致梯度爆炸,需加强梯度裁剪;过小(如接近 0)可能梯度消失,需检查损失计算或学习率。
-
奖励(reward)
- 环境反馈的即时奖励,反映当前策略在任务中的表现。
- 关注要点:
- 长期趋势应逐渐上升(或向任务目标靠近),若持续为负(如日志中
reward=-0.1000
)且无改善,说明策略未学会有效行为,需检查奖励函数设计或状态输入是否正确。
-
平均回报(Average Return)
- 一个 episode 内的累计奖励均值,直接反映策略的整体性能。训练过程中应逐步提升并趋于稳定。
-
成功率(Success Rate)
- 对于目标导向任务(如机器人控制、指令完成),衡量策略成功达成目标的比例,是最直观的任务指标。
-
episode 长度(Episode Length)
- 完成一个 episode 的平均步数,若任务要求 “高效完成”,则长度应随训练减少(在保证成功率的前提下)。
-
价值函数误差(Value Loss)
- 衡量 Critic 网络对状态价值的预测误差(如 MSE),若过大说明价值估计不准,会影响优势函数计算,间接导致策略更新异常。
-
指标波动幅度
- 上述所有指标的波动应随训练逐渐减小,若持续剧烈震荡(如 reward 忽高忽低),可能是学习率过高、KL 约束不足或采样方差过大导致。
-
策略收敛速度
- 关注指标达到稳定值的迭代次数,若训练后期指标仍无明显改善(如 1000 迭代后 reward 无增长),可能是陷入局部最优,需调整探索策略(如增加熵系数)或学习率。
结合你的日志,当前policy_loss
、entropy
、adv_mean
均为 0 是异常信号,建议优先检查:
- 优势函数(Advantage)的计算逻辑(是否正确区分动作优劣);
- 熵正则项是否被正确加入损失函数(避免策略过早确定性);
- 策略梯度的反向传播是否存在 bug(如梯度未更新)。
这些指标的协同变化能帮助定位训练瓶颈,确保 RL 策略在收敛效率和最终性能间达到平衡。