24年6月来自上海姚期智研究院、上海交大、清华和上海AI实验室的论文“3D Diffusion Policy: Generalizable Visuomotor Policy Learning via Simple 3D Representations”。
模仿学习为教授机器人灵巧技能提供了一种有效的方法;然而,稳健且可泛化地学习复杂技能通常需要大量的人工演示。为了解决这个具有挑战性的问题,提出 3D 扩散策略 (DP3),这是一种视觉模仿学习方法,它将 3D 视觉表征的强大功能融入扩散策略(一类条件动作生成模型)。DP3 的核心设计是利用紧凑的 3D 视觉表征,其通过高效的点编码器从稀疏点云中提取。在涉及 72 项模拟任务的实验中,DP3 仅用 10 次演示就成功处理了大多数任务,并以 24.2% 的相对改进超越了基线。在 4 个真实的机器人任务中,DP3 展示精确的控制,每个任务仅需 40 次演示就能以 85% 的高成功率实现,并且在空间、视点、外观和实例等不同方面表现了出色的泛化能力。有趣的是,在真实的机器人实验中,DP3 很少违反安全要求,而基线方法则经常违反安全要求,需要人工干预。
如图所示:3D 扩散策略 (DP3) 是一种视觉模仿学习算法,它将 3D 视觉表示与扩散策略相结合,在各种模拟和现实世界任务中实现了令人惊讶的有效性,并具有实用的推理速度。
模仿学习提供了一种有效的方法来教授机器人各种运动技能,例如抓握 [68, 60, 82]、腿部运动 [40]、灵巧操作 [1, 16]、人形操作 [54] 和移动操作 [57, 12]。视觉模仿学习采用高维视觉观察,例如图像或深度图,减轻了对特定任务状态估计的需求,因此获得了普及 [10, 60, 82, 11, 20]。
然而,视觉模仿学习的普遍性是以大量演示为代价的 [16, 10, 11]。例如,最先进的方法扩散策略 [10] ,需要为每个现实世界任务收集 100 到 200 个人工演示。为了收集所需的大量演示,整个数据收集过程可能要持续数天,因为它具有长期性和易出错性。一种解决方案是在线学习 [16],其中策略通过与环境的交互和从专家演示中学习到的奖励函数不断发展。然而,现实场景中的在线学习带来了自身的挑战,例如安全考虑、自动重置的必要性、人工干预和额外的机器人硬件成本。因此,如何使(离线)模仿学习算法以尽可能少的演示来学习稳健且可推广的技能是一个基本问题,尤其是对于实际的现实世界机器人学习而言。
扩散模型是一类生成模型,它逐步将随机噪声转换为数据样本,在高保真图像生成方面取得了巨大成功 [23, 63, 51, 62]。由于其令人印象深刻的表现力,扩散模型最近已应用于机器人技术领域,包括强化学习 [70, 2]、模仿学习 [10, 39, 50, 72, 64, 41]、奖励学习 [25, 37]、抓取 [71, 66, 61] 和运动规划 [52, 27] 等领域。
模仿学习为机器人提供了一种获得类似人类技能的有效方法,通常依赖于专家演示中的大量观察-动作对。鉴于准确估计现实世界中物体状态的挑战,图像等视觉观测已成为一种实用的替代方案。虽然基于 2D 图像的策略 [38、11、10、35、16、56、68、15] 占据了该领域的主导地位,但 3D 的重要性越来越受到认可 [60、82、80、14、13、28、69]。最近基于 3D 的策略,包括 PerAct [60]、GNFactor [82]、RVT [14]、ACT3D [13] 和 NeRFuser [74],在低维控制任务中取得了显着进步。然而,这些工作面临两个主要挑战:
1)不切实际的环境。这些方法使用关键帧姿势提取将模仿学习问题转换为预测和规划范例。虽然有效,但这种公式不太适合高维控制任务。
2)推理速度慢。这些方法的复杂架构导致推理速度慢。例如,PerAct [60] 的推理速度为 2.23 FPS,很难处理需要密集命令的任务,例如高度动态的环境。另一项密切相关的工作 3D Difuser Actor [28] 以 1.67 FPS 运行,主要是由于对语言tokens的使用和任务设置的差异。
让机器人拥有类似人类的操控技能,一直是机器人研究人员追求的目标。强化学习是这一努力的关键工具,它使拥有灵巧双手的机器人能够掌握各种任务,例如倒水 [47, 81]、开门 [49, 21, 8]、旋转物体 [44, 76, 78, 45]、重新定向物体 [18, 7, 6]、旋转笔 [33]、抓取工具 [1]、执行交接 [83, 24] 和搭建乐高积木 [9]。模仿学习提供了另一条途径,DIME [3] 和 DexMV [47] 等方法通过重定位和从人类视频中学习,将人类手部动作转化为机器人动作。
**3D 扩散策略(DP3)**主要由两个关键部分组成:(a)感知;DP3 使用点云数据感知环境,并使用高效的点编码器将这些视觉观测处理为视觉特征;(b)决策;DP3 利用富有表现力的扩散策略 [10] 作为行动制定的主干,根据 3D 视觉特征生成动作序列。如图所示。上图:在训练阶段,DP3 使用专家演示以端到端的方式同时训练其感知模块和决策过程。在评估期间,DP3 根据对环境的视觉观测确定动作。下图:DP3 通过单视角点云感知其环境。轻量级 MLP 编码器将它们转换为紧凑的 3D 表示。随后,DP3 使用基于扩散的主干生成以这些 3D 表示和机器人状态为条件的动作。
用点云表示 3D 场景。3D 场景可以用不同的方式表示,例如 RGB-D 图像、点云、体素 [7]、隐式函数 [36] 和 3D 高斯 [29]。其中,DP3 使用稀疏点云作为 3D 表示。与其他显式表示(例如 RGB-D、深度和体素)相比,点云被发现更有效。
对于模拟和现实世界,从单个摄像机获得大小为 84 × 84 的深度图像。然后,用摄像机外部参数和内部参数将深度转换为点云。不使用颜色通道以获得更好的外观泛化。
点云处理。由于从深度转换的点云可能包含冗余点,例如来自桌子和地面的点,因此裁剪掉这些点,只留下边框内的点。
通过最远点采样(FPS,[42])进一步下采样点,与均匀采样相比,这有助于充分覆盖 3D 空间并降低点云采样的随机性。在实践中,我们发现下采样 512 或 1024 个点足以完成模拟和现实世界中的所有任务。
将点云编码为紧凑表示。用轻量级 MLP 网络将点云编码为紧凑的 3D 表示。该网络称为 DP3 编码器,概念上很简单:它由一个三层 MLP、一个最大池化函数(作为一个阶等价操作去池化点云特征)和一个投影头组成,用于将特征投影到紧凑向量中。LayerNorm 层交错以稳定训练 [22]。最终的 3D 特征表示为 v,只有 64 维。这种简单的编码器甚至可以胜过预训练的点编码器 (如 PointNeXt [46]),这与 [20] 的观察结果一致,在视觉运动控制任务中,设计合理的小型编码器比预训练的大型编码器表现更好。
条件动作生成。DP3 中的决策模块被表述为条件去噪扩散模型 [23, 10, 39],该模型以 3D 视觉特征 v 和机器人姿势 q 为条件,然后将随机高斯噪声去噪为动作 a。具体来说,从高斯噪声 aK 开始,去噪网络 εθ 执行 K 次迭代,逐渐将随机噪声 aK 去噪为无噪声动作 a0。
训练目标。为了训练去噪网络 εθ,从数据集中随机抽取一个数据点 a0,并对该数据点进行扩散过程 [23],以获得第 k 次迭代 εk 处的噪声。训练目标是预测添加到原始数据的噪声。
用基于卷积网络的扩散策略 [10]。DDIM [62] 作为噪声调度器,并使用样本预测而不是 epsilon 预测来更好地生成高维动作,训练时使用 100 个时间步,推理时使用 10 个时间步。由于 Meta-World 任务简单易用,训练 1000 个 epoch,其他模拟和真实世界任务训练 3000 个 epoch,DP3 和所有基线的批处理大小均为 128。
专家演示中,DexDeform 使用人类遥控数据;MetaWorld 使用脚本策略;其他领域的轨迹由经过强化学习 (RL) 算法训练的智体收集,其中使用 VRL3 [67] 用于 Adroit;所有其他领域均使用 PPO [53]。用 RL 智体生成成功的轨迹,并确保所有模仿学习算法都使用相同的演示。
对于模拟实验,总共收集了 7 个领域的 72 个任务,涵盖了各种机器人技能。这些任务范围,从双手操作 [8]、可变形体操作 [31] 和铰接式物体操作 [5] 等具有挑战性的场景,到平行夹持器操作 [77] 等简单任务。这些任务是使用不同的模拟器构建基准测试不受模拟器选择的限制。MetaWorld [77] 中的任务根据 [55] 分为不同的难度级别。