Nvidia Isaac Lab 5 - 强化学习
强化学习是不依赖预先存在数据集的机器人学习方法。在缺乏示范或带标签数据的情况下,尤为关键。
该方法使智能体能够与环境交互,并且根据自身行为获得奖励、惩罚或终止等反馈,从而进行学习,其实质是试错学习。

在强化学习中,机器人与环境进行交互,尝试各种动作,获得奖励或惩罚反馈。其目标是最大化长期累积奖励。
奖励函数的设计是强化学习的核心研究课题,它定义任务的好坏标准。奖励函数至关重要,它决定状态和动作的优劣。比如在自动驾驶中,守规行驶获高奖励,撞车则获低奖励。
这种方法在复杂任务中格外有用,特别是当生成带标签数据非常困难甚至不可能时,比如抓取物体、高级运动控制,以及其他难以用数学模型刻画或无法穷尽示范的精细任务,都属此类。

强化学习过程涉及智能体和环境。智能体执行动作,作为回报,它收到三样东西:
- 当前状态的观测
- 奖励
- “完成”信号
状态 vs. 观测
在机器人学习中,状态与观测之间的区别非常重要:
- 状态代表来自机器人的实际原始数据,比如精确的位置坐标。
- 观测是系统实际能够测量或检测到的信息,并且可能需要额外处理。比如观测可以是需要借助视觉 SLAM(即时定位与地图构建)确定位置的相机图像。
以四足机器人为例,其观测信息可能包含基座的位置与朝向,以及各腿的关节位置。奖励的设定取决于机器人是否正确地执行任务。而“终止”信号则用于指示当前演示回合是否结束——结束原因可能是任务成功完成,也可能是达到预设的时间上限。
强化学习任务可建模为马尔可夫决策过程,即智能体根据当前状态和环境作出随机决策。这包括根据机器人及其环境的动态特性定义状态、动作、奖励函数和转移概率。
1. 强化学习是如何工作的?
整个过程分为三个主要阶段:
- 初始化
- 采样(Rollout)
- 策略更新
1.1. 初始化
首先用随机权重初始化策略网络。该网络以观测值作为输入,为环境输出动作。根据具体任务,策略网络可以是多层感知机、卷积神经网络,甚至是 Transformer。
1.2. 采样
在这一阶段,让智能体使用当前策略与环境交互,从而收集多条轨迹。在每一步存储由观测值、动作、奖励和完成信号组成的元组。
1.3. 策略更新
利用收集到的轨迹,通过优化算法更新策略,以优化期望奖励。起初,奖励可能较差,但随着时间推移,策略将学习如何最大化正奖励及最小化负奖励。
2. 算法与方法
强化学习有多种算法,包括策略梯度法、Q-Learning 和 SARSA。其中常用的算法是近端策略优化(Proximal Policy Optimization,PPO),该算法广泛应用于 Isaac Lab 等平台。
强化学习大致可以分为基于模型的方法和无模型方法:
- 无模型方法是指智能体仅通过与环境的直接交互,学习如何决策,而不构建或依赖环境模型。
- 基于模型的方法通常需要智能体学习或访问环境模型;该模型可以根据当前状态和动作预测下个状态和奖励。借助该模型,智能体可以模拟未来与环境的交互,从而更高效地学习及提前规划,而不必完全依赖试错。
3. 视觉渲染
Isaac Lab 的一个独特功能是能够在训练中使用环境的渲染图像。这被称为视觉强化学习。
对于视觉强化学习,系统引入额外的渲染流程,由 Isaac Sim 生成视觉数据,并且将这些数据输入到策略训练过程中。为降低计算负载,将使用分块渲染技术。
4. 总结
有时,强化学习也与其他方法结合使用。比如可以先基于已有数据进行模仿学习,然后再使用强化学习对模型进行微调,以应对更复杂的场景。
模仿学习和强化学习在机器人领域都很常用,尤其是在训练机器人执行特定任务时。监督学习和无监督学习在机器人领域也有其应用,特别是在处理传感器数据方面;但在 Isaac Lab 等平台中,模仿学习和强化学习是重点,因为它们可以直接应用于机器人行为和任务执行。
这些算法使机器人能够学习复杂行为以及适应新情况,因此对于推动机器人领域发展、打造更加通用且能力更强的机器至关重要。