ACT 简介:从人类示范到自主执行
ACT(Action Chunking with Transformers) 是一种端到端的模仿学习(Imitation Learning)算法。它以摄像头画面和机器人关节状态作为观测输入,直接映射出动作输出,通过观察人类示范完成训练,最终使机器人能够自主执行复杂操作任务。
从方法角度看 ACT 的名字
ACT 的名字完整地概括了它的方法论——Action(动作)、Chunking(分块)、Transformers(Transformer 架构),三者的组合构成了算法的核心设计。它要解决的,是"给定当前观测,如何输出一段连续、稳定、且符合示范分布的动作序列"这一核心问题。
三个核心设计
| 设计 | 含义 | 解决的问题 |
|---|---|---|
| ① Action Chunking | 策略不是单步决策 π_θ(a_t | s_t),而是一次性预测未来 k 步动作 π_θ(a_t:t+k | s_t) | 缩短决策时域、缓解误差累积 |
| ② Chunking(分块) | 决策次数减少 k 倍,有效时域(Effective Horizon)显著缩短 | 从机制上削弱自回归策略"一步错、步步错"的复合误差 |
| ③ Transformers | 编码器-解码器架构处理高维观测,在动作块内部建模时序依赖 | 表达非马尔可夫行为,配合 CVAE 建模多模态动作分布 |
ACT 在做什么?一张图看懂
📷 摄像头画面 ┐
├─➜ 🧠 ACT(Transformer 大脑) ─➜ 动作块 a₁ a₂ a₃ … aₖ
🦾 关节姿势 ┘ "一口气想好一整段,按顺序执行"- 输入(看到 + 感觉到):摄像头画面 + 关节姿势,即高维观测
- 模型:Transformer 大脑,融合所有信息后生成动作
- 输出(未来 k 步动作):一次预测出整段动作块序列,供执行端依次执行
一句话总结
ACT = Action Chunking + Transformer + CVAE
- ✓ 用 Action Chunking 解决复合误差与时序依赖问题
- ✓ 用 CVAE 建模动作分布,处理多模态示范
- ✓ 用 Temporal Ensemble 保证动作平滑
- ✓ 端到端:图像 + 关节 → 未来动作序列
总而言之,ACT 的核心在于:不是"每帧观测输出单步动作"的自回归决策,而是基于当前观测一次性生成未来 k 步的动作块。这一设计贯穿整个算法——后续章节将逐一展开它的数据采集(ALOHA)、架构、训练流程与实现细节。