机器人如何通过复用技能修复失败来改进策略

机器人如何通过复用技能修复失败来改进策略

Zihang Rui, Renhao Wang, Haoxu Huang, Yang Gao

1 分钟阅读•2026年9月30日

要让机器人胜任更多种类的现实任务,就必须让它们的策略在部署后仍能持续改进,而不依赖人类不断指导。新物体、场景变化以及细微的执行错误,都可能暴露任务策略的弱点。单纯增加尝试次数并不能提供改进所需的经验,因为机器人可能一再犯同样的错误,却始终找不到正确的修正方法。人类虽能提供修正,但每当机器人遇到失败就要求新的示范或纠正,会使进展受制于人工监督。因此,我们希望建立一种改进流程,让机器人自行生成纠正经验,并使初始教学的价值不局限于单个任务。这样的流程既能减少改进任务策略所需的监督,也能减少将能力推广到新任务时额外投入的人力。

相关工作

我们从三个主要研究方向来定位技能空间试探:从技能组合,到基于纠正的学习,再到利用经验自主改进。

方法

技能空间试探利用学习得到的技能,在任务策略可能失败的地方尝试纠正行为,再用成功修复的结果训练策略。即使策略还不能完成整个任务,某项技能仍可提供有用的局部行为。要将这种能力转化为监督信号,流程必须识别何时需要帮助、从学习器当前所处的状态测试纠正行为,并保留解决困难的动作。本节接下来将介绍模型如何识别失败并启动这些技能试探、如何在多轮迭代中将修复转化为监督信号,以及共享技能库如何支持新任务上的改进。

判断何时以及如何进行试探

为简化问题,每个任务阶段都指定一个动作基元。在实践中,识别需要恢复或纠正的阶段,也就能确定要调用哪个技能进行试探。为提高可扩展性,任务描述和技能描述会作为固定提示词的输入,因此同一套选择流程可用于不同任务。

修复执行轨迹并改进策略

调用技能进行试探

为测试某种纠正行为,所选技能会在任务策略停止的地方接管控制。此前的错误可能已经改变物体的位置或接触状态,因此技能必须根据任务策略实际到达的状态作出响应。这样产生的动作也能成为有效的监督信号:从干净的初始状态重新示范,可能永远不会遇到同样棘手的失败状态。阶段修复后,控制权会交还给任务策略,让它继续尝试剩余阶段。交还控制权后,任务策略既能利用自己已经擅长的行为,也可能在同一条执行轨迹中遇到还需纠正的其他困难。

从修复中学习

修复后的执行轨迹包含针对任务策略失败状态的动作,也包含导致这些失败的错误。若用完整序列训练,策略就会同时学着模仿两者。因此,我们只保留评估器确认任务已完成的执行轨迹中,经接受且由技能执行的修复片段。每个片段包含从技能调用到控制权交还期间的观测和实际执行动作,并重新标注为任务指令。策略自身执行的动作和被拒绝的尝试均不纳入训练。

随后,更新后的策略会收集下一轮经验。这一迭代过程帮助任务策略学会纠正行为,也让它暴露出更多种类的失败。例如,策略现在能够完成较早阶段的抓取后,可能会到达以往尝试从未到达的放置阶段。使用更新后的策略迭代收集数据,会将这些新遇到的状态以及仍未解决的失败带回同一个技能库。随着学习器不断进步,这些技能因而能持续提供新的监督信号,无需再进行一轮示范。

这一过程保持自主运行:模型决定何时介入、尝试哪些纠正行为,以及是否接受修复结果。它也具备可扩展性,并将人工参与降至最低:技能和评估器提示词保持固定,价值模型在初始校准后也保持不变,因此人工只需提供初始示范并重置场景。

用于选择和执行纠正行为的技能空间试探方法

复用技能库

为什么使用技能?

要让改进循环发挥作用,纠正行为必须是有意义且能被评估器识别的选项,同时也必须是机器人能够执行的行为。短时域技能能够同时满足这两个条件:它的视觉和文本描述明确说明了局部纠正行为,而策略则提供尝试该行为所需的协调动作。例如,选择抓取技能后,机器人会接近物体、闭合夹爪并抬起物体,同时技能会根据过程中的观测作出响应。因此,基础模型可以推理修复某一阶段所需的行为,而技能负责实际执行。

分别教授每项技能,也能让它学习较短的行为,而无需掌握整个任务,从而大幅降低学习难度。

