Open Source Robotics

精选高质量开源机器人项目、工具和软件,推动机器人社区发展。

Teacher-Student Training

  • 又称: privileged learning, learning by cheating, teacher-student distillation, privileged teacher
  • 类别: Learning & autonomy › RL & simulation
  • 标签: reinforcement-learning, sim-to-real, policy-distillation, robot-learning, locomotion

一种训练方案,把拥有特权信息(例如真实仿真器状态)的教师策略蒸馏为一个只使用真实机器人上可用传感器的学生策略。

定义

教师-学生训练(Teacher-student training)是一种两阶段的机器人学习方法,主要在仿真中使用,它把“学习该做什么”与“学习如何从现实的传感器中推断出来”分开。在第一阶段,训练一个教师策略,通常使用强化学习,同时给它真实机器人不会拥有的特权信息:精确的地形高度、摩擦系数、物体位姿、接触状态或完整的仿真器状态。有了这些信息,任务就容易学得多。

在第二阶段,训练一个学生策略,只使用硬件上可获得的观测(例如关节编码器、IMU、相机图像或一小段过去观测的历史)来重现教师的行为。由于可以在任意状态下查询教师,学生用监督学习来训练,常常采用 DAgger 式的数据收集:由学生驱动仿真,教师在每个访问到的状态上提供正确的动作。学生通常使用循环网络或历史编码器,以便从机器人一直以来的运动方式中推断地面摩擦等隐藏量。

该方法与非对称 actor-critic 方法(只有 critic 能看到特权状态)以及一般意义上的策略蒸馏密切相关。在自动驾驶领域,它由 Chen 等人于 2019 年以“learning by cheating”(通过作弊学习)之名提出;在 Lee 等人于 2020 年用这种方式训练四足机器人控制器并将其部署到崎岖的自然地形上之后,它在足式运动中得到了广泛应用。

主要局限在于,学生的上限取决于其传感器所携带的信息:如果教师依赖学生无法推断的东西,学生就会达不到教师的水平。

为何重要

直接用强化学习从带噪声、不完整的传感器数据中学习,既慢又不稳定。教师-学生训练让困难的控制问题先在完整信息下得到解决,再把这一技能迁移到能在真实机器人上运行的策略,这使它成为足式机器人和灵巧手仿真到现实流程中的标准环节。

主要应用

  • 主要依靠本体感知在崎岖地形上进行足式运动
  • 以先用完整物体状态训练的策略进行手内灵巧操作
  • 从基于状态的专家蒸馏得到的基于视觉的导航和驾驶策略
  • 关键物理参数无法在硬件上测量时的仿真到现实迁移

实际应用

在 Isaac Lab 等 GPU 仿真器中训练四足机器人控制器的团队,会先用 PPO 训练一个教师,给它输入本体感知以及特权的地形采样和接触信息,并对摩擦和负载进行域随机化。一旦教师可靠,他们就训练一个只接收本体感知历史的学生,有时再加上带噪声的高度图或深度输入,使其匹配教师的动作或潜在特征。训练数据来自在许多并行环境中推演学生,并用教师的输出为每个访问到的状态打标签。随后学生被部署到真实机器人上,工程师会在隐藏信息最重要的情形下测试它,例如湿滑的地面或机器人看不到的障碍物。

常见误解

  • 学生需要真实世界的训练数据 — 两个阶段通常完全在仿真中训练,学生以零样本方式部署
  • 学生只是简单地复制教师 — 它必须从自身的传感器历史中推断隐藏的信息,这才是难点
  • 教师-学生训练取代了强化学习 — 教师通常用 RL 训练;只有学生阶段是监督式蒸馏

谁需要了解

  • 研究仿真到现实迁移的机器人学习研究人员
  • 足式运动控制工程师
  • 灵巧操作研究人员
  • 在硬件上部署策略的强化学习从业者

相关技术

  • Isaac Lab
  • DAgger
  • 非对称 Actor-Critic(Asymmetric Actor-Critic)
  • 策略蒸馏(Policy Distillation)
  • 近端策略优化(Proximal Policy Optimization,PPO)
  • MuJoCo

相关术语

  • Reinforcement Learning
  • Sim2Real
  • Domain Randomization
  • Curriculum Learning

相关项目

  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • MuJoCo: DeepMind physics engine for robotics and ML research
  • PyBullet: Python physics simulator for robotics and RL research with fast CPU-based simulation
  • OpenPI: Physical Intelligence VLA foundation models for general robot control
  • Microduck: Pollen Robotics' $399 walking duck robot: open-source software, closed hardware
  • Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim

本网站需要 JavaScript 才能正常运行。请启用 JavaScript 以浏览我们的开源机器人项目。