Nvidia Isaac Lab 4 - 模仿学习
模仿学习常常与监督学习相提并论,因为它通过模仿示范进行学习。模仿学习弥合监督学习与自主行动之间的鸿沟。
在这种情况下,带标签数据包括环境状态以及在这些状态下应采取的正确行动。这些示范可以来自多种来源,比如人类专家、数学函数,甚至其他机器人。

比如模仿学习可以通过向机器人展示一系列人类演示的示范,教会它如何在工厂中执行组装任务或做早餐。另一个应用是在机器人运动控制中,通过遥操作收集如何控制机器人运动的数据。
模仿学习的关键概念在于:带标签数据以观测的形式呈现,即当前环境状态,以及在该状态下应采取的对应正确行动。
当能够获得专家示范或能够从现有数学模型生成数据时,这种方法尤为实用。
1. 模仿学习的工作方式
模仿学习的过程可分为三个关键阶段:
- 收集轨迹数据
- 策略训练
- 评估与部署
1.1. 收集轨迹数据
模仿学习的第一步是收集高质量的示范数据。可以通过多种方法实现:
- 遥操作:人类操作员远程控制机器人执行任务,机器人的关节位置和运动轨迹被记录为训练数据。
- 视频演示:录制人类或机器人执行目标任务的视频。
- 动作捕捉:使用专用相机系统捕捉人类或物体的精确三维运动。
- 真实机器人轨迹:从已能执行任务的机器人收集数据。
- 专家策略:利用已有算法或数学模型生成理想轨迹。
- 轨迹优化:采用复杂的数值方法生成最优运动路径。
1.2. 策略训练
收集示范数据后,下一步是训练机器人策略。在这一阶段,机器人学习将观测(即环境的当前状态)映射到动作。模仿学习中的策略训练主要有两种方法:
- 行为克隆:这种直接方法直接学习复制专家行为。机器人在观测-动作对上进行训练,学习将特定的环境状态与专家采取的相应动作进行关联。比如在自动驾驶场景中,观测可能是道路图像,而动作则是转向方向。
- 逆强化学习(IRL):当任务的奖励函数不明确时,可采用这种更复杂的方法。逆强化学习不是直接学习动作,而是试图推断专家正在优化的奖励函数。推断出的奖励函数随后可在强化学习框架中用于生成更多训练数据或学习更鲁棒的策略。逆强化学习特别适用于复杂任务,因为在这些任务中,直接的行为克隆可能无法捕捉决策过程的全部复杂性。
1.3. 评估与部署
训练完成后,学到的策略必须在仿真环境或受控环境中进行评估。如果性能令人满意,该策略即可部署到真实机器人上,用于执行实际任务。
关键算法与技术:
- DAGGER(数据集聚合):一种迭代算法,通过在多个训练轮次中聚合数据集的方式,解决简单行为克隆的某些局限性。
- AMP(对抗性运动先验):有助于学习更鲁棒、更自然运动的技术,在涉及复杂物理交互的任务中尤为实用。
2. 总结
模仿学习在示范任务比显式编程更容易的场景中表现尤为突出。比如在自动驾驶的例子中,通过示范展示良好的驾驶行为,比显式编写所有规则和极端情况要直观得多。
在模仿学习中,专家策略生成轨迹。每条轨迹由机器人或环境的状态,以及在该特定状态下应采取的正确行动组成。利用专家生成的轨迹,可以通过行为克隆或逆强化学习等算法训练机器人。
然而,模仿学习的局限在于:泛化能力有限,且不优化动作的长期收益。