发表时间:23 Apr 2023
作者单位:Stanford University
Motivation:人类也没有工业级本体感觉[71],但我们能够通过从闭环视觉反馈中学习并主动补偿错误来执行精细的任务。对于细粒度的操作任务,执行这些任务通常需要高端机器人、精确的传感器或仔细的校准,这可能昂贵且难以设置。能否通过机械臂实现低成本和不精确的硬件来执行这些精细的操作任务?
解决方法:我们提出了一个低成本的系统,该系统直接从真实的演示中执行端到端模仿学习,使用自定义远程操作接口收集。然而,模仿学习提出了其自身的挑战,特别是在高精度领域:策略中的错误会随着时间的推移而复合,人类演示可能是非平稳的。为了应对这些挑战,我们开发了一种简单而新颖的算法,Action Chunking with Transformers (ACT),该算法学习动作序列的生成模型。
实现方式:我们为数据收集构建了一个低成本但灵巧的远程操作系统,以及一种新颖的模仿学习算法,可以有效地从演示中学习。
Teleoperation system:
我们设计了一个具有两组低成本、现成的机械臂的遥操作设置。它们是彼此的近似缩放版本,我们使用联合空间映射进行远程操作。
Imitation learning algorithm:
模仿学习存在的问题:预测动作中的小错误会导致状态的巨大差异,加剧了模仿学习的“复合错误”问题。
为了解决这个问题,我们从action chunking动作分块中获得灵感,这是心理学中的一个概念,它描述了动作序列如何组合在一起作为一个块,并作为一个单元执行。在我们的例子中,该策略预测下一个 k 个时间步的目标关节位置,而不是一次只预测一个步骤。这将任务的有效范围减少了 k 倍,减轻了复合错误。预测动作序列也有助于解决时间相关的混杂因素[61],例如难以使用马尔可夫单步策略建模的演示中的停顿。
为了进一步提高策略的平滑度,我们提出了时间集成temporal ensembling,它更频繁地查询策略并在重叠的动作块上取平均值。我们使用 Transformer [65] 实现动作分块策略,这是一种为序列建模而设计的架构,并将其训练为条件 VAE (CVAE) [55, 33] 以捕获人类数据的可变性。(统一目标的实现方式可以是不一样的,所以采用VAE的生成方式,模型每次生成的也可能是不一样的,但是能达到目的)
ACTION CHUNKING WITH TRANSFORMERS:
-
Action Chunking and Temporal Ensemble:
Action Chunking:我们受到动作分块的启发(动作分块就是将动作拆分为一个个的执行单元),这是一个神经科学概念,其中单个动作被组合在一起并执行为一个单元,使它们更有效地存储和执行。在我们的实现中,我们将块大小固定为 k:每 k 步,代理接收观察,生成接下来的 k 个动作,并按顺序执行动作。每k步agent接收一个观察,并生成下一组k个动作,然后依次执行这些动作。这意味着任务的有效视界减少了k倍。具体来说,策略模型πθ (at:t+k|st)而不是πθ (at|st)。
Temporal Ensemble:为了提高平滑度并避免执行和观察之间的离散切换,我们在每个时间步查询策略。这使得不同的动作块彼此重叠,并且在给定的时间步中,将有多个预测动作。我们的时间集成使用指数加权方案 wi = exp(−m ∗ i) 对这些预测执行加权平均,其中 w0 是最古老动作的权重。合并新观察的速度由 m 控制,其中较小的 m 表示更快的合并。我们注意到,与典型的平滑不同,当前动作与相邻时间步中的动作聚合,这会导致偏差,我们聚合为同一时间步预测的动作。此过程还不会产生额外的训练成本,只是额外的推理时间计算。
-
Modeling human data:
另一个出现的挑战是从嘈杂的人类演示中学习。给定相同的观察,人类可以使用不同的轨迹来解决任务。在精度不太重要的地区,人类也将更加随机[38]。因此,该策略对于专注于高精度很重要的区域非常重要。我们通过训练我们的动作分块策略作为生成模型来解决这个问题。
我们将策略训练为条件变分自动编码器 (CVAE) [55],以生成以当前观察为条件的动作序列。CVAE 有两个组件:CVAE 编码器和 CVAE 解码器:CVAE 编码器仅用于训练 CVAE 解码器(策略),并在测试时被丢弃。具体来说,CVAE 编码器在给定当前观察和动作序列作为输入的情况下,预测风格变量 z 分布的均值和方差,该分布参数化为对角高斯。为了endcoder能在实践中更快的训练,我们省略了图像观察,只取决于本体感觉观察和动作序列。在测试时,我们将 z 设置为先验分布的平均值,即零。训练整个模型以最大化演示动作块的对数似然。具有两项的标准 VAE 目标:重建损失和将编码器正则化为高斯分布。
-
Implementing ACT
模型结构:我们将 ACT 训练为具有编码器和解码器的条件 VAE (CVAE)。左:CVAE 的编码器将动作序列和联合观察压缩为 z,即样式变量。编码器在测试时被丢弃。右图:ACT的解码器或策略使用变压器编码器从多个视点、关节位置和 z 合成图像,并使用变压器解码器预测一系列动作。z 在测试时简单地设置为先验(即零)的平均值。
训练与推理过程:
Detailed Architecture Diagram:
实验:we build two simulated fine manipulation tasks in MuJoCo [ 63], in addition to 6 real-world tasks with ALOHA.
数据收集:对于所有 6 个现实世界的任务,我们使用 ALOHA 远程操作收集演示。人类操作员根据任务的复杂性执行每一集需要 8-14 秒,考虑到 50Hz 的控制频率,这转化为 400-700 个时间步长。我们记录了每个任务的 50 个演示,除了具有 100 的 Thread Velcrof。因此,由于重置和远程操作员错误,每个任务的演示总量约为 10-20 分钟,wall-clock time(实际人操作收集数据的时间)时间约为 30-60 分钟。
结论:局限性:
-
多手指的任务干不了:ALOHAstruggles with tasks that require multiple fingers from both hands
-
需要较大力量的任务干不了:ALOHA also struggles with tasks that require high amount of forces, for example lifting heavy objects, twisting open a sealed bottle of water, or opening markers caps that are tightly pressed together