25年3月来自 UT Austin、Nvidia、UC Berkeley 和纽约大学的论文“Sim-and-Real Co-Training: A Simple Recipe for Vision-Based Robotic Manipulation”。
大型现实世界机器人数据集在训练通才机器人模型方面拥有巨大潜力,但扩展现实世界人类数据收集既耗时又耗资源。模拟在补充大规模数据方面潜力巨大,尤其是随着生成式人工智能和自动化数据生成工具的最新进展,这些工具能够实现机器人行为数据集的可扩展创建。然而,仅在模拟环境中训练策略并将其迁移到现实世界通常需要大量的人力来弥合现实差距。一个引人注目的替代方案,是使用模拟和现实世界数据集的混合数据对策略进行协同训练。最近的初步研究表明,与使用有限量现实世界数据训练的策略相比,这种策略可以显著提高策略的性能。然而,业界对模拟和现实世界协同训练缺乏系统的理解,以及如何将模拟数据的优势应用于真实机器人学习。本研究提出一种方法用于利用模拟数据解决基于视觉的机器人操作任务。通过全面的实验,在各种模拟和现实世界数据集上验证协同训练策略,从而得出这一方法。
跨不同环境和任务进行泛化的能力,是实现通才机器人系统的关键一步。机器人基础模型 [1]–[3] 的最新进展(在网络规模的视觉语言数据集和机器人特定数据集的混合上训练)已展示出跨域泛化的巨大潜力。大型现实世界机器人数据集 [4]、[5] 体现了这种多样性,是重要的数据来源。尽管取得了这些进展,但在实现可靠的现实世界部署方面仍然存在挑战。为了弥补这一差距,最近人们在收集更大规模的真实机器人数据集方面做出了多项努力 [1]、[6]。这些工作展示了数据驱动方法在获得多功能机器人技能方面的潜力。然而,它们涉及相当大的成本、时间和可扩展性挑战,而且仅扩展现实世界的数据收集是否足以训练通用机器人模型仍不清楚。
行为克隆 [26] 是一种广泛采用的方法,用于从演示数据 [27]–[37] 中学习机器人策略。在该框架下,策略经过训练,能够根据演示数据集中提供的真实状态-动作对来预测动作。该方法已广泛应用于机器人操控任务 [38]–[49]。然而,它在实际应用中的成功通常取决于能否获得大量高质量的演示数据,而这些数据的收集成本可能高得令人望而却步。
模拟是一种有前途的替代方法,可以缓解大型模型的数据匮乏。近年来,生成式人工智能工具的激增使得在模拟环境中自动生成资产、场景和任务成为可能,所有这些都可以通过高保真物理模拟器和逼真的渲染器 [7]、[8] 来实现。此外,自动化数据生成工具可以应用于这些模拟环境,以最少的人力投入合成大量多样化、高质量的机器人轨迹 [9]–[12],从而为通用操作策略提供海量训练数据。然而,使用模拟数据的方法必须处理现实差距,因为模拟中的视觉效果和物理效果与现实世界并不完全一致。先前的模拟-到-现实策略迁移方法,通常依赖于对模拟进行大量调整以匹配现实世界 [13]–[17],或精心随机化一组特定的模拟参数 [18]–[22]。这些方法可能需要大量的人力投入。
模拟-到-现实迁移一个引人注目的替代方案,是直接在模拟和现实世界数据的混合上共同训练策略。近期研究 [7]、[23]、[24] 中的初步结果表明,与单独使用真实数据相比,以这种方式整合模拟数据可以显著提升策略性能。此外,模拟-真实协同训练可能不需要模拟与现实之间高度的一致性,而模拟-真实迁移通常需要这种一致性,这使得它成为一种以最少的人力投入挖掘大型合成数据集潜力的有前景策略。尽管前景光明,但业界对这一策略以及如何将模拟数据的优势应用于真实机器人学习,缺乏系统的理解。目前尚不清楚模拟数据与真实数据究竟有多大差异,以及哪种类型的数据集混合和组合才是理想的。
模拟-到-现实的迁移,一种流行的方法是域随机化 [18]–[22]、[50]、[51],它将可变性引入模拟环境,以训练能够应对模拟与现实差异的策略。然而,域随机化方法可能需要仔细调整,并且需要大量的人力来确定适当的参数随机化范围,从而使策略能够迁移到现实世界。另一种常见方法是通过提高模拟保真度以更紧密地匹配现实世界,从而最大限度地缩小模拟到现实的差距。系统识别 [13]–[17]、[52]–[54] 和数字孪生创建 [55]、[56] 等技术旨在使模拟动态与现实世界条件更紧密地契合。这些方法通常需要大量的人力投入,因此不适用于各种任务和环境。相反,最近的研究使用模拟和现实世界数据的混合来训练现实世界的操作策略 [3],[7],[23],[24],[57],并且表现出比单独使用相同数量的真实数据更好的性能。此外,这些方法中的模拟数据不一定需要与现实世界完全一致,这使得它成为其他方法的一个引人注目的替代方案。
最近的研究 [58]、[59] 强调了数据集组合在机器人学习中的重要性,特别是在理解数据质量和多样性的变化如何影响策略泛化方面 [60]、[61]。Mimi-cLabs [62] 等研究进行了大规模分析,以确定哪些类型的数据可以最大限度地提高机器人数据集的效用并改善下游策略性能。
本研究提出一种简单的方法,用合成模拟数据集补充真实机器人数据集,以促进真实机器人基于视觉的操控策略学习。该工作系统地研究模拟-和-现实的协同训练。用两种具有不同对齐程度的模拟数据源来检验共同训练现实世界策略的有效性:任务-觉察的数字表亲 [25] 和任务不可知的先验模拟,如图所示。
假设可以访问在真实环境中收集的机器人轨迹演示,D_real = {ξ_i },N 是其大小。不再仅基于现实世界中的演示来训练策略,而是从模拟环境中获取额外的演示,D_sim = {ξ_i },M 是其大小,通常 M ≫ N。在这两个数据源上训练视觉运动策略 π_θ。
采用先前研究 [7] 中的协同训练公式,其中最小化行为克隆动作损失,α ∈[0,1] 是平衡模拟数据和真实数据相对权重的协同训练比率。在实践中,使用 α 的等效公式,即在每个训练批次中从模拟数据中采样的概率。具体来说,重新加权每个样本 (o_i, a_i),使得在训练批次采样期间,从模拟数据集中提取该样本的概率为 P[(o_i, a_i) ∈ D_sim] = α,而从真实数据集中提取该样本的概率为 P[(o_i, a_i) ∈ D_real] = 1 − α。正如在实验中看到的那样,α 的选择对策略性能至关重要。最终目标是制定基于视觉的操作策略,最大化现实环境中一个或多个下游任务的性能。
D_real 和 D_sim 可以包含来自单个任务或多种任务、具体实施方式和环境的演示轨迹。为了理解构建这些数据集的特定选择如何影响协同训练的成功,有必要将这些数据集分解为一组数据构成因子。假设每个数据集都遵循因子 {Z(1), Z(2), · · · , Z(K)} 的分布,借用近期研究 [62] 中的符号。不假设模拟数据集与真实世界数据集完全一致,即对于某些因子 Z_sim^ (i) 不等同 Z_real^ (i)。尽管存在这些一致性差距,仍希望将模拟领域的知识迁移到现实世界任务中,以学习更有效的策略 π。
模拟的一个关键优势是易于数据收集——利用自动合成数据生成工具来生成大型、高质量的模拟数据集,并将它们与较小的真实世界数据集一起用于联合训练。对于模拟中的每个任务,首先收集数十个源人类演示。然后,使用 MimicGen [9] 来大规模生成大型合成轨迹数据集。对于双手机器人和人形机器人,使用 DexMimicGen [10],一种建立在 MimicGen 之上的方法。该过程如下。首先,将这些源演示分割成一系列以物体为中心的片段。然后,(Dex)MimicGen 通过对选定的源演示段应用线性变换并连接这些变换后的段,以形成新的轨迹来生成新的演示。通过利用这些方法,可以使用物理模拟将轨迹的数量增加几个数量级。
目标是开发一种简单的方法,用于在真实机器人和模拟数据上进行协同训练,从而显著提升真实世界的策略性能,相比单纯使用真实数据进行训练。主要关注以下两种场景:
(1) 使用先验的大规模模拟数据进行协同训练。能否将现有的大型先验模拟数据集用作协同训练数据?需要注意的是,这些数据集在视觉特征、任务语义和行为方面通常与现实世界存在显著差异。这里感兴趣的是了解这些数据集在多大程度上能够帮助在学习下游真实世界任务时,即使存在这些域差异。
(2) 使用任务-觉察模拟数据进行协同训练。基于对真实世界任务的了解,可以创建与真实世界任务更加匹配的定制模拟数据集。然而,调整模拟环境以使其与真实世界环境精确匹配是不切实际的。哪些数据构成因素对于模拟环境和真实世界设置之间的协调最为重要?能否放弃完美的协调,从而减少人力投入?
如图所示其工作流程概述,包括真实世界设置、模拟流水线和联合训练程序。
真实世界领域
寻求一种能够广泛适用于各种具身、任务和环境的协同训练方案。为此,对两个不同的领域进行全面的研究,每个领域都包含一个独特的机器人具身和不同的任务(如图所示):
Panda 厨房。一个真实的厨房环境,由Franka Emika Panda机器人构建。采用DROID桌面硬件配置[6],并进行一些细微的修改。实验三个真实世界任务,并为每个任务收集50个真人演示:
CounterToSinkPnP:将一个物体从柜台移到水槽。此任务包含九个形状各异的物体类别:罐头、杯子、咖啡杯、水瓶、柠檬、大蒜、碗、燕麦棒和梨。
CounterToCabPnP:将一个物体从柜台移到橱柜。此任务包含八个物体类别。
CloseDoor:关闭高架橱柜的门。
人形机器人桌面。一个包含 Fourier GR-1 人形机器人的真实桌面环境。使用一个基于 Mink 的 [63] IK 控制器控制机器人。使用安装在人形机器人头部的第一人称视角 RGB 摄像头。选择三个任务,并为每个任务收集 20 个人类演示。
CupPnP:将杯子从盘子移到桌子上。
MilkPnP:将一盒牛奶从桌子上移到架子的第二层。
Pouring:拿起一个装有乒乓球的杯子,将球倒入桌上的碗中。
该研究立足于现实世界——通过直接评估这些真实任务的策略来比较不同协同训练方法的有效性。
先验与任务无关的模拟数据
利用合成生成的数据来补充真实机器人数据集,以进行策略训练。一种方法是直接与现有的大规模模拟数据集或先验与任务无关的模拟数据集进行联合训练。将先验与任务无关的模拟数据集定义为在创建下游真实世界任务之前存在的任何模拟数据集。为了直接联合训练,使用包含相同机器人实施和动作空间的先验与任务无关的数据集,但这不是严格要求。否则,假设这些数据集涵盖广泛的任务和环境。有兴趣使用这些开箱即用的数据集进行联合训练,而无需花费额外的精力在模拟中设计新任务和收集新数据。这些数据集可能与现实世界的数据存在许多差异,但它们提供一种简单方便的利用模拟数据方法。本文使用以下先验模拟数据集:
Panda 厨房。使用多任务 RoboCasa 数据集 [7]。选择 RoboCasa 是因为它专注于厨房环境、场景和任务种类繁多,并且拥有大量机器人数据。此外,Nasiriany [7] 的初步发现表明,与模拟数据共同训练有助于在现实世界的厨房环境中进行迁移。该数据集包括 24 个任务和 100 个场景中的 72k 个演示;对于每个任务,使用 MimicGen 数据生成系统 [9] 从 50 个源人类演示中生成 3,000 个演示。注:其中三个任务在语义上对应于现实世界任务,但与现实世界设置存在显着差异,包括初始机器人关节位置、控制器参数、物理参数、目标类别和机器人基准位置。
模拟数据和现实世界数据之间的相机对齐差异可能是一个重大差异。通过重渲染模拟演示来解决这一差异,使其与真实世界设置的相机姿态大致匹配。注:这并不代表完美对齐,但正如实验中所证明的那样,它仍然有很大帮助。除了这个简单的后处理操作之外,不会对先验数据做任何其他更改。
人形机器人桌面。为了镜像厨房领域的设置,在 RoboCasa 中创建一个与任务无关的先验数据集,其中包含 10 个任务,涉及一个厨房台面和一个 GR-1 机器人。每个任务都涉及从源容器抓取指定物体并将其放入目标容器(例如,从碗到篮子)。虽然先验的任务和数据集在语义上与真实世界设置相似,但它们是独立开发的,并且涉及许多差异,例如目标类别、视觉纹理、干扰物体和物理参数。这 10 个任务在语义上与现实世界中的任务并不等同——它们涉及不同的源和/或目标容器。使用 DexMimicGen [10](一个基于 MimicGen 构建的、适用于人形机器人和其他双手机器人的数据生成框架)从数十个人类演示中合成机器人轨迹。为每个任务生成 1,000 个演示,总共 10,000 个演示。
构建任务-觉察模拟数据集
前面介绍的任务和数据集可能与现实世界任务存在诸多差异,这可能会限制它们的实用性。或者,可以投入更多精力,在模拟环境中创建与现实世界任务更加契合的自定义任务。创建现实世界任务的完美数字孪生[55]、[56]、[64]副本极具挑战性,需要大量的手动调整、系统识别以及获取相同的3D资产。因此,选择在模拟环境中创建具有相同任务语义(即环境中的目标类别和相同行为)的任务。将这些任务称为任务-觉察的数字表亲。“数字表亲”一词最近由 Dai [25]提出,用来描述与现实世界对应物接近但并非完全一致的模拟环境。对此概念进行更精确的定义扩展:任务-觉察的数字表亲,是一个保留了现实世界任务四个关键要素的模拟数据集:
- 相同的机器人和动作空间;
- 相同的任务目标——具体来说,相同的成功率检验,以及(如果适用)相同的语言指令;
- 相同的物体类别,尽管单个实例的几何形状或纹理可能有所不同;
- 相同的环境固定装置类别(例如,厨房台面、桌面、橱柜门)。
如下概述创建这些任务的努力:
Panda 厨房。现实世界中的 Panda 厨房任务已在 RoboCasa 先验数据集中有所体现,但如前面所述,存在一些差异。概述对任务和数据集所做的更改:首先,调整机器人关节的初始状态分布和模拟中的机器人基座位置,以匹配真实环境。此外,将任务中的目标限制为 10 个目标类别的精选列表,其中包含现实世界 CounterToSinkPnP 任务中使用的所有 9 个目标类别。这与先验数据集形成对比,在先验数据集中,提供 66 个可能的目标类别,范围更广。对于每项任务,随后收集 100 个源人类演示。最后,使用 MimicGen 为每个任务生成 10,000 个演示。这与先验数据集形成对比:在每个任务中收集 50 个源人类演示,并使用 MimicGen 为每个任务生成 3,000 个演示。
人形机器人桌面。对于该领域的三个任务,在 RoboCasa 中构建真实世界环境的数字表亲。在每个真实世界任务中,都使用一组固定的目标进行数据收集和评估。然而,在数字表亲中,会从与真实世界任务相同的类别中随机选择目标,以增加模拟演示的多样性。此外,调整机器人的初始姿态和摄像机位置,以紧密复制真实世界的设置。然后,收集 10 个源演示,并使用 DexMimicGen [10] 为每个任务生成 1,000 条轨迹。
训练和评估方案
在研究中,比较使用不同形式的现实世界和模拟数据进行协同训练的效果。对于每个任务,可以访问以下形式的数据:
现实世界数据 (Real):在现实世界中为目标任务收集的演示。
先验模拟数据 (Prior):任务无关模拟数据。
任务-觉察数字表亲数据 (DC):合成模拟数据。
通过在数据上联合训练策略,并在实际任务上评估生成的策略,来比较这些数据集的各种组合。使用 Chi [37] 的扩散策略实现来训练视觉运动策略。该策略以 RGB 图像和机器人本体感受信息作为输入,并生成一系列要执行的动作。训练结束后,会通过多次试验评估该策略,并记录成功率。
训练细节如下。
Panda 厨房。采用 Chi [37] 提出的开源扩散策略实现。使用基于 Transformer 的变型,并结合 ResNet 视觉编码器。该策略采用三个 128 × 170 的图像视图和机器人本体感受信息(末端执行器位置和旋转、夹持器关节值),并输出一个 7 自由度动作,用于增量末端执行器控制和夹持器动作。修改超参,使用更大的 Transformer 网络和更大的 256 批次大小。还添加语言条件,以便于在多样化的多任务数据上进行训练;使用 CLIP 句子编码器对语言进行编码,并在视觉编码器中添加 FiLM 条件层 [71]。将真实数据和模拟数据的默认协同训练比例分别设置为 0.10 和 0.90。这样做是因为拥有的模拟演示数量明显高于真实演示。
对于大小为 B 的训练批次,平均从模拟数据集 D_sim 中提取 α · B 个样本,从真实世界数据集 D_real 中提取 (1−α)·B 个样本。为了实现这一点,重新加权每个数据样本,使得 P[(o_i,a_i) ∈ D_sim] = α 和 P[(o_i,a_i) ∈ D_real] = 1 − α,其中 (o_i, a_i) 表示批次内的观察-动作对。通过首先根据数据集的大小对每个样本的权重进行归一化来实现这一点,然后如果样本属于 D_sim,则将归一化的权重乘以 α,如果属于 D_real,则乘以 1 − α。
人形机器人桌面。由于在要操作的目标方面没有歧义,使用没有语言条件的扩散策略 (DP),并为每个任务训练一个策略。使用 UMI [72] 的 DP 实现,以 Vision Transformers [73] 作为视觉编码器,UNet [74] 作为扩散主干。输入观测包含来自第一人称视角相机的 RGB 图像和关节位置观测。输出动作是手臂和灵巧手的目标关节位置。协同训练比率 α 为 0.9 和 0.99 时效果最佳,其余实验均采用 0.99。
根据实证研究结果,本文提供一系列建议,以帮助从业者从与合成模拟数据共同训练中获益。
任务和场景构成。当与来自任务-觉察数字表亲的模拟数据共同训练时,可以观察到最大的性能提升,其中任务和场景构成与现实世界的设置非常相似。尽管如此,与大量多任务先验模拟数据共同训练 - 尽管任务和场景构成存在差异 - 仍然提供有意义的好处。
目标构成和初始化分布。在模拟数据中合并不同的目标并改变它们的位置有助于将现实世界的策略泛化到未见过的场景。
任务-觉察数字表亲与现实世界之间的对齐。模拟任务必须与现实世界的任务具有相同的定义和成功标准。此外,在模拟和现实世界设置之间保持相似的摄像机视点可以提高性能,尽管不需要完全对齐。
共同训练超参。使用足够大量的模拟数据(理想情况下,比真实世界数据多几个数量级)并仔细调整共同训练比率以优化性能。
虽然对桌面操纵器和人形机器人的多项任务进行了系统研究,但大多数任务都围绕着拾取和放置。将该方法泛化到更广泛的操纵任务,如高精度插入和更长远的任务,还有待未来的研究。
虽然与单纯基于真实机器人数据收集的训练相比,协同训练方法不断提高成功率,但该策略的性能仍然不完美。未来的努力可以在此基础上进一步提高真实世界的性能。
最后,某些真实世界的任务——特别是涉及可变形体和液体的任务——仍然难以准确模拟,这本身就限制了模拟数据的适用性。将这种协同训练策略应用于此类任务是一个挑战。
未来的工作可以探索使用视频生成模型和世界模型 [66]–[68] 生成的协同训练数据来弥补这一差距。