摘要

本文解读 NeurIPS 2025 论文《Failure Prediction at Runtime for Generative Robot Policies》。该论文提出 FIPER——一个面向生成式机器人策略的运行时失效预测框架,通过融合策略嵌入空间的分布外检测(RND-OE)动作块熵(ACE)共形预测校准,在不接触任何失败样本的前提下判断当前 rollout 是否会失败,其特别之处在于要求两条信号同时越界才报警,从而在保持高召回的同时把误报压下来。实验表明 FIPER 在三个仿真与两个真机环境上的平均准确率达到 0.78、时序加权准确率 TWA 为 0.65、召回率 TPR 为 0.92,全面优于 PCA-kmeans、logpZO、RND-A 与 STAC 四条基线(最强基线准确率 0.69),为生成式模仿学习策略的安全部署提供了可直接复用的运行时监控组件。

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

论文基本信息

项目内容
标题(英文)Failure Prediction at Runtime for Generative Robot Policies
标题(中文)生成式机器人策略的运行时失效预测
作者Ralf Römer*,Adrian Kobras*,Luca Worbis,Angela P. Schoellig(*共同一作)
机构慕尼黑工业大学(TUM)· Learning Systems and Robotics Lab (LSY)
会议NeurIPS 2025
arXivhttps://arxiv.org/abs/2510.09459
项目网站https://tum-lsy.github.io/fiper_website

背景与动机

用扩散模型和流匹配来训练机器人策略,也就是常说的生成式模仿学习,已经让机器人可以完成相当复杂的长时序操作任务。但这类策略在部署时有一个绕不开的问题:只要遇到训练分布之外的环境,或者动作预测的误差开始逐步累积,它们就可能突然产生不可预测甚至危险的行为,最终导致任务失败。在有人参与的、安全敏感的场景里,尽早发现这种趋势是刚需,因为只有提前预警,才有可能及时介入,或者切换到一个安全的兜底策略。

问题在于,失效预测很难被当作一个普通的分类问题来处理,原因有两条。第一,故意制造失败样本来训练分类器,会直接危及机器人本身和周围环境,代价不可接受。第二,真实世界里的失效模式实在太多,闭环运行中可能出现的情况几乎无法穷举,因此标注失败数据这条路在工程上根本走不通。换句话说,这是一个没有正样本的二分类问题

已有的方法大致分成两类,而两类都有明显短板。第一类是纯分布外检测,它把任何"没见过"的观测都当作异常。可是生成式策略本身是有一定泛化能力的,遇到新场景未必会失败,于是这类方法会在策略本来能处理的情况下频繁误报。第二类是用视觉语言模型在外部监控机器人的行为进展,但这类方法本质上只能事后报警——等错误已经表现在画面里时,留给系统反应的时间已经所剩无几。此外,还有一批工作只看策略的输入或只看输出,比如 FAIL-Detect(logpZO)只建模观测嵌入的分布,STAC 只计算相邻两次动作分布之间的时序一致性,RND-A(ReDiffuser)只评估生成动作的可靠性。割裂地看单侧信号,就必然漏掉另一侧的先兆。

FIPER 的出发点正是一个关于失效本质的观察:真正的任务失败往往同时伴随两件事——观测连续多个时间步偏离成功轨迹的模式,以及策略生成的动作分布在持续地"不尖锐"。观测侧的偏离说明策略看到了陌生的东西,动作侧的弥散说明策略不知道该怎么做;只有两者同时出现,才是真正的失效,而单独的任何一个都可能是无害的。这个观察也解释了论文为什么先把问题重新表述:失效预测不是"训练一个分类器",而是"只用成功样本做校准的异常检测"。这一步重述是整篇工作的关键——把不可解的问题换成可解的问题。

研究主线:从问题到结论

图 10: 研究主线(Mermaid 流程图):从「失效预测缺乏失败数据」的问题出发,经过「纯 OOD 会误报、VLM 只能事后」的动机分析,落到「观测偏离 + 动作弥散」的双信号判据,再由 RND-OE 与 ACE 加共形预测实现,最后在五个环境上验证。

基准/方法设计

FIPER 的整体结构是这样的:两条独立的评分通路,各自滑窗聚合,各自用共形预测校准出时变阈值,最后用逻辑合取把两个判定组合起来。

图 1: FIPER 总体框架:观测侧用随机网络蒸馏在策略嵌入空间检测连续 OOD 观测(RND-OE),动作侧用动作块熵度量生成动作的持续高不确定性(ACE);两条分数各自由少量成功 rollout 经共形预测校准阈值,并在滑窗上聚合;仅当两个子模块同时发出警告时才判定为失效。

