# IsaacLab训练Value Function Loss变inf梯度爆炸

> 原文链接：https://robotics.hellobike.com/pitfalls/2026-04-25-unitree-rl-lab-107
> 频道：pitfalls | 更新日期：2026-04-25 | 标签：auto, github-issue, unitree_rl_lab
> 核心摘要：RL训练中value_function loss突变为inf导致梯度爆炸，可通过裁剪last_action观测或移除该输入项缓解。

# IsaacLab训练Value Function Loss变inf梯度爆炸

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[梯度突然在1000步爆炸 Mean value_function loss: inf](https://github.com/unitreerobotics/unitree_rl_lab/issues/107)（GitHub unitreerobotics/unitree_rl_lab #107）

**状态**：有绕过办法

## 问题

在IsaacLab-2.2.0环境中进行RL训练时，约1000步后Mean value_function loss突变为inf，Mean surrogate loss归零，触发梯度爆炸并抛出异常终止训练。多位用户反馈即使添加梯度裁剪，策略训练20000次仍无法收敛，且修改课程学习配置无效。

## 环境

IsaacLab-2.2.0, rsl_rl, Python 3.11, unitree_rl_lab仓库

## 解决办法

1. 在ObservationsCfg的PolicyCfg中为last_action观测项添加clip=(-2.0, 2.0)参数限制数值范围
2. 若裁剪后仍不稳定，尝试完全注释或删除last_action = ObsTerm(func=mdp.last_action...)配置行
3. 验证移除last_action后训练是否恢复稳定，若有效再逐步调大clip阈值测试边界
4. 检查CriticCfg中base_lin_vel等未加噪声与裁剪的观测项是否存在异常值传播风险

讨论原作者：@xiaoc10020015 等，版权归原作者所有。
:::

## 原始参考来源 (Sources)

- [GitHub unitreerobotics/unitree_rl_lab #107：梯度突然在1000步爆炸 Mean value_function loss: inf](https://github.com/unitreerobotics/unitree_rl_lab/issues/107)