Skip to content
Go back

Action Chunking

Edit page

1. 核心设计思想:为什么要提出 ACT?

传统的行为克隆(Behavioral Cloning, BC)等模仿学习算法在处理精细操作时,通常是“给定当前状态,预测下一步动作(单步预测)”。这会带来两个致命问题:

ACT 通过**“动作分块(Action Chunking)”“生成式建模(CVAE)”**完美解决了这些问题。


2. ACT 的三大核心机制

① 动作分块 (Action Chunking)

受神经科学启发(人类在执行动作时大脑是按“块”来处理的,比如“抓取糖果纸的一角”作为一个整体),ACT 抛弃了单步预测。

② 时间集成 (Temporal Ensembling)

如果仅仅是“观察一次 -> 闭眼执行 kk 步 -> 再观察一次”,机器人的动作在两次切换之间会非常僵硬和卡顿。

③ 处理人类数据的多模态 (CVAE 生成模型)

同一个人做同一个任务,每次的轨迹也会不一样(比如递胶带时,交接的具体空间位置每次都在变)。如果用普通的均方误差去强制拟合,模型最后只能学到一个“平均动作”,往往导致双臂相撞。


3. ACT 的网络架构细节

ACT 的架构大量使用了 Transformer 和 ResNet,总参数量约 80M(8000万)。分为训练时的 Encoder 和 推理时的 Decoder(即最终的策略)。

CVAE Encoder(仅在训练阶段使用)

CVAE Decoder / Policy(训练和推理阶段的核心)

这就是机器人在实际运行时的大脑,分为视觉处理、特征融合和动作生成:

  1. 视觉处理 (ResNet18): 机器人有 4 个摄像头(顶部、前置、左右手腕)。每个摄像头拍到的 RGB 图片(480x640)通过 ResNet18 提取特征,加上 2D 正弦位置编码以保留空间信息,最后展平并拼接成一个很长的视觉特征序列。
  2. 特征融合 (Transformer Encoder): 将上面得到的 4 视角视觉特征,加上当前的关节位置信息(投影为 embedding),再结合隐含变量 zz,一起送入 Transformer 编码器中进行信息融合。这一步让模型综合理解“我看哪里”和“我手在哪里”。
  3. 动作序列生成 (Transformer Decoder): 使用交叉注意力机制(Cross-Attention)。查询(Queries)是固定长度为 kk 的位置编码,键(Keys)和值(Values)来自上一步 Encoder 的输出。最终 Decoder 直接吐出一个维度为 k×14k \times 14 的张量(代表未来 kk 步,左右双臂各 7 个自由度的绝对目标关节位置)。

关键的训练细节

**总结来说,ACT 算法的精妙之处在于:**用 Transformer 强大的序列生成能力来实现“动作分块(Chunking)”,用 CVAE 消化了人类动作的噪声,再配合“时间集成”确保高频执行的平滑性,最终让低成本硬件实现了极其惊艳的毫米级闭环精细操作。


Edit page
Share this post on:

Next Post
Diffusion Policy