跨任务共享

由于不同任务中会反复出现这些行为,它们的训练数据可以帮助为新任务准备纠正行为。例如,抓取新物体可能需要适应其形状,同时保留从先前物体上学到的接近并抬起行为。为此,我们将已有技能数据与新示范结合,训练经过适配的动作基元,并证明这样做可以减少从零开始教授整个动作基元的需求。新任务拥有自己的初始策略和价值模型,但会沿用同一套流程来调用技能、检查修复结果并从中学习。

实验

我们的实验围绕技能空间试探作为可复用纠正监督信号来源,回答三个问题:

  1. 基于技能的纠正能否在多轮迭代中改进任务策略?
  2. 系统能否自主调用技能,并可靠地验证修复效果?
  3. 共享技能库能否在不同任务之间迁移,从而减少准备新技能所需的人力?

我们的四项主要任务需要多种纠正行为。Stack-3 需要依次将三个立方体逐个堆叠;Drawer 需要打开抽屉、放入一卷胶带并关上抽屉。Coffee 需要将牛奶、咖啡和冰倒入杯中,并放入搅拌棒。最后,Sweeping 需要取来一把小型手持扫帚,将六个方块扫入目标区域,再把扫帚挂回原处。这些任务共同检验了系统在有序任务序列中以及动态接触过程中进行纠正的能力。

共享技能并扩展到新任务

仅用 10 次新示范,技能共享就能将抓取成功率从 5% 提高到 70%。使用 30 次示范时,技能共享取得的成功率与不共享时示范次数接近翻倍的效果相当。因此,先前的技能学习不只是提升固定数据预算下的表现:它还能减少为陌生物体或动作基元准备同一技能所需的新示范数量。

局限性与未来方向

获取并扩展技能

在固定技能库下持续改进,说明策略从早期纠正中学习后,技能仍然有用;但指定和教授这些技能仍需要人类在初始阶段投入精力。基础模型将越来越能协助分解任务并识别可复用行为。持续出现的失败可以帮助确定接下来要获取哪些技能,并根据每项新增技能能使多少任务受益来评估其价值。从人类视频中学习技能,还可能在技能库扩展时进一步减少示范投入。

持续自主运行

尽管改进循环是自主的,人们仍需在每轮执行之间重置场景。学会重置行为,或通过完成一个任务来准备下一个任务的任务循环,有望支持机器人在开放式任务中连续运行数天或数周。将这些机制与技能空间试探结合,就能持续收集数据,并检验纠正监督信号在任务和周围环境变化时是否依然有效。

推广失败检测

失败检测器需要针对每项任务单独训练,尽管技能选择和修复验证采用通用流程。基础模型已经能够检测执行失败、跟踪任务进度,并在机器人视频中定位事件。随着时间推理能力提升,将这些能力扩展到根据拟议动作预判失败,或许可以免去单独的失败检测器。届时,共享模型既能决定何时进行试探,也能决定尝试哪项技能,从而减少新任务的准备工作。

结论

我们提出技能空间试探,将可复用的短时域机器人行为变成能够持续提供纠正监督信号的来源。基础模型的引导会识别适合用于纠正任务策略失败的行为,并监测其实际执行过程,以检验这些行为是否有效。随后,利用已完成执行轨迹中被接受的修复片段进行训练,就能将这些纠正纳入任务策略。

实验表明,即使没有技能协助,改进效果仍能持续;即便初始策略此前从未成功过,也能取得提升。我们还表明,共享技能数据能够减少为另一项任务的改进循环进行新教学的需求,从而将单个任务内的改进与跨任务复用联系起来。因此,技能空间试探为大规模自主改进奠定了基础:可复用技能让机器人能够从自身失败中学习,并将所学推广到不同任务,而无需人类教授每一种可能的纠正行为。

常见问题

什么是技能空间试探? 它利用可复用的短时域技能修复任务策略的失败,然后用被接受的修复结果训练策略。

系统如何决定使用哪项技能? 每个任务阶段都有指定的动作基元,因此识别需要纠正的阶段,就能确定要调用哪项技能进行试探。

修复后执行轨迹中的哪些部分会用于训练? 只保留已确认完成的执行轨迹中,经接受且由技能执行的修复片段;策略动作和被拒绝的尝试均不纳入训练。

共享技能如何减少新任务所需的教学投入? 将已有技能数据与新示范结合,训练经过适配的动作基元,从而减少所需的新示范数量。