25年1月来自京东、中科大、深圳大学、海尔集团、地平线机器人和睿尔曼智能科技的论文“An Atomic Skill Library Construction Method for Data-Efficient Embodied Manipulation”。
具身操控是具身人工智能领域的一项基本能力。尽管目前的具身操控模型在特定场景下表现出一定的泛化能力,但由于现实场景的复杂性和多样性,它们在新的环境和任务中表现不佳。传统的端到端数据收集和训练方式,对数据需求巨大,将端到端任务分解为原子技能有助于减少数据需求,提高任务成功率。然而,现有方法受限于预定义的技能集,无法动态更新。针对该问题,引入一种三-轮数据-驱动方法来构建原子技能库。用视觉-语言-规划(VLP)将任务划分为子任务。然后,通过抽象子任务形成原子技能定义。最后,通过数据收集和视觉-语言-动作(VLA)微调构建原子技能库。随着原子技能库通过三轮更新策略动态扩展,其可覆盖的任务范围自然增长。通过这种方式,该方法将重点从端到端任务转移到原子技能,在保持高性能的同时显著降低数据成本,并能够高效地适应新任务。
具身智能,主要指“具身人工智能”,在生成式人工智能时代取得重大进展。通过将文本、图像和语音等多模态数据映射到统一的语义连续向量空间,实现域无关的跨模态集成。该空间将语义离散符号空间与特征连续向量空间紧密联系在一起,为具身智能发展为通用形式提供新的机会。端到端的具身操控,尤其是视觉-语言-动作(VLA)模型,由于具身数据的可用性[O’Neill, 2023] [Khazatsky, 2024]和多模态技术的进步,取得重大进展,表现出越来越强的通用性和泛化能力,大大增强服务机器人的实际应用潜力。
VLA 模型的最新进展表明,它具有实现端到端具体化操作任务的巨大潜力。这些模型通常采用端到端训练范式,集成视觉、语言和动作数据来理解和执行任务指令。这种多模态集成使机器人能够在动态和非结构化环境中处理复杂的任务。
OpenVLA [Kim et al., 2024] 通过针对新目标场景定制的参数高效微调和量化实现有效的机器人控制。同时,扩散模型 [Ho et al., 2020] [Song et al., 2020] [Rombach et al., 2022] 凭借其出色的表现力和高质量的采样能力,已成为众多应用的主干网络。在机器人技术中,扩散模型已成为策略表示的首选。例如,扩散策略 [Chi et al., 2023] 率先使用条件去噪扩散过程来模拟机器人行为,有效地表示视觉运动策略。Octo [Team et al., 2024] 是一种大规模通用策略,支持通过语言命令或目标图像进行各种任务指导。RDT- 1B [Liu et al., 2024] 利用扩散 Transformer (DiT) [Peebles & Xie, 2023] 作为其可扩展的主干,在双臂机器人平台上提供卓越的性能。最近,研究人员 [Black et al., 2024] 提出一种流匹配动作分块架构 [Zhao et al., 2023] 来模拟复杂的连续动作分布。尽管 VLA 模型在机器人控制方面取得重大进展,但当前的具身操控方法仍然面临严峻挑战,尤其是需要大量数据才能有效地学习和概括复杂任务。
目前的具身操控模型,虽然在特定场景下表现出一定的泛化能力,但在适应新环境和任务方面面临挑战 [Black,2024][Li,2024]。值得注意的是,目前的具身操控模型具有端到端导向的特点,数据收集和模型训练都是基于特定的端到端任务进行的。在科学研究中,可以人为定义一定数量的端到端任务作为标准,以促进算法性能的提升 [Team,2024][Liu,2024]。然而,现实世界场景的多样性和复杂性使得端到端方法并不适用于一般具身操控的实际应用。一方面,现实世界的任务无法枚举,而端到端方法无法将学习的任务能力扩展到新任务中。另一方面,随着任务复杂度的增加(例如程序变得更加复杂),任务的数据需求也必须增加才能保持令人满意的性能。这些问题使得每一项任务都需要大量相应的新数据 [Kim, 2024] [Liu, 2024],从而导致“数据爆炸”的风险,这严重阻碍具身操控模型的实际应用。
VLP 是指将视觉信息和语言指令结合到具体操作中的任务规划。面对现实世界的任务时,直接的端到端执行具有挑战性,并且通常会导致性能不佳。这一缺陷使得有效的任务分解和规划迫在眉睫。UOF [Yang et al., 2021] 结合复杂任务中中间步骤的规划和控制,使机器人能够在多步骤任务中学习不同的结果。ECoT [Za- walski et al., 2024] 引入思维链 (CoT) 方法,在该方法中,他们训练 VLA 对规划、子任务、运动和视觉基础特征(如目标边框和末端执行器位置)进行多步推理,然后再预测机器人动作。 RoboMatrix[Mao et al., 2024] 直接使用专有的 VLM 进行任务分解,并使用现有的目标检测模型根据对目标存在的判断来检查执行状态。虽然以前的 VLP 方法表现出一定的有效性,但它们仅限于目标和场景描述等基本视觉信息,而缺乏空间智能,而空间智能对于现实世界的具体操作至关重要。
鉴于这些与端到端方法相关的挑战,一个自然的解决方案是将端到端任务的执行分解为原子技能的顺序执行 [Diab, 2020] [Mao, 2024]。这些原子技能更细粒度和更通用,允许在不同场景和任务之间重用。此外,将端到端任务 [Team, 2024] [Kim, 2024] 映射到原子技能,有助于减少数据需求并提高任务执行成功率。尽管之前对原子技能的研究已经证明其有效性,但它受到手动预定义特定技能的限制。预定义的技能集非常有限,无法动态更新和扩展,因此对于现实世界中的一般具身操作仍然非常低效。实际上,基于当今强大的单模态和多模态理解和推理技术,自动任务分解、规划和技能定义是可行的。
SkillMaN [Diab, 2020] 框架包括一个具有经验知识的模块,该模块演示如何使用工作流和机器人轨迹执行一组技能。对于复杂任务,一些研究人员 [Kroemer, 2021] 专注于任务的层次分解和机器人技能的可重用性。最近的方法结合任务规划,使用智体自动将复杂任务分解为原子任务,而不是依赖于手动分解。例如,研究人员 [Zhao, 2022] 使用基元、技能分解和综合的概念来分析机器人拆弹任务所涉及的操作技能,并提出一种基于知识的方法来学习这些操作技能。 RoboMatrix[Mao,2024]引入元技能的概念,但局限于人工预定义的技能集,不能有效应对数据爆炸,也无法支持VLP和VLA模块的更新。
鉴于原子技能的潜力和现有技术的局限性,本文工作重点是开发一种实用的原子技能库构建方法,以实现现实场景中数据高效的具身操作。
目标是开发一种数据驱动的方法来生成技能库,通过三个集成的子模块实现持续的自我更新。所提方法的框架如图所示。具体而言,对于用户提供的任务指令,VLP模块将指令分解为相应的子任务。接下来,高级语义抽象模块将这些子任务抽象为一组通用的原子技能定义。最后,收集数据并微调VLA模型以获取原子技能,最终构建一个综合技能库。
当面对新任务时,该框架调用VLP进行任务规划,并从技能库中检索相应的原子技能。如果库涵盖所有必需的技能,则将执行该任务,而无需任何额外的数据收集和微调。如果缺少特定技能,则高级语义抽象模块将唤醒以更新原子技能集,并且只需要缺少技能的轨迹数据。例如,如果提出一项新任务“给客人一杯水”,而当前的原子技能库包括技能“举起瓶子”和“将瓶子对准并倾斜到杯子”,则只需要一项新技能“递杯子”。通过这种方式,该方法可以在很少甚至不需要额外数据的情况下执行新任务,从而有效地提高数据效率和通用性。
VLP 智体轮
为了统一实现训练过程中的任务分解和推理过程中的任务规划,构建一个集成视觉感知、语言理解和空间智能的 VLP 智体。
如图所示,给定基于文本的任务指令和基于图像的当前观察,引入现成的 VLM Prismatic 模型 [Karamcheti et al., 2024] 来生成与观察图像相对应的场景描述。考虑到 3D 世界的空间复杂性,设计一种空间关系-觉察策略。
首先使用 Dino-X [Ren et al., 2024],一种目标检测模型,来检测观察中与任务相关的目标,并以边框的形式输出每个目标的位置。为了更精确地定位目标,使用 SAM-2 [Ravi et al., 2024] 来获取每个目标的精细分割掩码。然后,执行基于规则的算法来判断目标之间的空间关系。将视觉感知与空间智能相结合,将它们与任务指令一起放入GPT-4中,并提示它将任务分解为子任务并管理它们的执行顺序。专门设计的提示,要求GPT-4按顺序执行以下步骤:根据详细的任务描述生成完整的执行规划,并指定下一步需要执行哪个子任务。
这样,在构建原子技能库的过程中,VLP 智体可以有效地将端到端任务分解为多个子任务。在实际推理过程中,VLP 智体提供关键的低频控制信号来规划和指导高频原子技能执行。
VLA 轮
对于所提出的数据驱动技能库生成方法,任何 SOTA VLA 方法都可用于原子技能构建。最初,VLA 模型作为提示输入,帮助高级语义抽象模块将复杂的子任务映射到结构化的原子技能定义集。随后,VLA 模型通过数据收集和少样本学习(FSL)促进技能库的构建,实现高效且可扩展的技能获取。
原子技能的粒度由 VLA 模型的性能决定,特别是在其可塑性和适应性方面。VLA 模型的可塑性,反映其从预训练状态有效过渡到微调模型的能力,从而适应新的机器人平台。另一方面,微调 VLA 模型的适应性,表明其处理不同目标、场景和空间配置的能力。更高水平的可塑性和适应性,导致原子技能定义的粒度更粗一些。
例如,在 RDT-1B 模型中,在 40 个 A800 80GB GPU 上对其发布的预训练模型进行微调,以构建原子技能库。微调数据包括 6,000 条开源轨迹和 2,000 条专有轨迹,由使用 Mobile ALOHA 系统设计 [Fu, 2024] 并由松灵机器人(agilex.ai)制造的机器人收集。经过微调的 VLA 模型可以快速构建原子技能。在不同的传感器、物体和场景中验证了它的性能。
然而,该模型对目标物体位置的泛化能力有限,训练步骤的数量对其行为有显著影响。为了解决这些问题,进行两项实验:首先,为一项任务收集一个包含不同目标位置的小型数据集,并进行少样本训练和测试。具体来说,从桌子上的九个不同位置点收集轨迹数据。结果表明,目标位置的泛化能力显著提高,在这九个点定义的整个区域内都成功实现抓取。其次,用 8 个 L40s GPU 进行少样本训练步骤测试,将训练步骤设置为 1,000、2,000 和 4,000。结果表明,1,000 个训练步骤在训练效果和持续时间之间实现最佳平衡。
这些实验强调,预训练模型的可塑性以及微调模型对各种目标、场景和空间位置的适应性对于技能库构建至关重要。这些因素作为高级语义抽象模块的输入,有助于将子任务映射到一组原子技能定义。从原子技能定义到构建技能库,在 VLA 模型上采用少样本微调方法,为每个定义的原子技能利用少量收集的轨迹数据。这种方法可以快速实现原子技能,大大加快技能库的开发过程。
原子技能轮
对于一组任务 (A、B、…、N),VLP 模块将这些任务分解为相应的子任务 (#1、#2、#3、#4、#5、…、#a、#a+1)。接下来,使用高级语义抽象模块将这些子任务按一定粒度抽象为一组通用的原子技能定义,粒度由不同 VLA 模型的性能决定。可以使用 GPT-4 等 LLM 来实现。原子技能定义包括 *1、*2、*3、*4、*5、…、*b、*b+1。通过数据收集和对 VLA 模型进行微调,最终可以得到一个原子技能库 *1’、*2’、*3’、*4’、*5’、…、*b’、*b+1’。
当面对新任务 TASK N+1 时,可能会出现两种情况。在第一种情况下,新任务所需的原子技能已经被现有的原子技能库覆盖,该方法可以直接执行任务而无需进行任何进一步的调整。在第二种情况下,库中缺少特定的原子技能,再次使用高级语义抽象模块。它将新任务(N+1)的子任务、所需的技能粒度和当前的原子技能定义集作为输入,生成一组更新的原子技能定义。此后,只需要对缺失的原子技能进行额外的数据收集和微调,这使得这种方法比传统的端到端方法高效得多。而且,随着原子技能库的动态扩展,其能处理的任务范围也相应增加。
实验设置如下。
基线。该方法可以集成到不同的端到端 VLA 模型中。用 RDT-1B 和 Octo 模型作为基线,并在 ALOHA 双臂机器人上进行实验。根据研究和测试,其他广泛使用的 VLA(如 OpenVLA)很难适应双臂移动 ALOHA 硬件设置。因此,将这些模型排除在实验之外。
任务。选择四个具有挑战性的任务来从不同维度评估方法的性能,包括模型在实际任务中可能遇到的复杂场景,例如目标的各种位置和复杂的操作。前三个任务专门用于验证方法的数据效率和性能,而第四个任务用于评估其对新任务的适应性。详细的任务定义和可视化如图所示。
数据。收集轨迹数据样本以微调主干 VLA 模型。每项任务的演示数量如下:
• 倒水:3 种不同的瓶子位置和 3 种不同的杯子位置,每种设置 3 个演示,端到端微调有 27 个演示,基于技能的 VLA 微调有 9 个和 9 个演示。
• 拾取和放置香蕉:4 种不同的香蕉位置和 2 种不同的盘子位置,每种设置 3 个演示,端到端 VLA 微调有 24 个演示,基于技能的 VLA 微调有 9 个和 6 个演示。
• 拾取和放置笔:3 种不同的瓶子位置和 3 种不同的杯子位置,每种不同设置 3 个演示,端到端 VLA 微调有 27 个演示,基于技能的 VLA 微调有 9 个和 9 个演示。
• 按顺序移动块:10 个按红-绿-蓝顺序的演示用于端到端 VLA 微调,10 个分别移动红、绿、蓝块的演示用于基于技能的 VLA 微调。