其中逻辑合取这个设计值得单独说明。论文做了直接的消融:如果改成逻辑析取(只要有一个越界就报警),召回率 TPR 会接近 1.0,但真阴性率 TNR 会崩到 0.18 到 0.43 之间——也就是说几乎所有原本成功的 rollout 都会被误报。改用合取之后,平均 TNR 回到 0.65,而 TPR 仍然保持在 0.92。这说明"两个条件同时满足"并不是一个保守的工程折中,而是准确刻画了失效的结构

分类全景

论文把与 FIPER 相关的信号分成两大类,每类又分观测侧与动作侧;本文提出的两个分数在两侧各占一个位置,并与四条基线一一对应。

图 11: 信号分类全景(Mermaid 图):不确定性信号分为观测侧与动作侧两类。观测侧包括 PCA-kmeans、logpZO 与本文的 RND-OE;动作侧包括 STAC、RND-A 与本文的 ACE——本文在两个方向上各提出了一个分数。

方法细节

观测侧:RND-OE(随机网络蒸馏)。 方法采用随机网络蒸馏,但做了一个关键改动:不作用在原始图像上,而是作用在策略自身的观测嵌入空间里。目标网络随机初始化后冻结,预测网络只在成功的同分布数据上训练,去拟合目标网络的输出;训练完成后,对于与成功轨迹相似的观测,两个网络的输出会很接近,而对于陌生的观测,预测网络没见过,输出就会明显偏离,这个偏差的二范数就是 RND-OE 分数。

直接在策略嵌入空间工作带来两个好处。其一,策略的观测编码器是端到端跟策略一起训练的,它天然会把与任务无关的纹理、光照变化过滤掉,因此在这里检测到的异常比在原始像素上检测到的更贴近"策略真正在意的东西";论文也指出,直接在原始图像上做分布外检测在真机任务上误报率会明显偏高。其二,因为复用了预训练好的特征提取器,RND 只需很小的数据集就能训好,这一点对真机场景尤其重要——成功 rollout 的采集成本远低于失败 rollout。

图 2: RND-OE 在策略的观测嵌入空间工作:目标网络随机初始化后冻结,预测网络只在成功 ID 数据上训练。对训练分布内的观测两者输出接近,对偏离成功分布的新观测则产生大偏差——因而分数直接反映"策略看到的东西是否还像成功时"。

动作侧:ACE(动作块熵)。 观测只能说明"当前看到的对不对",而系统未来的演化最终由策略生成并执行的动作决定。这里论文指出了一个容易被忽略的事实:在模仿学习里,专家示范经常是多模态的——机器人可以先抓 A、B 或者 C,可以从侧面抓也可以从上面抓,可以绕左边也可以绕右边。这种多模态体现在熵上,而不是方差上。如果直接用动作之间的方差来度量不确定性,就会把"多模态但每个模态都很尖锐"的情况(策略其实很确定)误判成高不确定。

因此论文用熵来刻画条件动作分布的"众数尖锐度",但要直接估计 $H$ 维动作块联合分布的熵,样本量会随 $H$ 指数增长,远超常见 GPU 的并行能力。ACE 的做法是把预测的各个时间步分开处理:对每个策略步采样 $B$ 条动作块,按维度分箱后逐步求熵再求和。这样既把维度问题拆掉了,又保留了"策略在每一步是否犹豫"的信息。此外,ACE 是在末端执行器的笛卡尔位置空间里计算的,任何操作任务都可以通过正运动学把关节量换算过去,这样得到的分数既便宜又对应到任务真正发生的那三维空间。

配置与训练。 论文刻意为不同任务选了不同的生成式建模方式,以检验方法的通用性。Sorting 与 Stacking 使用流匹配加 ACT 的 transformer 骨干,动作块长度 $H$ 为 8、每次执行 4 步;PushT、Pretzel 与 PushChair 使用扩散模型加时序 U-Net,块长 16、执行 8 步或 4 步。所有任务的图像编码器统一使用 ResNet-18。RND-OE 的预测网络是 6 层 MLP、目标网络 4 层,训练 250 个 epoch,batch size 为 256,优化器用 AdamW 配 cosine 学习率调度,学习率为 $1 \times 10^{-4}$,权重衰减 $1 \times 10^{-5}$。

