用作重复策略运行固定评估设置的桌面机器人工作空间
DAgger评估模仿学习机器人数据SO-100

测量 DAgger 循环:干预率、评估协议及其间的陷阱

AY-Robots ResearchAugust 27, 202615 分钟阅读

干预率——干预帧数除以运行总帧数——是人工门控 DAgger 循环拥有的最廉价诚实进展信号。本文定义了它,使得两个人可以计算出相同的值,展示了如何记录它,并详细讨论了四种误导方式:操作员习惯化、漂移的评估设置、仅在修正上训练,以及一个人在周二和周一的修正方式不同。

当你进行 DAgger 轮次时,它感觉很有成效。你驱动策略,当它笨拙地进行抓握时接管,保存修正,重新训练,下一次运行看起来——你会发誓——光滑一些。两轮之后,你无法说出是否发生了任何变化,因为"光滑一些"不是一个量。

循环每轮需要一个数字,在人工门控循环中这个数字几乎是免费的:运行中你拥有控制权而不是策略的分数。本文定义了它,使得两个人可以计算出相同的值,记录它,读取结果曲线,并指出当它单独存在时误导你的四种方式。关于本文所假设的理论,请参见 the DAgger explainer人工门控变体;实际操作对应部分是 在 SO-100 上运行 DAgger 循环

简短版本

  • 干预率 = 干预帧数 / 运行帧数。帧,不是回合,分母包括你花在修正上的帧。
  • 三轮中的平坦曲线意味着轮次没有收获——改变混合、checkpoint 或任务,而不是收集第四轮。
  • 下降的干预率不是上升的成功率。你介入的阈值随着信任增长而向下漂移。
  • 没有冻结评估协议——相同的起始姿态、物体、摄像头、试验次数——你测量的是房间。
  • 仅在修正上训练会使状态分布产生偏差。IWR 的答案:等比例地采样干预和非干预样本。

为什么轮次需要一个数字

DAgger 存在是因为分布问题,分布问题对眼睛是不可见的。Ross 和 Bagnell 表明 模仿学习 在固定演示集上导致复合错误和后悔界限在时间范围内二次增长:一旦学习者离开演示者访问的状态,数据中没有任何内容告诉它如何回来。DAgger 通过迭代来解决这个问题——运行策略、标记它访问的状态、聚合、重新训练——Ross、Gordon 和 Bagnell 将其框架化为无后悔在线学习的归约。

那个框架有一个人们忽略的后果。保证涉及迭代中的策略序列,而不是任何单一运行。它对以下内容一无所知:你的 第三轮是否有帮助。唯一的方法是测量每次迭代。Kelly 及其同事引入了 HG-DAgger,因为经典 DAgger 在新手仍在控制时向专家请求动作标签,论文认为这可能会降低安全性,对于人类专家,可能会通过感知的执行器延迟降低标签质量。HG-DAgger 还学习了基于模型不确定性的风险指标的安全阈值,并报告了在驾驶任务上比 DAgger 和行为克隆都有更好的性能。它不发布干预计数;那些你自己产生的。

定义速率使两个人得到相同的数字

定义是一行:干预帧数除以运行帧数。所有困难都隐藏在什么算作帧和什么算作运行中。

帧,不是回合

计算至少有一次干预的回合是无用的:十个回合每个有一个轻推和十个你驾驶百分之八十都给出"10/10"。帧计数将它们分开,这是记录已经具有的粒度——在 LeRobot 数据集格式 每个时间步是一行,所以干预标志是状态和动作旁边的一个布尔列。这里在接管开始的一刻每帧写入,控制权返回时清除。

分母包括修正

两个分母是可辩护的——运行的总帧数或策略自主驾驶的帧数——它们在高干预水平下严重分歧。接管 1000 帧中的 400 帧,第一个给出 40%,第二个给出 67%。将一轮按第一种方式测量与下一轮按第二种方式测量进行比较是真实改进如何消失的。采用总帧数,永远不要在序列中途重新考虑选择。

一次决定交接帧发生什么

总是有一个接缝。当控制权转移时,一些帧属于双方都不属于:手臂被保持,领导者正在对齐,记录被冻结。在这条管道中,那些交接帧停留在原始流中,永远不会进入精选的 回合 ——它们既不是策略行为也不是值得训练的修正。每轮以相同的方式计算接缝:在 30 Hz,六次接管每次有两秒的接缝是 360 帧,足以移动百分比。

