14 模仿学习 · ACT 与 Diffusion Policy

返回 00 - 项目总览与学习路线 | 前置 13 UMI 范式与相关研究

为什么学这个(项目关联)

原文”下一步工作”明确:先在遥操作数据集上训练 ACT 与 DP 建立基线,再训练 UMI 数据对应的策略。这是整个项目的最终产出环节——前面所有硬件、标定、采集工作都是为这两个算法喂数据。

知识点清单

1. 模仿学习基础

  • 行为克隆 BC:监督学习 π(a|o),最小化与演示动作的差异
  • 分布偏移 (covariate shift):BC 的根本弱点——执行误差累积,离开演示数据分布后不知道怎么办
  • 缓解手段:更多数据、DAgger、动作分块、生成式建模

2. ACT(Action Chunking with Transformers)

  • 论文:arXiv:2304.13705(ALOHA,Zhao et al. 2023)
  • 核心思想:
    • CVAE 结构:编码器把演示 latent 化,解码器生成动作序列(style 多样性)
    • 动作分块:一次预测未来 k 步(如 100 步),执行时做 temporal ensemble(相邻 chunk 预测取平均/投票),对抗逐帧误差累积与抖动
    • 对抗”复制教师演示中的停顿/犹豫”(人类演示中的 multimodal)
  • 输入输出:多相机图像 + 关节状态 → 未来 k 步动作序列
  • 特点:50Hz 高频控制、小数据(~50 条演示)可收敛、训练快

3. Diffusion Policy

  • 论文:arXiv:2303.04137(Chi et al. 2023)
  • 核心思想:
    • 把策略建模为条件去噪扩散过程:从高斯噪声出发,逐步去噪生成动作
    • 天然表达多模态动作分布(同一观测可以有多种合理动作——L2 回归会平均出错误动作,扩散不会)
    • 同样用 action chunking;视觉 backbone(CNN / Transformer)
  • DDPM 基础:前向加噪 q(xt|x0)、反向学噪声预测 εθ(xt, t)、采样步数与速度权衡(DDIM)
  • 相比 ACT:表达力强、对多模态数据好;训练与推理更慢

4. ACT vs DP 对比(原文两个都要训,正好做对比)

维度ACTDiffusion Policy
建模CVAE + Transformer条件去噪扩散
多模态中(latent 变量)强
推理速度快(一次前向)慢(多步去噪)
数据量敏感小数据友好数据越多优势越大
本项目精细双臂/高频任务UMI 原论文选用

5. 训练数据格式(UMI 数据如何喂进去)

  • 观测:腕部相机图像(可选 + 侧视相机)
  • 动作:末端位姿序列(世界系或夹爪相对系)+ 夹爪开合宽度
  • 归一化、episode 划分、相对位姿参数化(以夹爪为参考系,见 UMI 论文)
  • 采样频率对齐(相机帧 vs 位姿流插值)

6. 工程栈

  • lerobot(HuggingFace):当前最流行的开源机器人学习框架,内置 ACT/DP 实现 + 公开数据集 + 仿真环境
  • 数据格式:LeRobotDataset(视频帧 + 状态 + 动作,parquet + mp4)

学习资源

资源用途
ALOHA 论文 + 项目页ACT 原理
Diffusion Policy 论文 + 项目页DP 原理
lerobot 文档 + 官方教程动手跑通训练
李宏毅扩散模型课程DDPM 数学直觉
UMI 官方仓库看 UMI 数据→DP 训练的完整 pipeline

实践任务

  1. 💻 跑通 lerobot 教程:用公开数据集(如 pusht / aloha_sim)训练 ACT 和 DP 各一次,对比成功率
  2. 💻 改动实验:把 action chunk 长度 k 改小/改大,观察效果(体会 chunking 作用)
  3. ✍️ 画出 ACT 的 CVAE 训练/推理双路径框图;画出 DDPM 前向加噪/反向去噪示意
  4. ✍️ 写半页:为什么 L2 回归在多模态演示数据上会失败,扩散模型为什么不会
  5. 💭 思考题:UMI 数据(人手演示)和遥操作数据(机器人演示)混合训练时要注意什么(动作空间单位、频率、坐标系对齐)

掌握标准(自测)

  • 能向别人解释 ACT 的两个核心技巧(chunking + temporal ensemble)各自解决什么问题
  • 能写出 DDPM 的训练目标(噪声预测 MSE)与采样流程
  • 独立完成 lerobot 上 ACT 与 DP 的训练与评估
  • 能描述本项目数据从采集到训练张量的完整形状变换链

关联笔记

实践记录

(学习时在这里追加:日期 / 做了什么 / 踩坑 / 疑问)