校准。 两条分数的阈值都用共形预测来定,并且只用成功的 rollout。论文考察了三种阈值定义:把整条 rollout 上的最大分数作为非一致性度量的 CP constant;用函数型数据的共形预测构造的时变区间 CP band;以及直接按逐个时间步的分数分位数算出的时变阈值。三者的取舍很清晰:CP 型阈值按构造给误报概率一个上界,因此更保守、报警更晚;时变阈值更敏感,能更早预警但误报更多。

实验设计与结果

评测覆盖三个仿真任务和两个真机任务。Sorting 要求 Franka 把两个方块推进颜色匹配的盒子,Stacking 要求把三个方块叠到目标区域,PushT 要求把平面的 T 形物推到目标位姿;真机方面,Pretzel 要求把绳子折成蝴蝶结,PushChair 要求移动机械臂把椅子推到桌子下面。分布外场景通过改变方块尺寸、目标区域位置、T 形物的尺寸与比例、绳子的初始位置与绕轴旋转、以及椅子的初始位姿来构造。

需要说明的是任务的难度分布。同分布条件下成功率从 Sorting 的 0.89 一路降到 PushT 的 0.40,引入分布外变化之后进一步降到 0.57、0.36 和 0.29;两个真机任务的同分布成功率分别是 0.5 和 0.67。特别有意思的是 Pretzel 里的一种失效:绕绳子自身轴线的旋转会改变各向异性绳材的弯曲行为,而这一点从初始图像里根本看不出来,必须等机器人把一端放到桌上、绳子自己弹回去,才在多个时间步之后暴露。这正好是"观测侧先动、动作侧随后确认"这一双信号设计最擅长的场景。

评测协议方面,仿真环境使用 50 条成功 rollout,真机任务使用 10 条,这些数据同时用于训练 RND-OE 和校准阈值;校准分位数 $1-\delta$ 从 0.90 到 0.99 全部取平均,避免挑选一个对某个方法特别有利的分位数;所有结果报告五个随机种子的均值和标准差。指标除了常规的 TPR、TNR、平衡准确率和归一化检测时间 DT,论文还提出了 TWA(时序加权准确率):它把正确检出的失败按提前量给分,越早发现得分越高,从而在单个标量里同时衡量"准"和"早"这两个目标。

图 3: 三个仿真任务的成功与失败 rollout 示例。OOD 通过改变方块尺寸、目标区域位置、T 形物尺寸与比例等引入;Stacking 考察简化的 Stacking-1 子任务,以保证引入 OOD 后仍有足够成功率来评估失效预测。

图 4: 两个真机任务。Pretzel:Franka 把绳子折成蝴蝶结,OOD 来自绳子初态平移与绕轴旋转——后者改变弯曲行为,且无法从初始图像察觉,只有放置一端后才暴露。PushChair:移动机械臂把椅子推到桌下,失败多因未推在靠背中心导致椅子大幅旋转。

图 5: (a)–(c)在模仿学习的多模态示范里,不确定性体现在熵而不是方差:多模态但每模都尖锐(c)与单模态(a)同样是"低不确定",而分不开模(b)才是高不确定。(d)ACE 按逐预测步的熵设计,因此不会像 STAC 那样把"切换行为模式"的时刻误判为高不确定。

主结果如下表,指标是 TWA(越高越好),数值为五个随机种子的均值:

任务PCA-kmeanslogpZOSTACFIPER(本文)
Sorting0.490.540.460.54
Stacking0.660.580.590.62
PushT0.530.520.580.55
Pretzel0.640.580.510.68
PushChair0.500.780.730.83
平均0.570.600.570.65

FIPER 在 Sorting、Pretzel 和 PushChair 上取得最好或并列最好的成绩,平均 TWA 为 0.65。对应的平均准确率是 0.78(最强基线 logpZO 为 0.69),平均 TPR 达到 0.92,而平均检测时间仍然只有 0.30。真机任务上的优势尤其明显:PushChair 上 FIPER 的 TWA 是 0.83、准确率 0.96,而该任务上最强的基线 logpZO 只有 0.78 和 0.92。

论文还把两个分量单独拉出来做了对比,看每个模块各自的贡献:

任务RND-ARND-OE(本文)ACE(本文)FIPER(合取)
Sorting0.550.520.540.54
Stacking0.500.620.620.62
PushT0.520.540.560.55
Pretzel0.510.550.750.68
PushChair0.710.740.690.83
平均0.560.590.630.65

结论是两者互补:RND-OE 的可解释性与检测速度最好,平均检测时间只有 0.18,是所有方法里最快的;ACE 的判别力最好,在 Pretzel 上拿到最高的 TWA 0.75,在动作多模态很强的任务上能预测 76% 到 99% 的失败,而 STAC 在同类任务上的 TPR 甚至不到 0.5。合取之后平均 TWA 达到 0.65,是全部配置里最高的。