破坏可比性的三个决定

帧或回合;总运行或仅自主;交接帧进出。如果三者中任何一个在轮次之间默默改变,使曲线无意义。把所有三个写下来。

记录它,使数字在会话中存活

正在运行的进程的状态面板中的指标是一个读数:它在重新启动时消失,无法绘制。每次运行一行仅追加涵盖整个序列——包括哪个 checkpoint 你驾驶,因为那每轮都改变,把它们混淆会使后面的内容无效。

json
{"round": 2, "run_id": "inf-2026-08-24-1108", "checkpoint": "ckpt-8500",
 "frames": 5412, "intervention_frames": 611, "rate": 0.113,
 "takeovers": 7, "input": "keyboard", "denominator": "total_run_frames",
 "handover_frames": "excluded", "episodes_kept_as_correction": 5,
 "train_mix": {"base_demos": 120, "corrections": 41},
 "eval_protocol": "protocol-A", "eval_trials": 20, "eval_successes": 11}
每次运行一行。在数字旁边记录分母和交接约定比字段名称更重要。

两个字段承载权重。 train_mix 是你提供给下一个训练工作的内容;没有它什么都不能归因。 eval_protocol 命名你之后运行的固定测试,是最常被留空的字段。在 ay-robots 座舱中,接管状态报告正在运行的会话的干预帧计数,因此日志记录是转录而不是仪器化;这 数据集文档 涵盖了逐帧列所到达的位置。

并排显示策略、数据集和 checkpoint 的训练配置矩阵
每轮改变 checkpoint 和数据集混合。未记录其组合的数字无法归因。

阅读曲线:三轮,一个判决

三轮是阅读的最小值,因为两点总是一条线。下表是一个包含占位符数字的簿记模板,不是任何运行的测量。你在寻找单调减少与固定测试上的成功增加相匹配的情况。

Checkpoint 驱动干预帧速率成功(共 20 个)
0(基线)基础策略5 9001 38023.4%7
1来自第 0 轮混合5 61098017.5%10
2来自第 1 轮混合5 41261111.3%11
3来自第 2 轮混合5 38059811.1%12

第一轮和第二轮在做工作。第三轮不是:11.3 对 11.1% 在物理臂上测量的任何东西的运行间变化内,第四轮相同修正浪费一个下午什么也没有。平坦段说改变一些结构上的东西。

  • 剩余的失败无法通过遥操作修正——物体无法到达、夹持器几何形状、关节在其极限。没有修正数据可以修复运动学墙。
  • 相对于基础数据集的修正太少,无法移动梯度,没有东西加权它们。
  • 修正相互矛盾,所以策略平均两个策略并在它们之间着陆。
  • 失败是上游的:摄像头移动、照明改变、腕部视图不再与训练匹配。
  • 任务处于此硬件上此策略类的上限,下一步是更多基础数据。

最后两个不是循环的失败。在 Sirius-Fleet 中,对人类需求的下降是设计的结果:随着机器人自主性的提高,其异常预测器适应其预测标准,导致人工干预请求减少,并逐时间推移逐步减少人类工作量。那里标准适应是有目的的。在手动循环中你的标准也适应,无声地——所以因为任务处于其上限而平坦的速率看起来完全像因为操作员停止注意而平坦的速率。这是下一个问题。

陷阱 1:下降的速率不是上升的成功率

干预率测量的正好是一件事:你决定拥有的运行有多少。那个决定是你的,实时做出,它移动。在第 0 轮中,你在第一个不良接近角处接管;到第 3 轮,你已经看到策略从其中十几个恢复,你让它尝试。你的阈值移动了;这 策略 可能没有。速率无论如何都下降。

人类信任在文献中至少是一个建模的量而不是一个假设的常数。Sirius 用近似的人类信任重新加权训练样本,并用加权行为克隆优化策略,报告了在政策成功率的最新技术中在模拟中 8% 的提升和在真实硬件上 27% 的提升,收敛速度翻倍。这将信任视为数据上的权重。它不能纠正你在第 0 轮和第 3 轮之间的脑袋中的阈值。

