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 对比(原文两个都要训,正好做对比)
| 维度 | ACT | Diffusion 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 |
实践任务
- 💻 跑通 lerobot 教程:用公开数据集(如 pusht / aloha_sim)训练 ACT 和 DP 各一次,对比成功率
- 💻 改动实验:把 action chunk 长度 k 改小/改大,观察效果(体会 chunking 作用)
- ✍️ 画出 ACT 的 CVAE 训练/推理双路径框图;画出 DDPM 前向加噪/反向去噪示意
- ✍️ 写半页:为什么 L2 回归在多模态演示数据上会失败,扩散模型为什么不会
- 💭 思考题:UMI 数据(人手演示)和遥操作数据(机器人演示)混合训练时要注意什么(动作空间单位、频率、坐标系对齐)
掌握标准(自测)
- 能向别人解释 ACT 的两个核心技巧(chunking + temporal ensemble)各自解决什么问题
- 能写出 DDPM 的训练目标(噪声预测 MSE)与采样流程
- 独立完成 lerobot 上 ACT 与 DP 的训练与评估
- 能描述本项目数据从采集到训练张量的完整形状变换链
关联笔记
- 前置:13 UMI 范式与相关研究
- 数据来源:16 嵌入式 - AS5600 编码器与 XIAO ESP32C6、17 位姿追踪 - Unity 与 Meta Quest 开发、18 网络传输 - TCP UDP ADB 与时间同步
- 执行:31 复刻路线图与里程碑 里程碑 M5
- 原文对应章节:01 - 原文存档 - Dream-UMI 开发手记 “下一步工作”
实践记录
(学习时在这里追加:日期 / 做了什么 / 踩坑 / 疑问)