摘要

本文解读 ICRA 2025 论文《RACER: Rich Language-Guided Failure Recovery Policies for Imitation Learning》。该论文提出 RACER,一个 supervisor–actor 框架,通过融合自动失败恢复数据生成富语言指令标注微调视觉语言模型在线监督,让模仿学习训练出的机器人操作策略具备自我纠错能力;其特别之处在于把"失败分析 + 空间移动 + 预期结果"写进每一步指令,并用一个 VLM 取代人类实时盯着机器人。实验表明 RACER 在 RLBench 十八个任务上把平均成功率从 RVT 的 62.9% 提升到 70.2%,真实机器人上从 25.0% 提升到 72.5%,为机器人操作与具身智能提供了一条可复制的"数据 + 语言"路线。

视频讲解点击观看 B 站视频

论文基本信息

项目内容
标题(英文)RACER: Rich Language-Guided Failure Recovery Policies for Imitation Learning
标题(中文)RACER:面向模仿学习的富语言引导失败恢复策略
作者Yinpei Dai$^{}$, Jayjun Lee$^{}$, Nima Fazeli, Joyce Chai
机构University of Michigan, Ann Arbor(CSE & Robotics)
会议ICRA 2025
arXivarXiv:2409.14674
项目网站rich-language-failure-recovery.github.io

背景与动机

机器人操作策略的主流训练方式是模仿学习:收集人类示教,学一个从观测到动作的映射。这条路在标准基准上已经相当成熟,PerAct 在 RLBench 十八个任务上的平均成功率是 49.4%,RVT 是 62.9%,Act3D 是 65.0%。但三者共享同一个结构性缺陷:它们只在成功轨迹上训练,因此不具备从在线失败中自我恢复的能力。一旦模型预测偏离专家轨迹,误差会随步数累积,机器人会停在一个训练分布之外的错误状态上,而且没有任何机制把它拉回来。

要让机器人从错误里回来,需要两样东西:一是知道"现在错了",二是知道"该怎么改"。已有工作分别覆盖了其中一部分。失败检测与解释方向,REFLECT 用大模型事后总结机器人经历并给出纠正建议,但整条链路是离线的,不会改变策略本身;IntervenGen 与 CCIL 能自动生成纠正干预数据,可这些数据只有动作,没有细粒度语言,策略学到的是"怎么动"而不是"为什么错"。语言纠错方向,OLAF、RT-H 与 YAY Robot 允许人类用自然语言实时纠正机器人,但代价是需要人一直盯着,而且指令停留在四到五个词的量级,例如"move to the left"。这种简单指令只能告诉机器人一个方向,无法说明失败归因、需要修正多少、以及执行后的预期结果。

于是问题变成:能不能既保留语言这种人类最自然的纠正接口,又不依赖人类在线值守,并且让指令足够丰富以支撑真正的失败恢复? RACER 的回答是把"检测失败"和"生成纠正指令"整体交给一个微调过的视觉语言模型,并专门造出一份带富语言标签的失败恢复数据来训练它。这条思路并不是凭空出现的:2023 年 REFLECT 开启了失败的事后解释,2024 年 IntervenGen 转向自动生成纠正数据、YAY Robot 转向语言纠错,到 2025 年 RACER 把两者合并成语言监督闭环;再往后,失败检测开始被直接做进执行循环,失败与记忆也进入了评测基准。整个方向的重心,正在从事后诊断转向"训练前就把监督信号造好"。

研究主线:从问题到结论

RACER 论文分享研究主线:从自恢复问题到 70.2% 平均成功率的流程图

图 6:RACER 研究主线:从"策略不会自恢复"的问题出发,经富语言标注与 VLM 监督,到 RLBench 平均成功率 70.2% 的结论(Mermaid 流程图)

基准/方法设计

RACER 的第一块基石是把"失败"定义清楚。论文将失败定义为关键帧处动作相对专家动作的显著偏差,并进一步二分:可恢复失败可以用现有专家动作纠正,灾难性失败则因为场景状态被改变太多(例如物体被碰倒或掉下桌子)而必须重置。这个二分不是学术洁癖,它直接决定了数据管线能收什么、不能收什么——只有可恢复失败才值得进入训练集,因为只有它的纠正标签是现成的。