你无法消除漂移,所以将速率与你的阈值无法接触的东西配对:一组你不干预的固定试验,根据轮前写入的标准进行评分。速率下降而配对成功率保持不变是习惯化的签名——值得捕捉,因为从循环内部它感觉像进度。

干预率固定协议上的成功率最可能的阅读
下降上升该轮有效。继续。
下降平坦你的阈值漂移,或修正移除了努力而不移除失败。
下降下降修正会降低策略。检查混合和他们的内部一致性。
平坦平坦这轮没有收获。在收集更多之前改变混合、checkpoint 或任务。
上升下降回归。在怀疑方法之前,怀疑训练混合、改变的摄像头或 checkpoint 混淆。

陷阱 2:没有固定协议,你测量房间

真实机器人评估既昂贵又难以重复。SIMPLER 作者通过观察这样的策略的现实世界评估是不可扩展的并面临可再现性挑战可能随着策略扩大其任务范围而恶化来激励模拟评估。RoboArena 从另一侧攻击它,在 DROID 平台上由七个学术机构的评估器运行的七个通用策略进行 600 多个成对真实机器人评估回合。其评估器选择他们自己的任务和环境,但必须双盲判断策略对;论文报告这种众包排名比传统的集中式评估更准确地跟踪通用策略性能。

你不会在一个 SO-100 在一个工作坊中运行 600 个成对回合。你能做的是移除你控制的方差——一个足够无聊的列表,通常会被跳过。

维度冻结这个如果你不这样做会漂移什么
起始姿态一个书面主页位置,在每次试验前驾驶轨迹开始分布不足
物体胶带标记和为评估保留的相同物理物体一个"更好的"策略实际上是一个更近的物体
摄像头和灯光相同的安装、索引、曝光;百叶窗关闭;拍摄设置交换的摄像头索引单独可以支配结果
试验和停止规则固定 n,固定超时,轮前写入的标准事后标准将近失误变成你需要的任何东西
操作员行为评估试验期间无干预评估变成另一个修正会话

然后是算术,在工作坊能负担的试验次数上无情。在正态近似下,20 次试验中 60% 的成功携带标准误差接近 11 百分点——0.6 倍 0.4 超过 20 的平方根——两个这样的轮次之间的差异携带约 15。从 60 跳到 70% 因此与什么都没有发生一致。50 次试验将每轮数字带到大约 7 点,并花费一个下午。

这种不对称性是干预率的论点:计算超过数千帧而不是二十个二元结果,它更早且更平滑地移动。警告是回合内的帧是高度相关的——一个不好的抓握产生一百个连续干预帧——所以有效样本大小更接近接管次数。将速率视为早期指标,成功率视为缓慢地面真实。

将评估回合保持在训练池外

评估回合必须永远不要进入组成的训练数据集——否则第 n+1 轮在它所训练的数据上评分,曲线测量记忆。

陷阱 3:仅在修正上训练会弯曲策略

修正是有趣的数据,所以本能是在他们身上训练。不要。他们通过构造来自策略已经失败的状态空间的狭窄切片,几乎不说关于大多数有效的运行的东西。仅在那个切片上微调,你会得到一个善于从拙劣的方法恢复但忘记了如何制作干净的方法的策略。

Mandlekar 及其同事围绕这个建立了他们的远程干预系统。他们的框架:操纵任务包含需要精确动作序列的瓶颈区域——将 pod 插入咖啡机是他们的例子——小的偏差导致演示从未涵盖的状态。他们的算法在新数据上迭代训练,所以策略学会了穿过那些瓶颈,他们报告在干预数据上训练的代理击败了在非干预演示者等效数量样本上训练的代理。

仅修正微调与组成的混合
仅修正能给你什么
  • 快速:在几十个回合上的短运行便宜到可以重复
  • 有目标的:梯度由你关心的状态主导
  • 便宜用于测试修正风格是否可学习
它的成本
  • 微调分布不再类似于任务分布
  • 标称行为可以在单一轮次内明显降低
  • 速率可以下降,成功随之下降——干净的段交易以恢复

混合比率是一个超参数,值得记下。组成下一个数据集是决定的地方:原始演示加上修正集,每个源的显式回合选择而不是一个默默拉入可用的任何东西的规则。这里是座舱中的一个组成步骤,结果是一个普通数据集——看 训练文档。没有工具为你记录哪个比率产生了哪条曲线。

陷阱 4:人类不是一致的专家

