返回Glossary

Action Chunking with Transformers (ACT)

定义

动作分块是机器人模仿学习中的一种技术,其中策略在单次前向传递中预测固定长度的未来动作序列(通常为 8 到 50 个时间步),而不是每次推理生成一个动作。通过一次输出整个轨迹分块,策略产生时间平滑且协调的运动,避免了单步预测中常见的抖动和不一致行为。

最广泛采用的实现是 Action Chunking with Transformers (ACT),由 Tony Zhao 等人在 2023 年提出。ACT 将条件变分自编码器(CVAE)与 Transformer 编码器-解码器架构相结合。CVAE 捕捉以当前观测为条件的可能动作序列的分布,而 Transformer 关注视觉特征(来自摄像头图像)和本体感觉状态(关节位置、夹爪状态)以解码整个动作分块。

ACT 专为使用 ALOHA 遥操作系统的双臂操作任务设计,其中协调两个机械臂需要平滑、时间一致的轨迹。它已成为机器人学习社区中两种主导策略架构之一,另一种是 Diffusion Policy。

工作原理

在训练期间,ACT 接收专家演示并通过 CVAE 编码器编码完整动作序列以生成潜变量 z。该潜变量与当前观测连接,并馈送到 Transformer 解码器,后者预测动作序列。训练损失结合了动作重构(预测动作与真实动作之间的 L1 或 L2 损失)和正则化潜空间的 KL 散度项。

在推理时,CVAE 编码器被丢弃。潜变量 z 从先验(标准高斯分布)中采样,与当前观测连接,Transformer 解码器生成动作分块。机器人执行分块中的前 k 个动作,然后再次查询策略。这种重叠执行创建了一个递推地平线控制方案。

一个关键洞察是时间集成技术:系统不是执行单个分块中的所有动作,而是维护来自连续分块的重叠预测的加权平均。这平滑了分块之间的过渡,进一步减少了抖动,特别是对于接触丰富的任务(如插入或折叠)。

关键变体

  • 标准 ACT — 原始 CVAE + Transformer 架构,采用 L1 动作损失和 KL 正则化。使用关节空间动作目标和腕部摄像头图像。
  • ACT + DAgger — 将 ACT 与 DAgger 相结合:初始训练后,策略被部署,同时人类在策略访问的状态上提供纠正演示。这个迭代过程解决了纯行为克隆的分布偏移问题。
  • 时间集成 ACT — 在执行期间对重叠动作分块应用指数加权平均。加权参数控制旧预测相对于新预测保留多少影响力。
  • LeRobot 中的 ACT — Hugging Face 的 LeRobot 框架提供了标准化的 ACT 实现,具有可配置的分块大小、视觉骨干网络(ResNet、ViT)和训练超参数。这已成为事实上的参考实现。

与替代方案的比较

ACT vs. Diffusion Policy:ACT 在单次前向传递中生成确定性动作分块(以采样的潜变量为条件),推理速度快(GPU 上每个分块约 4ms)。Diffusion Policy 使用迭代去噪(10-100 步)生成动作,速度较慢但自然处理多模态动作分布。对于具有单一清晰策略的任务,ACT 往往更简单快速。对于存在多种有效方法的任务(例如,从任一侧绕过障碍物到达),Diffusion Policy 的多模态特性给予其优势。

ACT vs. BC-RNN:递推行为克隆(BC-RNN)使用 LSTM 或 GRU 一次生成一个动作。这容易出现时间不一致,因为小的预测误差在步骤间累积。ACT 通过预测整个分块绕过这一问题,使其对多步操作序列的鲁棒性显著提高。

ACT vs. VLA 模型:Vision-Language-Action 模型(如 RT-2 或 OpenVLA)融合语言理解,可以跨越用自然语言描述的任务进行泛化。ACT 是专家:它在最少数据的单个任务上表现出色,但不理解语言指令。这两种方法是互补的而非竞争的。

实际要求

数据:ACT 的数据效率非常高。对于简单的单臂任务(拾取放置、推动),通常 20-50 次遥操作演示就足够了。双臂任务(折叠、插入、交接)通常需要 50-200 次演示。数据质量比数量更重要:一致的演示且最少暂停会产生更好的策略。

计算:在单个消费级 GPU(RTX 3090 / 4090)上训练 ACT 策略需要 1-4 小时,用于典型的 50-200 演示数据集。推理在 GPU 上以 200+ Hz 运行,远超典型的 10-50 Hz 机器人控制速率,因此 ACT 对控制循环的延迟影响可忽略不计。

硬件:ACT 为位置控制机械臂设计。它最适合低成本臂,如 ALOHA(ViperX 300)、Koch v1.1 或 SO-100,其中关节位置命令是原生接口。力控制臂需要额外注意,因为 ACT 不原生输出扭矩或阻抗参数。

选择合适的分块大小

分块大小是 ACT 中影响最大的超参数,它在很大程度上取决于任务动态:

时间集成权重(w)控制新分块覆盖旧分块的激进程度。w 接近 0 时信任最新预测;w 接近 1 时在过去分块间大量平均。从 w=0.01(偏向新预测)开始,如果观察到分块间过渡抖动则增加。

  • 短分块(8-20 个动作)— 最适合环境频繁变化的反应性任务:动态物体任务、力敏感操作或靠近障碍物的任务。短分块允许策略更频繁地对新观测做出反应。权衡是分块间抖动增加。
  • 中等分块(20-50 个动作)— 大多数桌面操作的最佳选择:拾取放置、堆叠、简单装配。足够长以产生平滑的轨迹段,但足够短以在需要时纠正路线。原始 ACT 论文在 50 Hz 下使用 chunk_size=100,相当于 2 秒的动作。
  • 长分块(50-100 个动作)— 最适合具有长、平滑运动段的任务:擦拭、涂抹、绘制或双臂协调,其中两个臂必须遵循同步轨迹。长分块产生最平滑的运动,但无法对分块内的意外变化做出反应。

Related terms