SkiP:让模仿学习学会“快进“——动作重标记如何在不改架构的情况下削减机器人 15-40% 的执行步数

想象一个机器人去货架上拿瓶子:先要从初始位姿划过半米的空气,再用末端去精确卡住瓶颈。前半段在自由空间里几乎"用脚指头都能开",后半段却需要毫米级的精修。可是在主流的模仿学习里,这两段是被一视同仁地对待的------每一个控制周期都跑一次策略网络、预测一次动作、走一步、再来一次。看起来朴素稳健,实则极度浪费:在自由空间里一遍遍重复"差不多的预测",反而让误差有机会在中途积累;在接触阶段又因为同样的预测频率不够密集,错过对齐细节。

最近放出的 SkiP(Skip Policy)给出了一个非常"反套路"的答案:不动模型架构,不加额外规划器,也不引入层次化结构,只改训练目标------让策略在自由空间一次跨过几十步,到了关键阶段再切回密集精修。最终在 72 个仿真任务和 3 个真机任务上,执行步数减少 15-40% 的同时成功率没掉,甚至往往更高。在 RLBench-10 上,平均成功率从 0.70 直接拉到 0.85,平均执行步数从 127.5 砍到 72.9。

这篇文章会拆解 SkiP 的两个关键技术------动作重标记(Action Relabeling)和运动频谱键控(MSK),看看它为什么"轻而易举"地做到了又快又准。

背景与动机:均匀预测是模仿学习的隐性瓶颈

行为克隆(Behavior Cloning, BC)的范式简单到几乎像是默认设置:每一步看一帧观测,输出下一步动作。Action Chunking with Transformers (ACT)、Diffusion Policy、3D Diffuser Actor 这些近年的明星工作都在动作生成器上做文章------更强的解码、更大的窗口、更聪明的视觉编码------但都没有改训练监督本身 。结果就是:策略在执行时仍然以均匀的时间分辨率推进,每一个时间步拿到的"待遇"都一样,不管这一步重不重要。

这种均匀分配在两端都不划算。一端是自由空间:轨迹本身高度可预测,每多查询一次策略就是多积累一次预测误差,而误差是会沿着 rollout 累积的(这是 DAgger 和 imitation learning 误差扩散经典结论的根源);另一端是接触阶段:抓握、对齐、插孔这些动作要求毫米级精度,反而要密集纠错。"该快的快不起来,该慢的慢得不够",是模仿学习长期被低估的一个结构性问题。

SkiP 用上图很直观地展示了这个问题和它的解法。任务是"从马克杯架上取一个杯子放到桌上"。中间的曲线图里,橙色是高频能量比率 ,紫色是 bend score ------它们标出了演示轨迹里真正信息密集的瞬间(黄色 h、紫色 b、灰色 k 阴影区)。下方的轨迹条说明 SkiP 学到了一个鲜明的"快进+精修"模式:从 step 0 一口气跳到 step 66 进入接触阶段,再在 step 66 之后密集精修。Episode steps 从 100 降到 41,下降 59% ;同任务 SR 从 71% 升到 85%,反而提升 14 个百分点

核心方法

SkiP 把整套方法拆成两件事,逻辑很对称:

  1. MSK(Motion Spectrum Keying) 负责回答"哪些时刻是关键时刻"------这是标签的生成

  2. Action Relabeling 负责回答"知道关键时刻之后,怎么改写监督信号"------这是目标的改写

值得强调的是:SkiP 没有改任何模型结构。无论底层用的是 Transformer(CoA 风格)、UNet 扩散策略(Diffusion Policy)、3D 扩散策略(DP3)还是预训练 VLA(π₀.₅),换上 SkiP 的训练目标,效果都能复现。这一点对工程落地很重要------它意味着已有的策略仓库不需要重写,只要把 dataloader 里的目标动作做一次重标记即可。

1. Motion Spectrum Keying:用 DCT 自动找出"关键瞬间"

传统的关键帧抽取方法(如 James 和 Abbeel 提出的方案)依赖启发式信号:夹爪状态变化、末端速度过零点。这套规则对"拿起-放下"型任务够用,但对持续高精度运动(比如擦拭、拖拽)就抓不住。MSK 的想法很直接:关键时刻往往伴随更高的局部运动复杂度------也就是动作信号里出现了更多高频成分。

具体步骤如下:

第 1 步:速度信号与短时 DCT。 对动作序列 {a_t}*{t=1}\^T,先逐步求差得到速度v_t = a_t - a*{t-1}。然后以每个时间步t为中心,取长度W的窗口(论文里W=16,对称为\[t-8, t+7\]),沿时间轴做离散余弦变换:

其中 是 DCT 的标准归一化系数。

第 2 步:高频能量比率。 求频谱能量 后,提取上半频段()的能量占比:

越大意味着这一段动作的局部变化越剧烈------通常对应着接触发生、姿态修正这些"非平滑"事件。

第 3 步:阈值化。 对每一回合(per-episode)按分位数 切分------超过分位数的连续时间步合并成一个关键段。论文默认 (也就是取每回合 排序前 25% 的部分),并通过消融实验确认 在成功率上达到峰值。

第 4 步:bend score 几何补强。 单纯的高频信号会漏掉缓慢但路径弯曲的精修动作(比如沿曲线擦拭)。SkiP 用 bend score 补一道:

其中 是窗口首尾两个末端坐标之间的线性插值参考线, 是窗口内的平均步长(保证尺度不变)。 高的时间步表示末端轨迹明显偏离了直线,意味着这一段是有结构的几何修正。

第 5 步:并集分割。 最终的关键段是三类的并集------高频段、bend 段,加上启发式关键帧(夹爪状态变化和速度过零点)前后 ±5 步的小邻域。剩下的全部归为跳跃段。短于 3 步的片段当噪声丢掉,每回合前 20% 也被跳过(避免把初始化复位运动误判为关键运动)。

整套 MSK 没有任何可学习参数,运行起来非常快------这是相对一些"用 VLM 标关键段"方案的显著优势。论文里专门做了对比:用 Gemini-2.5-Pro 替换 MSK 来分段(标记为 SkiP†),在 RoboMimic 上甚至会出现灾难性下跌(SR 0.123 vs MSK 的 0.772),原因是 VLM 不一定能准确捕捉到机器人动作信号里的"接触瞬间"。简单的频谱启发式反而更贴合任务本质。

2. Action Relabeling:把训练目标"挪到下一个关键点"

有了关键段标注 (关键段=1,跳跃段=0)之后,重标记本身是一个非常清爽的几行代码改动。

定义"下一个关键段的入口时间":

然后重新选择目标动作块的起点:

且存在

接下来构造长度为 的目标动作块 :

注意这里 是 padding mask:因为重标记后目标可能"跳出"演示尾部,超出 的部分要被屏蔽掉。

最终的损失就是一个带掩码的模仿损失:

是 backbone 自带的损失(Transformer 用 L1,扩散策略用去噪损失,VLA 用 flow matching loss),SkiP 不引入任何额外的 loss 项。

直觉上,这个机制把策略训练成了两种行为模式的混合

  • 在关键段里 ():目标还是"下一步",本质就是密集 next-step prediction,学到对接触和修正的高分辨率响应;

  • 在跳跃段里 ():目标被改写成"下一个关键段入口的动作",等于告诉策略"你不用一步步走,直接把末端跳到下一个关键瞬间该有的位置"。

3. 推理时的执行:把整段 chunk 一次性吃光

模仿学习里很多方法(包括 ACT)会用 temporal ensembling 在重叠的预测块之间做加权融合,以减少抖动。SkiP 直接禁用了 temporal ensembling------每次策略查询输出长度为 的动作块,环境把整块执行完,再去查下一次。这就是为什么"执行步数"会大幅下降:跳跃段的目标已经被训成"跳到下一个关键点",于是单次查询就能跨过几十步的自由空间。

论文里有个相当漂亮的分析(Figure 6):他们测量每次策略调用的"跳跃距离" ,发现 SkiP 的调用呈双峰分布------跳跃模式的距离在 0.1-0.7m,关键模式则聚集在零附近;而基线 CoA-rev 集中在零附近、CoA-fwd 是中等单峰分布。这强证了一件事:重标记真的教出了两种不同的输出模式,不是一个被平均掉的"中庸"行为

实验与结果

实验规模可以说相当扎实:72 个仿真任务 + 3 个真机任务,覆盖 RLBench-10/60、RoboMimic(含 lift/can/square/transport)、RoboTwin(8 个双臂任务)、RLBench-18(VLA 微调)、以及 π₀.₅ 真机微调。

仿真主结果

RLBench-10(Transformer 骨干):SkiP 平均成功率 0.85,平均执行步数 72.9。横向对比:

方法 平均 SR ↑ 平均执行步数 ↓
Diffusion Policy 0.43 119.1
KF-only(仅关键帧预测) 0.49 10.9(不可靠)
ACT 0.71 106.1
CoA-fwd 0.68 133.3
CoA-rev 0.70 86.2
SkiP 0.85 43.4

比次优的 CoA-rev 高 +14.9 个百分点,同时减少 54.6 步。

RoboMimic(Diffusion Policy UNet) :SkiP 0.772 SR / 144.1 steps,相较 CoA-rev 的 0.723 SR / 211.8 steps,Steps_succ 减少 32%。值得注意的是用 Gemini-2.5-Pro 分段的 SkiP† 暴跌到 0.123------这反过来印证了 MSK 这种轻量频谱方法在动作信号里更可靠。

RoboTwin(DP3 双臂 + 点云):SkiP 0.773 SR / 126.6 steps,相比 DP3 baseline(0.614 / 268.7)成功率提升 +0.159、步数减少 53%。

真机三任务(基于 π₀.₅ 微调)

任务 指标 π₀.₅ Base KF-only CoA SkiP
pour-water SR 40.0% 6.7% 33.3% 46.7%
步数 290.4 309.6 281.9 265.4
时间 3:44 4:01 3:39 3:28
stack-bowls SR 33.3% 6.7% 26.7% 53.3%
步数 246.3 271.4 226.8 204.5
时间 2:41 2:59 2:29 2:16
tidy-up-desk SR 66.7% 13.3% 40.0% 73.3%
步数 250.7 286.8 232.4 207.4
时间 2:20 2:43 2:12 2:00

每个任务 15 次 rollout。三个任务上 SkiP 都是最高 SR + 最少步数 + 最短墙钟时间。stack-bowls 上从 33.3% 飙到 53.3%,绝对增益 +20 个百分点 ------而骨干网络完全没变,只换了训练目标。这有力地证明了 action relabeling 与大规模预训练是互补的:预训练权重提供通用的运动能力,重标记教会策略"该把决策预算花在哪里"。

消融实验

分位数阈值 q:SR 在 q=0.75 达到峰值,q≥0.80 时跳过得太激进、SR 显著下跌;Steps_succ 随 q 单调下降。q=0.75 是 SR 和效率的最佳平衡点。

ST-DCT 窗口大小 W(RLBench-60):

W SR ↑ Steps ↓ Steps_succ ↓
4 0.529 178.4 50.6
8 0.547 175.6 57.2
16(默认) 0.606 165.5 64.1
32 0.514 176.7 47.2

太小的窗口丢失时序上下文,太大的窗口又过于选择性、漏掉一些纠正动作。

组件消融

配置 SR ↑ Steps ↓
仅 DCT(去掉 union 和 bend) 0.530 176.3
去掉 union(保留 DCT+bend) 0.574 168.8
去掉 bend(保留 DCT+union) 0.574 163.0
完整 SkiP 0.606 165.5

最有信息量的一行是"仅 DCT":去掉所有补强组件后 SR 还有 0.530,仍然高于 CoA-rev 在同套 RLBench-60 上的 0.490 。也就是说性能增益主要来自 action relabeling 本身,标签的工艺只是锦上添花

讨论与思考

读完整篇论文我觉得最值得拎出来讲三点。

1. 把"做什么"和"什么时候做"解耦的训练范式

过去几年里模仿学习里大部分的"进步",无论是 Diffusion Policy 还是 Action Chunking,本质都是在改"动作生成器"------用更强的解码器去拟合人类演示。SkiP 走了完全不同的方向:它改的不是模型,是监督信号本身。这一手在我看来挺像 NLP 里 next-token prediction → masked language modeling → instruction tuning 的演化思路------同一套架构在不同的目标下能学到完全不同的能力。

模仿学习的"目标改写"维度长期被忽视,SkiP 是第一个把这件事做得这么干净的工作。我猜接下来一两年会有不少跟进------比如把目标从"下一个关键段入口"再往后推(多级跳跃)、或者把跳跃距离也作为预测对象(learned skip planner,不过 SkiP 已经证明了不需要也行)。

2. 频谱方法对 VLM 的胜利

SkiP† 用 Gemini-2.5-Pro 替换 MSK 的对比相当意味深长。一个被普遍认为更"聪明"的多模态大模型在这里不仅没赢,反而严重输给了一个完全没有可学习参数、纯靠 DCT 的启发式方法。