DAgger 的理论假设一个专家。从技术意义上讲,你不是:你的修正不是来自动作上固定条件分布的样本。ACT 作者在列出细精操纵的障碍时指出这一点——错误随时间复合,人类演示可能是非平稳的。他们的系统仍然在六个真实任务上从十分钟的演示达到 80 到 90% 的成功,所以问题是可处理的,而不是缺失的。

robomimic 研究从数据端提出了观点。在五个模拟和三个现实世界多阶段任务的六个离线算法中,其教训包括对设计选择的敏感性、对演示质量的依赖性,以及——这里最伤的——来自停止标准的可变性,因为训练和评估目标不同。损失最低的 checkpoint 不一定是成功率最高的。

有一个硬件版本的这个:输入模式塑造修正。一个 leader-follower 设置产生连续的人工节奏轨迹。键盘推动被服务器硬夹紧——手臂关节每次调用两度,夹持器四度——所以相同的意图到达小步骤的楼梯。滑块发送绝对目标,服务器每次调用最多向它们移动六度。三个模式,三个动作分布;将所有三个混合到一个修正集中,然后想知道为什么方法变得颤抖是自我造成的。这 遥操作文档 涵盖了每个模式发送什么。

加权干预:IWR 及其之后

如果修正是有价值的少数,原则上的修复是加权而不是排他性。干预加权回归是参考实现:数据被分区为干预和非干预样本,两个分区在训练期间以相等的比例采样。一个是帧的 5% 的修正集然后贡献一半的梯度,没有标称行为从分布中消失。

相等比例是一个起点,不是法律。Sirius 通过用来自近似人类信任的连续权重替换二元分区来推广它;Sirius-Fleet 将决定向上移动,使用可视世界模型和异常预测器来决定何时完全要求人。共同的线程:干预标志是一个训练信号,不仅仅是一个簿记列。

方法谁决定当人类行动时如何使用干预数据报告的结果
DAgger (2011)固定时间表;专家标签访问的状态一个增长的数据集,未加权框架为无后悔在线学习的归约
HG-DAgger (2019)人,门控实际系统上的控制聚合;加上学习的模型不确定性安全阈值在驾驶上比 DAgger 和 BC 更好;没有给出干预计数
IWR (2020)人,通过远程遥操作干预和非干预样本等比例绘制在等样本数处击败非干预演示
Sirius (2022)人,在部署期间加权 BC,来自近似人类信任的权重模拟中 8% 的收益,真实硬件上 27%;2 倍快速收敛
ThriftyDAgger (2021)系统,新颖性和风险门控监督预算下的交互式收集用户研究 (N=10):比下一个最佳方法高 58% 的人类和 80% 的机器人性能
Fleet-DAgger (2022)系统,跨舰队分配注意力由人力投入回报评分的舰队学习比基线高达 8.8 倍的 ROHE
Sirius-Fleet (2024)具有自适应标准的异常预测器具有可视世界模型的多任务学习随着自主性改进的干预请求更少
按测量分数比较机器人策略的排行榜视图
相互对比策略排名仅当每个条目运行相同协议时意味着什么。这也适用于你自己的三轮。

值得在速率旁边记录的四个指标

  • 每次运行的接管。二十个短修正和一个长修正给出相似的速率并描述不同的策略——一个颤抖的,一个单个盲点。
  • 平均干预长度。上升长度与下降数量意味着剩余的失败是困难的,这就是后期进度的样子。
  • 首次干预时间。一个在需要帮助之前走得更远的策略即使总速率平坦也在改进。
  • 干预的群集位置。按规范化回合进度装箱标志;跨轮的稳定峰值指向一个瓶颈。

你实际上可以运行的轮次协议