图 6: 各不确定性分数在四类 rollout(Success ID / Success OOD / Fail ID / Fail OOD)上的分布,均按对应的共形阈值归一化。失效预测的关键在于把 Success OOD 与 Fail ID 分开:RND-OE 与 ACE 的这两个均值间距明显大于其对照方法。

图 7: 滑窗长度 $w$ 对三种阈值类型的影响(跨 5 个种子取均值,误差棒为标准差)。$w$ 取 1(只看当前步)准确率偏低;增大窗口提升准确率但普遍推迟检测。最优 $w$ 随方法与阈值类型变化显著,因此主表按"跨任务 TWA 最高"为每个方法各自选取 $w$。

论文专门比较了三种聚合方式。把历史分数一直累加这种做法看起来有效,但论文的分析指出它主要识别的是"失败的 rollout 通常更长"这一事实,因此报警时间明显偏晚;只取当前时间步则相反,TNR 很低、几乎把所有成功 rollout 都标成失败。滑动窗口是两者之间的正确折中,它让方法真正具备提前预告的能力。

阈值类型的消融结果也很实用。CP constant 阈值把 TNR 做到了 0.87,误报最少,但报警最晚;时变阈值 TWA 最高,达到 0.65。论文据此给出一个操作性很强的定位:CP 型阈值更适合做失效"检测",时变阈值更适合做失效"预测",到底选哪种,取决于具体应用是更怕漏报还是更怕误报——比如手术辅助和协同装配线上,宁可多几次误报也要尽早预警;而在物流场景里,一次错误报警可能意味着人工复核成本,反而更适合保守的阈值。

图 8: 三种阈值类型的直接对比(跨 5 个种子取均值)。CP band 与 CP constant 的阈值更高,因而 TNR 很高但报警明显更晚;时变阈值在 TWA 上整体最好。这与"CP 型更适合检测、时变型更适合预测"的定位一致。

图 9: 校准分位数 $1-\delta$ 的影响(窗口固定 $w=15$)。提高 $1-\delta$ 会让预测更保守:TPR 下降、TNR 上升,二者在准确率与 TWA 上大体抵消——因此本文不挑单一分位数,而是在 ${0.90, 0.91, \dots, 0.99}$ 上取平均。

结果对比总结

图 12: 结果对比总结(Mermaid 流程图):纯 OOD 基线的 TNR 只有 0.24 到 0.45,STAC 在多模态任务上 TPR 不到 0.5;两条线索都汇入「双信号合取」,最终得到平均准确率 0.78、TWA 0.65、检测时间 0.30、TPR 0.92。

关键发现

  1. 双信号合取是低误报的关键。 改成逻辑析取时 TPR 接近 1.0,但平均 TNR 只有 0.18 到 0.43;合取把 TNR 拉回 0.65,同时 TPR 仍保持 0.92,平均 TWA 从 0.59 提升到 0.65。
  2. 两个模块的强项互补。 RND-OE 单用检测时间仅 0.18,为全场最快;ACE 单用在 Pretzel 上 TWA 达 0.75、平均准确率 0.74,在强多模态任务上召回 76% 到 99% 的失败。
  3. 滑动窗口优于累积分数。 累积分数在成功与失败 rollout 时长差异大的任务上表现更好,但那是"识别到了更长的 rollout",而不是提前预测;滑窗才能给出真正有提前量的预警。
  4. 在真机上优势更明显。 PushChair 任务 FIPER 准确率 0.96、TWA 0.83,Pretzel 准确率 0.85,均明显超过所有基线。
  5. 零失败数据是可行的。 全部结果只依赖 50 条(仿真)与 10 条(真机)成功 rollout,验证了"把失效预测重述为可校准异常检测"这一思路的有效性。
  6. 代价可控。 把全部任务、窗口长度与分位数组合跑一遍,单个随机种子在一张 RTX 4090 上约需 1 小时。

局限性

