ACT 政策解释:使用 Transformers 进行动作分块以实现机器人学习
ACT(Action Chunking with Transformers)由托尼·赵和斯坦福大学的合作者发表后,成为最广泛采用的灵巧操作模仿学习算法之一。 以下是其工作原理和使用方法的实用说明。
什么是 ACT?
ACT 是一种模仿学习算法,专为细粒度操作任务而设计,机器人必须根据视觉观察做出平滑、协调的运动。 在推理时,ACT 从机器人的摄像头和当前关节状态中获取一系列图像,并输出一大块未来动作(关节位置目标的短序列),而不是单个下一个动作。 机器人执行该块,然后重新查询下一个块的策略。 这种提前多步预测的设计是 ACT 的定义特征,也是它相对于简单行为克隆的大部分优势的来源。
ACT 是在 ALOHA 双手操纵系统的背景下引入的,并在以前被认为无法通过模仿学习完成的任务上取得了成功:插入电池、打开密封袋、穿针。 它的核心见解——分块动作预测减少了复合错误并平滑了轨迹——此后已被许多后续算法所采用。
动作分块的工作原理
标准行为克隆(BC)训练一种策略来预测当前观察到的下一个动作。 在推理时,预测错误会累积:每个小错误都会稍微改变机器人的状态,使其处于策略未训练的分布中,这会导致下一个预测变得更糟,依此类推。 这种复合错误是朴素BC在精细操作任务上的主要失败模式。
动作分块通过预测一系列 k 个未来动作来打破这个循环——通常是 50 Hz 的 50-100 个步骤,对应于 1-2 秒的运动。 该策略承诺该计划并在重新查询之前执行它。 因为该计划是根据单个一致的观察生成的,所以轨迹是平滑且内部一致的。 时间集成——对来自多个重新查询的重叠动作块进行平均——进一步平滑执行并减少块之间边界的抖动。
ACT架构
ACT 使用 CVAE(条件变分自动编码器)架构。 在训练期间,编码器处理整个演示轨迹(图像、关节状态和动作),并生成一个潜在风格变量 z 来捕获演示的“风格”(快与慢、左倾与右倾方法等)。 然后,基于 Transformer 的解码器采用当前观察值、潜在 z 和位置编码,并预测动作块。 在推理时,z 设置为零(先验的平均值),使策略在给定观察的情况下具有确定性。
视觉主干通常是独立处理每个相机视图的 ResNet-18,并将生成的特征图作为令牌传递给 Transformer 解码器。 多个摄像头视图(腕式摄像头和头顶摄像头)每个都提供一个令牌流,为策略提供有关操作场景的丰富空间信息。
数据要求以及什么是好数据
在大多数已发表的结果中,ACT 的效果很好,每个任务需要 50-200 次演示。 然而,数据质量比数量更重要。 演示应该是顺利且有目的的——ACT 策略将学习数据中的任何运动模式,包括犹豫、纠正和次优方法。 SVRC的 数据采集标准 要求操作员重新开始一个情节,而不是在出现明显错误后继续,以确保训练数据集仅包含有意的、成功的行为。
相机的一致性也至关重要。 如果摄像头位置在记录会话之间发生变化,则策略学到的视觉特征将不再与部署设置匹配。 使用物理安装座而不是柔性臂,并使用每个数据集记录相机校准参数。 SVRC 的多摄像机记录管道会自动执行此操作。
ACT 与行为克隆:结果
在最初的 ALOHA 任务中,在相同数据上,ACT 的成功率为 80-95%,而标准 BC 的成功率为 20-50%。 在需要精确计时、两臂之间平稳协调以及从小扰动中优雅恢复的任务中,这种改进最为明显。 在公差较简单的拾放任务中,ACT 和 BC 之间的差距缩小。 在执行速度很重要的任务上,ACT 的表现也优于扩散策略,因为基于扩散的策略每个推理步骤需要更多的计算。
使用 SVRC 数据训练 ACT
SVRC的 数据平台 以 LeRobot 兼容的 HDF5 格式导出数据集,这是开源 ACT 训练代码的标准输入格式。 下载数据集后,训练基线 ACT 策略需要具有至少 16 GB VRAM 的 GPU,并且单个任务需要大约 8 小时的训练。 SVRC 工程支持可帮助团队配置训练运行、调整块大小和学习率以及评估策略性能。 有关收集您自己的数据的硬件,请参阅我们的 硬件目录 或探索 机器人租赁选项.