测量的轮次有六个步骤并在日志中产生一行。前四个是循环;最后两个使其成为一个测量。

  1. 1
    在第 0 轮之前冻结评估协议

    写下起始姿态、物体放置、摄像头、试验次数、超时和成功标准。拍摄表格。如果文档必须改变,序列重新开始。

  2. 2
    测量基线

    运行没有干预的协议并记录成功;然后运行一个启用接管的仪表会话并记录速率。这两个数字是第 0 轮。

  3. 3
    以一致的风格收集修正

    每轮一个输入模式,一个操作员,如果你能管理的话。按你能大声说出的标准接管——"夹持器在接近时偏离两厘米以上"——并为该轮保持它。

  4. 4
    同一天分类每个回合

    修正、评估或丢弃。有歧义的回合被丢弃,而不是根据更多数据有帮助的理论保存——你自己笨拙的修正比没有回合更糟。

  5. 5
    明确地组成混合

    原始演示加上修正,每个源的回合选择。记录基础计数、修正计数和任何加权——这是你在三周内需要的字段。

  6. 6
    从 checkpoint 继续,然后重新测量

    从先前的 checkpoint 而不是基础模型训练组成的数据集,运行冻结协议加上一个仪表会话,附加行,并与先前的两轮进行比较。

两个限制改变了你如何阅读弱轮次。从 checkpoint 继续初始化权重——不是优化器恢复,所以时间表从头开始,从收敛 checkpoint 的短运行可以移动很少。并且接管开始处的 leader-align 运动在链中的任何东西上真实硬件上行驶最少;如果所有修正都以奇怪的瞬态开始,在责备混合之前在那里看。

测量的循环,已经连接

ay-robots 将这六个步骤实现为产品功能:从 leader 臂、键盘或滑块中接管中间运行,自动标记干预帧;将每个回合分类为修正、评估或丢弃;从原始演示加上修正组成下一个数据集,每个源的显式回合选择;并从先前的 checkpoint 而不是基础模型开始下一个训练运行。

看 DAgger 循环如何工作

数字无法告诉你什么

这些都没有解决,整齐的曲线不应该让你相信否则。干预率测量联合系统——策略、硬件、操作员、房间——并且单独不属于任何东西。它无法判断修正是否很好,它会在因为物体在三周内漂移两厘米更近而变得更容易的任务上高兴地下降。

它所做的是将模糊印象转变为可以争论的列子。替代方法不是更好的指标;它是三周的收集修正曲线会告诉你,在第三轮之后,停止收集。调查文献将交互式模仿学习定义为在机器人执行期间间歇性给出的人工反馈,允许行为的在线改进;家族很宽,没有它的任何安排在没有每轮数字的情况下有效。另请参见 SO-100 模仿学习指南 用于你混合的基础数据集,运行策略 用于推理方面,和 DAgger 循环页面 用于已实现的管道。

干预率只是一减去成功率吗?

不。速率测量你接管的运行有多少;成功率测量任务是否在没有你的情况下完成。运行可以以 30% 的干预率成功,没有干预的运行可以完全失败。他们在噪声中也有所不同:速率在数千个相关帧上平滑移动,成功率在一把二元结果之间跳跃。记录两者。

我需要多少评估试验才能使成功率有意义?

比合理感觉更多。在正态近似下,真正 60% 成功率的 20 次试验携带标准误差接近 11 百分点,所以轮次之间的 10 点移动与噪声无法区分;50 次试验将该数字带到大约 7。如果你负担不起 50,保持轮次间的试验计数相同,并将小的移动视为不确定。

我应该从什么比例的演示到修正开始?

文档化的起点是 IWR 的:将数据分区为干预和非干预样本,按相等比例绘制它们,所以修正无论它们是帧的多少小分数贡献一半的梯度。如果你的设置无法加权抽样,在组成数据集时通过回合计数近似它,并记录比率。仅在修正上训练是要排除的选项。

我的干预率在一轮后上升。该轮被浪费了吗?

不一定,但首先检查无聊的解释:你驾驶的 checkpoint 是否与你训练的相匹配,摄像头索引或安装是否改变,物体放置是否漂移,修正风格是否一致。如果全部四个都是干净的且配对成功率也下降,怀疑混合——太少针对修正的基础演示,或相互矛盾的修正。真正的回归属于日志,而不是垃圾箱。

我可以跳过固定评估协议,只是看干预率吗?

仅当你接受你无法从习惯化中区分改进时。速率取决于你自己的实时接管阈值,那个阈值随着你习惯策略的怪癖而下降。冻结协议是测量中你的阈值无法到达的部分——胶带标记、书面主页姿态、固定试验次数、轮前决定的标准。它必须在序列中保持不变。

将日志保存在存储库中,而不是在笔记本中:轮次相隔几天,硬件被重建,在十月读取曲线的人是没有八月记忆的你。这 文档常见问题 涵盖了这里遗漏的操作细节。

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started