论文本身对局限的讨论相当坦诚,同时在最需要压性能的附录里列出了几条更细的问题:

  • 准确率仍不够用。 最佳 TWA 对应的准确率只有 78%,对于漏报代价极高、误报又需要人工复核的装配线场景仍然偏低。作者建议增加校准 rollout 的数量,或者复用策略自己的训练数据。
  • 历史信息利用不足。 历史只通过滑动窗口进入分数聚合,没有进入分数本身的计算。作者推测过去的观测与动作预测里可能含有更早的预警信号,这仍是开放问题。
  • RND-OE 需要单独训练。 虽然比深度集成和 MC Dropout 省数据得多,仍然需要额外采集成功 rollout 并训练一个与策略解耦的模型。
  • 时变阈值有隐含假设。 它假定成功 rollout 的时序模式基本一致;如果策略第二次尝试才成功、导致时间轴整体平移,或者某些时间步在校准集中出现次数不足,时变阈值就会失效,此时常量阈值可能更合适。
  • 数据固有随机性会压低召回。 如果示范数据本身方差很大,生成动作的分布自然弥散,阈值就被抬高,TPR 随之下降。如何把 aleatoric 与 epistemic 不确定性解耦,作者认为仍是有价值的研究方向。
  • 仅验证了单任务视觉策略。 论文只在基于视觉的单任务模仿学习策略上做了实验,扩展到语言、触觉、听觉等额外模态目前仍是未经检验的假设。

常见问题(FAQ)

FIPER 真的完全不需要任何失败数据吗?

是的,训练与校准只使用成功的 rollout:RND-OE 在成功数据上训练,两条分数的阈值也用成功数据做共形预测校准。但要注意"不需要失败数据"不等于"不需要数据"——仿真任务需要 50 条、真机任务需要 10 条成功 rollout,这是它相对纯无监督方法的一个前提条件。

为什么不能只用分布外检测来判断失败?

因为生成式策略本身具备一定的泛化能力,遇到训练分布之外的新场景未必会失败。纯分布外检测会把这类"能应付的新情况"一并判成异常,造成大量误报。论文中 PCA-kmeans 基线的 TNR 只有 0.24,就是把大多数 rollout 都标成失败的直接后果。FIPER 的解法是要求动作侧同时给出高不确定性——策略"看到了陌生东西"并且"确实不知道怎么做",才算真失效。

为什么要用熵而不是动作方差来衡量不确定性?

因为模仿学习里的动作多模态是离散的:抓 A 还是 B、从侧面还是上面、绕左还是绕右。这种情形的分布是"多个尖锐的模态",方差可能很大但策略其实非常确定。只有当一个模态本身就弥散、分不开的时候,才意味着策略真的不确定。论文用一张示意图说明了这一点,并指出 STAC 之所以在强多模态任务上 TPR 不到 0.5,正是因为它会把"切换行为模式"的时刻误判成高不确定。

共形预测在这里到底起了什么作用?

它把"阈值定多少"从拍脑袋的超参数变成一个有统计保证的构造。给定 $\delta$,校准出的阈值保证新的成功同分布 rollout 被误判为失败的概率不超过 $\delta$,这正是安全关键系统能够接纳这个模块的前提。不过论文也说明了这个保证只在同分布成功 rollout 上严格成立,而实验是在包含分布外的数据上评估的,因此实际误报率并不会精确等于 $\delta$。

TWA 和普通准确率有什么区别?

普通准确率只看最终判定对不对,一个拖到 episode 最后一刻才报警的方法也能拿到高准确率,但那时已经无法介入。TWA 把正确检出的失败按提前量给分:在第 $t$ 步正确预警、episode 总长 $T$,就贡献 $1 - t/T$ 的分数,越早越高。这样单个指标就同时编码了"准"和"早"两件事。

这套方法能直接用到其他机器人任务上吗?

论文给出了两个前提:一是任务失败要有明确定义(存在最大 episode 长度和清晰目标,例如运动控制可以用参考速度的容差来定义失败);二是动作能够表示或变换到笛卡尔空间(导航可以用底座位置,四足可以按每只脚分别求熵再聚合)。在这两个条件下,作者认为方法可以迁移到导航和运动控制等其它任务;扩展到大规模 VLA 与额外输入模态则是作者留待未来验证的方向。

参考链接

  • 论文 arXiv 摘要页:https://arxiv.org/abs/2510.09459
  • 项目主页(代码、数据与视频):https://tum-lsy.github.io/fiper_website
  • 随机网络蒸馏 RND 原始工作:https://arxiv.org/abs/1810.12894
  • Sentinel / STAC 基线工作(同时提供 PushT 与 PushChair 数据):https://arxiv.org/abs/2409.07645
  • FAIL-Detect 基线工作:https://arxiv.org/abs/2502.01983
  • Diffusion Policy 骨干与观测编码器设计:https://arxiv.org/abs/2303.04137
  • 共形预测入门综述:https://arxiv.org/abs/2107.07511

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

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

官网:qiewenpaper.com

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

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


🍀后记🍀

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

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

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

✨GitHub主页YhbCode000(工程文件)

Logo

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

更多推荐