ACT:Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware

ACT:Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware 以下是对经典模仿学习ACT论文的阅读学习摘要—精细操作任务例如穿线扎带或开槽电池对机器人而言尤为困难因为这类任务需要高精度、精确的接触力协调以及闭环视觉反馈。通常完成这些任务需要高端机器人、高精度传感器或复杂的校准过程这不仅成本高昂而且设置困难。学习能否使低成本且不精确的硬件也能完成这些精细操作我们提出了一种低成本系统能够直接从真实演示中进行端到端模仿学习演示数据通过定制的远程操作界面采集。然而模仿学习本身也面临挑战尤其是在高精度领域策略中的误差会随时间累积而人类示范可能具有非平稳性。为解决这些问题我们开发了一种简单却新颖的算法——基于Transformer的动作分块ACT用于学习动作序列的生成模型。ACT仅需10分钟的演示数据即可让机器人在现实世界中完成6项难度较高的任务例如打开半透明调味品杯和开槽电池成功率达到80%至90%。ACTION CHUNKING WITH TRANSFORMERS现有的模仿学习算法在需要高频控制和闭环反馈的细粒度任务上表现不佳。因此我们提出了一种名为“基于Transformer的动作分块ACT”的新算法以充分利用ALOHA收集的数据。首先我们概述了ACT训练的流程然后深入探讨其中的各项设计选择。为了训练ACT处理新任务我们首先使用ALOHA收集人类操作者的示范动作。我们将领航机器人即人类操作员的关节位置记录下来并将其作为动作输入。使用领导者的位置而非跟随者的位置非常重要因为通过底层PID控制器施加的力大小隐含地由两者之间的差值决定。观测数据由跟随机器人当前的联合位置以及4个摄像头的图像输入组成。接下来我们训练ACT来根据当前观测预测未来动作的序列。此处的动作对应于下一步中双臂的目标关节位置。直观地说ACT 试图根据当前观测在接下来的时间步中模仿人类操作者的行为。这些目标关节位置随后由Dynamixel电机内部的低级高频PID控制器进行跟踪。在测试时我们加载能够实现最低验证损失的策略并将其应用于环境中。主要出现的挑战是累积误差即先前动作产生的误差导致状态偏离训练分布。A. 动作分块与时间性集合为了以与像素到动作策略兼容的方式对抗模仿学习的累积误差图II我们旨在缩短高频采集的长期轨迹的有效时间范围。我们受到“动作分块”这一神经科学概念的启发该概念将单个动作组合成一个整体进行执行从而提高存储和执行的效率[35]。直观地说一组动作可能对应着抓取糖果包装纸的某个角落或把电池插入插槽。在我们的实现中我们将分块大小固定为k每经过k步智能体接收一个观测值生成接下来的k个动作并按顺序执行这些动作图5。这意味着任务的有效视距减少了k倍。具体而言策略模型 πθ(a_t:tk|s_t))) 而不是 πθ(at|st)。分块方法还可用于建模人类演示中的非马尔可夫行为。具体而言单步策略难以处理时间相关性干扰因素例如演示过程中出现的中断[61]因为该行为不仅取决于状态还取决于时间步长。动作分块可以在混杂因素位于分块内时缓解这一问题同时不会为历史条件策略引入因果混淆问题[12]。普通的行动分块实现可能效果不佳每k步突然引入一个新的环境观测可能导致机器人运动出现抖动。为了提高运动平滑性并避免在执行与观察之间进行离散切换我们会在每一时刻步长都查询策略。这使得不同的行动分块相互重叠在某一时刻步长内将有多个预测动作。我们如图5所示并提出一种时间上的集成方法来组合这些预测结果。我们的时间集成方法对这些预测进行加权平均采用指数加权方案 wi exp(−m ∗ i)其中 w0 是最旧动作的权重。引入新观测的速度由参数 m决定m越小表示引入速度越快。我们注意到与通常的平滑方法不同——后者会将当前动作与相邻时间步长的动作进行汇总从而引入偏差——我们对同一时间步长内预测出的动作进行汇总。该方法也无需额外的训练成本仅需增加推理时间计算。在实践中我们发现动作分块和时间序列集成对于ACT的成功都至关重要能够生成精确且平滑的动作。B. 人类数据建模另一个挑战是学习来自嘈杂的人类演示。在相同观测条件下人类可能使用不同的轨迹来完成任务。此外在精度要求较低的区域人类的行为也会更具随机性[38]。因此策略应重点关注那些对精度要求较高的区域。我们通过将动作分块策略训练为生成模型来解决这个问题。具体而言我们采用条件变分自编码器CVAE[55]] 来训练策略以根据当前观测结果生成动作序列。CVAE由两个部分组成一个CVAE编码器和一个CVAE解码器分别位于图4的左右两侧。CVAE编码器仅用于训练CVAE解码器即策略在测试时被丢弃。具体而言CVAE编码器以当前观测值和动作序列作为输入预测风格变量z分布的均值和方差该分布参数化为对角高斯分布。为了在实践中加快训练速度我们省略图像观测仅对本体感觉观测和动作序列进行条件建模。为了在实践中加快训练速度我们省略图像观测仅对本体感觉观测和动作序列进行建模。CVAE解码器即策略同时基于z值和当前观测图像与关节位置来预测动作序列。CVAE解码器即策略同时基于z和当前观测值图像与联合位置来预测动作序列。在测试时我们将 z 设为先验分布的均值即零以确定性地解码。整个模型被训练以最大化演示动作片段的对数似然即使用标准的VAE目标函数该函数包含两个部分重构损失和一个用于将编码器正则化为高斯先验的项。根据[23]我们用超参数β对第二项进行加权。直观地讲β越大z中传递的信息就越少[62]。总体而言我们认为CVAE目标对于从人类演示中学习精确任务至关重要。C. 实施ACT我们使用Transformer实现CVAE的编码器和解码器因为Transformer既可用于在序列中合成信息也可用于生成新的序列。CVAE 编码器采用类似 BERT 的 Transformer 编码器实现[13]。编码器的输入包括当前关节位置以及从演示数据集中提取的长度为 k 的目标动作序列且在序列前添加一个类似 BERT 的学习得到的“[CLS]”标记。这样形成一个长度为 k2 的输入图4左。通过Transformer后使用与“[CLS]”相对应的特征来预测“风格变量”z的均值和方差然后将这些作为解码器的输入。CVAE解码器即策略以当前观测值和z为输入预测接下来的k个动作图4右侧。通过Transformer后使用与“[CLS]”相对应的特征来预测“风格变量”z的均值和方差然后将这些作为解码器的输入。CVAE解码器即策略以当前观测值和z为输入预测接下来的k个动作图4右侧。我们使用ResNet图像编码器、Transform编码器和Transform解码器来实现CVAE解码器。直观地Transformer编码器合成来自不同摄像机视角、关节位置和样式变量的信息并且Transformer解码器生成连贯的动作序列。观察包括4个RGB图像每个图像的分辨率为480×640以及两个机械臂的关节位置(总共7714个DOF)。动作空间是两个机器人的绝对关节位置一个14维的矢量。动作空间是两个机器人的绝对关节位置一个14维的矢量。因此对于动作组块策略输出给定当前观察的k×14张量。该策略首先使用ResNet18主干[22]对图像进行处理将480×640×3的RGB图像转换为15×20×512的特征映射。然后我们沿空间维度展平以获得300×512的序列。为了保留空间信息我们在特征序列中加入了一个2D正弦位置嵌入[8]。对所有4个图像重复此操作得到尺寸为1200×512的特征序列。然后我们添加另外两个特征当前关节位置和“样式变量”z。它们分别通过线性层从原始维度投影到512。最终Transformer encoder输入1202x512。变换解码器通过交叉注意对编码器输出条件其中输入序列为固定位置嵌入维度为k×512关键字和数值均来自编码器。这给了变换解码器k×512的输出维度然后用MLP将其向下投影到k×14对应于接下来k个步骤的预测目标关节位置。我们使用L1损失来进行重建而不是更常见的L2损失我们注意到L1损失会导致对动作序列进行更精确的建模。我们还注意到当使用增量关节位置作为动作而非目标关节位置时性能有所下降。详细架构图见附录C。我们对算法1和算法2中的ACT训练与推理过程进行了总结。该模型包含约8000万个参数每个任务均从零开始训练。在单台11G RTX 2080 Ti GPU上训练耗时约为5小时而同一设备上的推理时间约为0.01秒。消融实验A.Action Chunking and Temporal Ensembling在V-C小节中我们观察到ACT显著优于仅预测单步动作的先前方法并提出动作分块是关键的设计选择。由于k决定了每个“分块”内序列的长度我们可以通过改变k来分析这一假设。当k1时表示没有动作分块而kepisode_length则对应完全开环控制即机器人根据第一个观测结果输出整个回合的动作序列。在这些实验中我们禁用了时间序列集成仅用于测量分块效果并为每个k训练了独立的策略。图8(a)展示了4种设置下平均成功率的曲线对应2个模拟任务分别使用人工数据或脚本生成的数据其中蓝色线条代表未采用时间序列集成的ACT方法。我们观察到性能从 k 1 时的 1% 显著提升至 k 100 时的 44%随着 k 值更高性能则略有下降。这表明增加分块大小和降低有效时间范围通常能提升性能。我们把 k 200 和 400 处的轻微下降即接近开环控制状态归因于缺乏反应性行为以及难以建模长动作序列。为了进一步评估动作分块方法的有效性和普适性我们对两种基线方法进行了增强对于 BC-ConvMLP我们只需将输出维度增加到 k*action_dim对于 VINN则提取接下来的 k 个动作。我们在图8(a)中用不同的k值展示了它们的性能结果表明其趋势与ACT一致即动作分块越多性能越好。尽管ACT在显著提升性能方面仍优于所有增强型基线但这些结果表明在此类情境下动作分块对模仿学习总体上是有益的。图8(a) 我们在两种基线方法上加入了动作分块技术x轴表示不同的分块大小ky轴表示成功率。两种方法均显著受益于动作分块表明该技术具有普遍适用性。(b) 时间集成TE提升了我们的方法和BC-ConvMLP但对VINN造成了不利影响。© 我们比较了包含和不包含CVAE训练的情况结果表明从人类数据中学习时CVAE训练至关重要。(d) 我们绘制了用户研究中任务完成时间的分布情况参与者在5Hz或50Hz的遥操作频率下执行两项任务。降低频率会导致完成时间延长62%。然后我们通过比较包含或不包含时间序列集成的最高成功率在上述4项任务和不同k值下进行评估。需要注意的是包含和不包含时间序列集成的实验是分别调优的对于无时间序列集成时效果最佳的超参数在包含时间序列集成时可能并非最优。在图8(b)中我们发现BC-ConvMLP从时间序列集成中获益最多提升了4%而我们的方法其次提升3.3%。我们注意到非参数方法VINN的性能有所下降。我们推测时间序列集成主要对参数化方法有益因为它能够平滑建模误差。相比之下VINN直接从数据集中提取真实动作因此不会受到这一问题的影响。B. Training with CVAE我们使用CVAE目标训练ACT以建模人类演示行为这些行为可能包含噪声和多模态特征。在本节中我们将与不使用CVAE目标的ACT进行比较后者仅根据当前观测预测动作序列并采用L1损失进行训练。8©我们可视化了两个模拟任务的综合成功率并分别绘制了使用脚本数据和人类数据进行训练的结果。可以看出当使用脚本数据进行训练时移除CVAE目标对性能几乎没有影响因为数据集完全确定性。而使用人类数据时性能显著下降从35.3%降至2%。这表明在从人类演示中学习时CVAE目标至关重要。效果展示