Open Source Robotics

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

DAgger

  • 又称: Dataset Aggregation
  • 类别: Learning & autonomy › Learning from demonstration
  • 标签: imitation-learning, policy-distillation, covariate-shift, robot-learning, sim-to-real

一种模仿学习算法,它反复运行学习者自己的策略,由专家为其到达的状态打标签,并在不断增长的数据集上重新训练,以避免误差累积。

定义

DAgger 是 Dataset Aggregation(数据集聚合)的缩写,是 Stéphane Ross、Geoffrey Gordon 和 J. Andrew Bagnell 于 2011 年提出的一种模仿学习算法。它针对的是普通行为克隆的主要弱点。只用专家演示训练的策略,见到的是专家访问过的状态;一旦部署,小的失误就会把它带到专家从未访问过的状态,在那里它没有训练数据,往往会犯更大的错误。训练状态与部署状态之间的这种不匹配被称为协变量偏移(covariate shift),由此产生的误差会在任务的整个过程中不断累积。

DAgger 通过在学习者自身的状态分布上收集数据来解决这种不匹配。其循环很简单:用专家数据训练一个初始策略;运行该策略(或它与专家的混合),以访问新的状态;询问专家在每个被访问的状态下会采取什么动作;把这些带标签的状态加入数据集;在整个聚合数据集上重新训练;然后重复。原论文把这一过程表述为一个无悔(no-regret)在线学习问题,并证明策略的误差大致随任务长度线性增长,而不是像行为克隆那样可能呈二次增长。

实际要求是有一个可以在任意状态下被查询的专家。当专家是规划器、脚本化控制器或仿真中的策略时,这很容易;当专家是人时则更难,因为人必须为并非自己选择的状态打标签。HG-DAgger 等变体只在学习者出错时才让人接管。在当前的机器人学习中,DAgger 是把一个在真实仿真器状态上用强化学习训练、拥有特权信息的教师策略,蒸馏为只使用相机等机载传感器的学生策略的标准方法。

为何重要

大多数学习得到的机器人策略是用演示或更强的教师训练的,而训练中见到的状态与部署时到达的状态之间的差距,是导致失败的主要原因之一。DAgger 是弥合这一差距的最简单、也被理解得最透彻的方法,许多用于把仿真中训练的技能迁移到真实机器人上的教师–学生流程都以它为基础。

主要应用

  • 把拥有特权信息的仿真策略蒸馏为基于视觉的学生策略
  • 为仿真到现实迁移训练腿足运动和跑酷控制器
  • 从规划器或人类专家那里学习驾驶和无人机导航策略
  • 人在执行过程中纠正机器人的交互式模仿学习
  • 把多个专项技能策略压缩为一个通用策略

实际应用

一个训练四足机器人攀爬和跳越障碍物的团队,先在仿真中用强化学习训练几个专项策略,每个策略都能获取精确的地形高度。然后,他们训练一个只看深度相机和本体感觉的单一视觉策略。在每一轮中,由视觉策略驾驶仿真机器人;在每一步,都向相应的专项策略查询它会采取的动作,并存储观测与专项策略动作这一对数据。视觉策略在迄今收集的所有数据上重新训练,循环往复,直到它与专项策略足够接近。由于状态是由学生生成的,它的训练数据包含了它在真实机器人上会遇到的踉跄和异常的相机视角。

常见误解

  • DAgger 就是用更多数据做行为克隆 — 关键区别在于,新数据来自学习者自己访问的状态,而不是来自更多的专家演示
  • DAgger 需要人类专家 — 任何能为任意状态打标签的专家都可以,在机器人领域最常见的是仿真中的教师策略或规划器
  • 收集数据时必须由专家控制机器人 — 在 DAgger 中,通常由学习者行动,专家只负责打标签,正是这一点暴露了学习者自己的错误
  • 第一轮之后 DAgger 就不再需要专家 — 在每一轮训练中,都必须有专家为状态打标签

谁需要了解

  • 使用模仿学习的机器人学习研究人员
  • 构建教师–学生仿真到现实流程的工程师
  • 腿足运动和无人机自主开发者
  • 学习模仿学习和强化学习的学生

相关技术

  • 行为克隆(Behavior Cloning)
  • HG-DAgger
  • 策略蒸馏(Policy Distillation)
  • Isaac Gym
  • 强化学习(Reinforcement Learning)

相关术语

  • Imitation Learning
  • Behavior Cloning
  • Teacher-Student Training
  • Reinforcement Learning
  • Sim2Real

相关项目

  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • OpenPI: Physical Intelligence VLA foundation models for general robot control
  • NVIDIA Isaac GR00T: NVIDIA open foundation model for humanoid robot reasoning and skills
  • Mobile ALOHA: Bimanual mobile manipulation with 4 robot arms on a wheeled base for teleoperation
  • OpenArm: 7DOF humanoid arm for physical AI research in contact-rich environments
  • Koch v1.1 Low-Cost Robot Arm: Open-source 6-DOF robot arm for affordable teleoperation and imitation learning research.

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