这背后的逻辑其实很 fundamental:机器人动作信号里的"关键瞬间"是一个高度任务无关的物理概念------动力学上的接触、几何上的转折------这些信息在动作信号的频谱里直接可读 ,反而是 VLM 在没有动作信号、只看图像和文字时很难精确定位的。这给一个启发:在具身智能这条路上,不要无脑用大模型替代经典信号处理,很多时候"该用 DSP 就用 DSP"。

3. 跳跃为什么会让成功率反而更高?

直觉上"跳过中间预测"应该是用准确度换效率,但 SkiP 的数据里我们看到的是"准确度 + 效率"双赢。论文给出的解释很关键:每一次策略查询都是一次潜在的误差累积机会。在自由空间里,本来这些预测就高度可预测且接近确定性,每多预测一次只是多积累一次扰动;把整段坍塌成一个决策,反而把这些误差"挤掉"了。这是个相当反直觉但又很合理的发现------它把模仿学习里被普遍接受的"高频预测 = 更稳定"这条直觉给反转了。

这一点对工程落地有非常直接的启示:在自由空间高频查询策略不仅浪费,还会降低任务成功率

局限性

诚实地说几点:

  • SkiP 的 MSK 依赖动作信号的高频结构,对真正连续平滑但需要高精度的任务(比如沿曲面缓慢拖拽)可能会过度倾向 bend score,需要任务特定调参;

  • 真机实验里 SkiP 提升的是 π₀.₅ 已经具备部分能力的任务,对从 0% SR 起步的任务并没有改善------也就是说重标记是个 "amplifier",本身不能从零教会策略一个新技能;

  • 论文里 H(chunk 长度)的选择和跳跃距离之间的关系还可以更系统地刻画------目前看起来是经验性的。

但这些都不影响 SkiP 是一个非常优雅的工作。我相当看好这套思路在 VLA、长程任务和真机部署里被广泛复用。

总结

  • 核心观点:模仿学习的低效不在模型,而在监督------所有时间步用同一种 next-step prediction 训练是浪费的。

  • 关键贡献 1(MSK):用短时 DCT 和 bend score 在动作信号本身上做关键段分割,无需学习、无需任何人工标注。

  • 关键贡献 2(Action Relabeling):在跳跃段把训练目标改写为"下一个关键段入口"的动作,让策略学会"快进",损失公式只是一行 mask。

  • 效果:72 仿真 + 3 真机任务上,执行步数 -15% 至 -40%,成功率持平或更高;RLBench-10 平均 SR 从 0.70 → 0.85,平均步数 127.5 → 72.9。

  • 意义:把"目标改写"作为一个独立的研究维度凸显出来,可能比"换更强的动作生成器"是更高 ROI 的路径。


本文基于 SkiP: When to Skip and When to Refine for Efficient Robot Manipulation[1] 解读。项目主页:pgq18.github.io/SkiP-page[2],代码:github.com/CCCalcifer/Skip-Policy[3]。

引用链接

1\]SkiP: When to Skip and When to Refine for Efficient Robot Manipulation: *https://arxiv.org/abs/2605.15536* \[2\]pgq18.github.io/SkiP-page: *https://pgq18.github.io/SkiP-page/* \[3\]github.com/CCCalcifer/Skip-Policy: *https://github.com/CCCalcifer/Skip-Policy*

相关推荐
GEO从入门到精通3 小时前
GEO学习与传统SEO学习有什么区别?
人工智能·学习·microsoft
靠谱品牌推荐官3 小时前
【架构实战】如何设计一套原生支持 GEO 大模型爬虫语义索引的 HTML5/CSS3 纯净白盒前端架构?
前端·爬虫·架构
朝阳群众Jone3 小时前
机器人企业如何用 CRM 优化线索、商机与客户管理
机器人
墨北小七3 小时前
如何用 Dify 替代传统客服机器人
人工智能·机器人
传说故事3 小时前
【论文阅读】Yell At Your Robot: Improving On-the-Fly from Language Corrections
论文阅读·机器人·具身智能
枫叶林FYL3 小时前
【自然语言处理 NLP】9.1 检索增强生成高级架构:GraphRAG 与结构化知识检索
人工智能·自然语言处理·架构
ZPC82103 小时前
moveit2_servo 怎么接收相机调节指令(视觉伺服)
人工智能·数码相机·算法·计算机视觉·机器人
俊哥工具4 小时前
不用安装不收费!多功能U盘修复工具,解决大部分U盘故障
学习·pdf·word·excel·音视频
_Evan_Yao4 小时前
大学自学能力怎么练?慕课、B站、书籍资源清单
后端·学习