第二块基石是数据扩充的具体做法。对每条专家轨迹,系统先用启发式规则定位关键帧,也就是对齐、抓取、释放这三类运动原语所在的位置;规则依据是夹爪开合状态、末端位置变化与时间步。然后在关键帧上对动作施加截断高斯噪声 $\tilde{a}{j-1} = a{j-1} + \epsilon$,让机器人真实执行,从而得到失败状态的观测。最关键的一步是纠正标签的复用:专家原本的动作被直接当成纠正动作执行回去,使机器人回到专家状态。对齐失败一步纠正即可,但抓取与放置涉及接触、会改变场景状态,必须插入一个中间过渡步,否则恢复出来的观测无法继续承接专家轨迹。所有扩充数据最后都要回放验证任务成功性,不通过的样本会被丢弃。

RACER 论文中简单语言与富语言引导失败恢复的对比示意图

图 1:简单语言 vs 富语言引导:机器人误抓黑色物体后,"move left" 无法说明错在哪;富语言指令给出失败分析(红)、空间移动(橙)与预期结果(紫),指明正确的恢复方向

第三块基石是把数值动作翻译成语言。直接让大模型根据数值动作差写描述并不可靠,幻觉问题严重。论文的做法是先用模板把动作差转成启发式语言,例如机器人的位移、旋转、夹爪状态和是否规划避碰,再连同任务描述、物体真值位置与失败类型一起交给 GPT-4-turbo 改写成连贯的自然语言。整条管线不需要任何人工纠正动作,唯一的人工输入就是最初的专家演示。最终,RLBench 上的 2250 条专家演示被扩充为 10159 条富语言失败恢复轨迹,规模扩大了约 4.5 倍。

分类全景

失败恢复技术路线分类图:事后解释、自动纠正数据、人工语言纠错与语言监督闭环

图 7:失败恢复技术路线的四条分支:从 REFLECT 的事后解释到 RACER 的语言监督闭环(Mermaid 分类图)

方法细节

RACER 的第二块是模型结构,它把问题拆成两个子问题:语言条件的多任务模仿学习,以及单视图图像条件下的语言指令生成。执行者学习的是策略 $\pi(a_t \mid o_t, \ell_t, L)$,即根据观测、当前富语言指令与任务目标预测动作;动作是九维的,包含六自由度末端位姿、夹爪开合以及是否规划无碰撞路径的标志。监督者学习的是 $p_{\text{vlm}}(\ell_t \mid o_t, \ell_{t-1}, L)$,即根据前视图、上一步指令与机器人状态描述生成下一步指令。两者通过指令这一中间表示耦合,因此可以各自替换:论文明确指出执行者可以换成 PerAct 等任意关键帧策略。

执行者的具体改造值得注意。它以 RVT 为骨干,但把原来的 CLIP 语言编码器换成 T5-11B,以增强对长句的理解能力;同时移除了本体状态中的时间步输入,理由是时间步会让策略依赖"步数等于进度"的捷径,削弱指令对行为的控制力,而富语言指令本身已经隐含了任务阶段信息。语言输入的拼接格式是任务目标加当前指令,让模型同时看到全局目标与局部纠正。

RACER 框架示意图:Supervisor 与 Actor 的协作方式

图 2:RACER 框架:Supervisor 为 VLM,监控机器人行为并输出失败分析与纠正指令;Actor 为语言条件视运动策略,依据视觉、本体状态与"任务目标 + 当前指令"预测动作

训练配置方面,监督者用 llama3-llava-next-8B,通过 LoRA 续训两个 epoch,秩为 128、缩放因子为 256,配合 DeepSpeed ZeRO-2、批大小 64 与 $2\times10^{-5}$ 的学习率;执行者用 LAMB 优化器训练十八个 epoch,批大小 48、学习率 $1.5\times10^{-3}$。全部训练大约三十小时,使用八张 40GB 的 A40。真实机器人上,策略微调十五个 epoch,LLaVA 微调两个 epoch。

RACER 自动富语言失败恢复数据增强管线示意图

图 3:自动富语言失败恢复数据增强管线:在关键帧(对齐、抓取、释放)注入扰动制造失败,复用专家动作作为纠正,再由 GPT-4-turbo 依据任务描述、物体真值位置、失败类型与启发式语言完成标注

