背景与坐标系 · 2026-08-23

论文里一般怎么做
—— 以及我们的情况特殊在哪

我们遇到的每一个现象,在模仿学习(imitation learning / behavior cloning)文献里 都有名字和标准处理办法。这一页把它们摆出来,让你有个坐标: 哪些是所有人都会遇到的通病、标准做法是什么、我们的情况又特殊在哪。

阅读提醒:下面的文献结论是从公开研究的普遍共识写的,用来提供方向感, 不是精确引文。真要引用请回原论文核对。带「我们」的部分才是本机实测。

一、我们撞上的三个「教科书级」问题

1. Compounding error / Covariate shift(误差复合 · 分布漂移)

说的是:模仿学习只在示范经过的状态上训练过。一旦机器人偏离示范轨迹一点点, 它就进入了训练时没见过的状态,动作更不准,偏离更多 —— 误差沿时间轴滚雪球。 这是 behavior cloning 最经典的失效模式(DAgger 那篇 2011 年的论文就是为了解决它)。

标准做法:① DAgger 类方法 —— 让策略先跑,人在它跑偏的地方补充标注, 把"跑偏后的状态"也纳入训练集;② 动作分块(action chunking) —— 一次输出一串动作 减少决策次数,ACT / SmolVLA 都用它;③ 加噪声训练,让策略见过"偏了一点"的状态。

我们的表现:「空中闭爪」就是它 —— 手臂还没到位,计划里的抓取阶段照常执行。

2. Regression to the mean(回归均值)

说的是:用 L2/L1 损失做回归时,模型对同一观测下的多种可能动作会输出它们的平均。 轨迹里"偶尔才做、幅度不大"的关键修正,在损失函数眼里贡献极小,会被抹平。

标准做法:① 换能表达多峰分布的输出头 —— Diffusion Policy、 ACT 的 CVAE、SmolVLA 的 flow matching 都是为此设计的; ② 示范一致性:同一场景下示范者做法越统一,均值越接近正确答案; ③ 关键阶段加权采样或加大数据密度。

我们的表现:「轴线向左偏」「腕部下沉到杯沿以下」两个技巧,示范里 50 集都有, 模型却退回到"对准杯心、停在杯沿上方"。

3. Data coverage imbalance(数据覆盖不均)

说的是:策略在训练数据稀疏的状态区域表现最差,且性能通常随该区域的 示范数量呈幂律式改善 —— 这是近年机器人数据规模化研究反复报告的规律。

标准做法:① 按状态/任务分层统计覆盖度,缺口处定向补录; ② 训练时对稀疏区上采样;③ 数据增强扩大有效覆盖。

我们的表现:这是本次最硬的证据 —— 最右杯位只有 4 集,抓取最浅(z=0.038)、最不一致(σ=0.0141); 最左杯位 22 集,最深(0.028)、最稳(0.0063)。 集数 vs 抓取深度 r = −0.88。模型的弱点精确对应数据的弱点。

二、标准做法 vs 我们的做法

环节论文/业界常见做法我们的情况
示范数量 单任务单场景常见 50–200 集;开源大规模数据集动辄上万集跨多机器人 50 集 / 4 个杯位。总量在下限,分布严重不均(22/7/17/4)
示范一致性 强调「单一操作者、固定策略、明确的成功判据」;混合示范会拉低上限 准星接触表显示 50 集构图高度一致 —— 这一项我们做得好
切分与验证 留出验证集、按条件分层,看 validation loss 与成功率而非训练 loss v1 训练 eval_freq=None,全程无 validation(ACT 那轮)
评估指标 以真机成功率为准(N 次试验、报告置信区间);离线 loss 只作参考 项目从一开始就定 10 次 8 成功,方向正确
控制频率 推理频率应与采集频率匹配;不匹配需重采样动作序列 采集 30 Hz、推理 ~8 Hz。已修(按实测频率消费动作块)
安全层 论文常常一笔带过;工业上是硬要求 逐关节限位 + 笛卡尔包络 + 误杀率实测 0.021%,比多数论文严格
硬件一致性对照 很少写,但真机工作里是必须的("是模型变差还是机器变了?") 我们做了重放实验这个对照 —— 这一步很多人会跳过

三、我们的情况特殊在哪

  1. 抓取容差极小。实测示范闭爪高度 z = 0.032 ± 0.010 m, 而安全包络下限是 0.020 —— 成败区间只有约 1 cm,且贴着边界。 论文里的抓取任务通常容差更大(大物体、平行夹爪、桌面居中)。 容差越小,回归均值的杀伤力越大。
  2. 夹爪不对称。爪夹向右侧开合,正确瞄法是轴线偏左让左爪贴杯缘 —— 这是本机独有的几何技巧,任何通用先验都不会自带,只能从示范里学。 也因此,它必须在数据里被夸张、被重复。
  3. 数据量在下限。50 集对单任务不算多,还分给了 4 个杯位。 文献里"数据不足"的典型症状(大路会走、精细段退化)我们全中。
  4. 我们有一件事做得比论文常见做法更好:把失败逐项证伪到硬件层 (相机、标定、总线、时序、限速全部量化排除)。多数论文只报最终成功率, 不会告诉你失败是怎么归因的。

四、由此得到的行动优先级

#做什么对应文献里的哪一招代价
1重放实验硬件一致性对照(工程实践,非论文标配)5 min
2换 checkpoint 对比模型选择 / early-stopping 的替代20 min
3定向补录:右侧杯位 4 → 15 集data coverage 缺口补齐(对症)1–2 h
4v2 重训:80/20 分层 + 轻量增强分层验证 + 数据增强3 h+
5调超参分布问题没解决前,只是换种方式过拟合—

为什么补录排在重训前面:文献里数据覆盖与性能的关系是最稳的规律之一, 而超参调整在小数据集上的收益通常远小于补数据。我们又有 r = −0.88 这个直接指向缺口的相关系数 —— 该补哪儿是明确的,不用猜。

五、术语对照(读论文时会遇到)

英文中文在我们这里指什么
Behavior Cloning (BC)行为克隆我们用的方法:从示范监督学动作
Covariate shift分布漂移手臂偏离示范轨迹后进入没见过的状态
Compounding error误差复合空中闭爪:偏差逐帧滚大
Action chunking动作分块SmolVLA 一次出 50 步;我们修了它的播放速率
Regression to the mean回归均值左偏与下沉两个技巧被抹平
Data coverage数据覆盖4 个杯位 22/7/17/4 的不均衡
Held-out evaluation留出集评估我们做过位置留出:0.98×,说明没背坐标
Rollout / trial实机试验10 次里 8 次成功的验收

配套页: 实机试验第一天 · 0/14 的失败分析 · 仓库文档 03-software/TUNING-PLAYBOOK.md(可执行手册)。 本页用于建立坐标系,文献结论为普遍共识的概述,精确引用请回原文核对。