实验设计与结果

仿真实验使用 RLBench 的十八个任务,共 450 条 episode,遵循 PerAct 的多任务协议,观测来自前、左肩、右肩与腕部四路 RGB-D 相机。评测覆盖四类设定:标准多任务(18 任务 × 5 个随机种子)、目标变更(4 任务 × 25 变体)、未见任务(4 任务 × 25 变体)以及人工干预上界。基线为 PerAct、RVT 与 Act3D。

方法平均成功率 (%)平均排名Put in DrawerStack Cups
PerAct49.43.751.22.4
RVT62.92.288.026.4
Act3D65.02.290.09.0
RACER(本文)70.21.6100.041.6
RACER +H(人类干预)80.1100.069.6

长程任务的差距最明显:Put in Drawer 达到满分 100.0%,Stack Cups 从 RVT 的 26.4% 提升到 41.6%。如果允许人类在必要时改写指令,平均成功率进一步升到 80.1%,而人类只需要介入全部步骤的 24%

在目标变更设定下,机器人在即将完成任务时被临时改写目标——例如把已经抓起的盖子换到另一个罐子上,此后不再有任何人给指令。RACER 在 100 次试验中成功 60 次,RVT 只有 9 次。在未见任务设定下,物体与动作技能都与训练集相关但组合与场景全新,RACER 成功 47 次,RVT 只有 16 次,表明监督者能够对新场景生成合理的指令。

RACER 语言丰富度与失败恢复数据的消融实验结果图

图 4:(a)失败恢复数据与语言丰富度的消融:语言越丰富性能越高,失败恢复数据在三档语言设定下均带来收益;(b)交叉评测:用富语言训练的策略面对简单指令依然稳健

语言丰富度是可以量化的。论文用 AllenNLP 统计了不同数据集的语言指标:RT-H 的平均句长是 4.52、语义角色数 1.06,YAY Robot 是 4.73 与 1.04,本文的简单指令是 4.38 与 1.06,而富语言指令的平均句长达到 18.28、语义角色数 3.64、唯一标签数 8.31。也就是说,富语言的句长是简单指令的四倍多,携带的语义角色数是三倍多,并且会包含失败复盘与后续动作的多个从句。

数据集平均句长语义角色数唯一标签数
RT-H4.521.062.26
YAY Robot4.731.043.79
本文(简单)4.381.062.69
本文(富)18.283.648.31

RACER 任务目标变更示例图

图 5:目标变更实例:机器人已接近完成原任务时被改写目标(如把盖子换到另一个罐子上),红箭头为按原目标会执行的动作,黄箭头为正确的纠正动作

真实机器人实验用七自由度 Franka Emika Panda 与一颗固定安装的 RealSense D455 相机,选取 Open Drawer、Place Fruits、Push Buttons、Put Item on Shelf 四个任务,采集 60 条演示(每任务 15 条,各做三条扰动)并经 GPT-4-turbo 标注。评测跑 40 条 episode,每任务 10 条,其中 3 条包含目标变更。

方法平均成功率 (%)Open DrawerPlace FruitsPush ButtonsPut on Shelf
RVT25.010.030.020.040.0
RACER(从零训练)32.550.010.030.040.0
RACER(无指令)25.060.00.00.040.0
RACER(简单指令)32.560.010.020.040.0
RACER(无失败分析)62.570.040.080.060.0
RACER(完整)72.570.050.0100.070.0

这张表的读法是纵向比较:语言越丰富性能越好;而在富语言内部,失败分析是其中最关键的成分——去掉它会让平均成功率直接掉 10 个百分点。完整模型比 RVT 高出 47.5 个百分点,在 Push Buttons 任务上甚至达到 100%。

结果对比总结

RACER 结果对比总结图:从 RVT 62.9% 到完整版 80.1% 的逐项增益

图 8:逐项增益:RVT 62.9% → 加失败恢复数据约 +2% → 加富语言指令 70.2% → 加人类兜底 80.1%(Mermaid 流程图)

关键发现

  • 失败恢复数据与富语言是互补而非替代:语言从无指令到简单指令再到富指令,成功率单调上升,而失败恢复数据在三种语言设定下都稳定贡献约 2 个百分点。
  • 富语言训练出的策略对简单指令同样稳健:仅用富语言训练的策略在简单指令下仍有 69.94% 的成功率,高于用简单语言训练并测试的 66.31%,说明它学到的是语言理解而不是对特定句式的过拟合。
  • 富语言起到正则化作用:作者观察到,用简单指令或无指令训练的策略会在不同任务之间反复出现错误行为,例如在按压按钮任务里转去抓抽屉把手,这说明它们过拟合了训练场景。
  • 分布外设置下优势更大:目标变更 60/100 对 9/100,未见任务 47/100 对 16/100,说明监督者能为新场景生成合理指令。
  • 人类兜底的性价比很高:仅需覆盖 24% 的步骤,平均成功率就能从 70.2% 提升到 80.1%,同时证明策略能够理解未见过的简单人类指令。
  • 监督者的指令质量决定上限:框架中监督者与执行者解耦,两者都可替换,这为后续接入更强的 VLM 或更精细的策略留出了空间。

局限性

论文自己承认的边界写得比较坦诚。数据管线仍然依赖专家演示:关键帧抽取与纠正标签都来自 TAMP 专家的成功轨迹,无法直接从人类视频中扩展,这限制了数据规模的天花板。策略只预测稀疏的关键帧动作,缺少稠密轨迹的精细控制能力,在需要连续调整的任务上可能受限。监督者会产生幻觉指令:VLM 生成的指令并非总是恰当,实验中需要人类在 24% 的步骤上兜底,而且策略本身没有办法主动求助或表达不确定。真实机器人实验规模有限,只覆盖四个任务与六十条演示,尚未验证更大场景、更多任务与更长时程。作者给出的后续方向包括用人类视频扩充轨迹、引入稠密 waypoint 策略、增强 grounding 能力,并让模型在遇到歧义时主动提问澄清。

常见问题(FAQ)

富语言指令那么长,策略真的能训练吗?

能。富语言的平均句长是 18.28 个词,论文把执行者的语言编码器从 CLIP 换成了 T5-11B 来承载长句。关键在于指令同时携带失败分析与预期结果,而不只是一个动词。

为什么要把本体状态里的时间步去掉?

作者发现时间步会让策略依赖"步数等于进度"的捷径,从而削弱语言对行为的控制力。去掉之后,任务阶段信息由富语言指令本身编码,语言可控性反而提升。

失败恢复数据会不会让策略学到错误行为?

不会,因为入库门槛很严:只有能用现有专家动作纠正的可恢复失败才会进入数据集,场景被破坏的灾难性失败直接丢弃;扩充后的数据还必须回放验证任务成功性,不通过的样本一律剔除。

既然有人类干预能到 80.1%,为什么不直接用人类纠正?

人类干预实验提供的是性能上界,用来证明策略能够理解未见过的简单人类指令;但它需要人全程可用,并不是 RACER 的默认运行方式。RACER 的目标恰恰是把这个环节自动化。

为什么说不带时间步还能提升语言可控性?

因为去掉时间步后,策略无法通过"现在是第几步"推断任务阶段,只能依赖给定指令来判断当前该做什么。这样一来,改变指令就能改变行为,这也是目标变更实验能成功的前提。

这个方法能直接用在别的机器人策略上吗?

可以。执行者只要求是语言条件的关键帧策略,论文明确说明 PerAct 等模型可以互换;监督者也只是一个接受图像与文本输入的 VLM。这种解耦是框架设计上最实用的一点。

参考链接


给大家推荐一款自用写文献综述、无虚构文献的 AI:

🌟 复旦大学 FudanNLP 团队自研 切问学术

官网:qiewenpaper.com

覆盖 3.6 亿篇可溯源真实中英文文献,能自动整合文献观点生成规范综述

还能挖掘研究创新点、复现实验,配合视频教学,新手快速上手文献综述写作


🍀后记🍀

博客的关键词集中在编程、算法、机器人、人工智能、数学等等,持续高质量输出中。

🌸讨论QQ群白拾的小屋 (750365700)

⭐B站账号白拾的物理AI组会(活跃于知识区和动画区)

✨GitHub主页YhbCode000(工程文件)

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