专栏名称: 自动驾驶之心
自动驾驶开发者社区,关注计算机视觉、多维感知融合、部署落地、定位规控、领域方案等,坚持为领域输出最前沿的技术方向!
目录
相关文章推荐
潇湘晨报  ·  再次道歉!全额退款 ·  22 小时前  
潇湘晨报  ·  陈小春、应采儿,传新消息! ·  2 天前  
51好读  ›  专栏  ›  自动驾驶之心

清华大学&字节 | 迈向通用机器人策略:如何选择VLA?

自动驾驶之心  · 公众号  ·  · 2024-12-30 07:30

正文

点击下方 卡片 ,关注“ 具身智能 之心 ”公众号


作者 | 具身智能之心  编辑 | 具身智能之

本文只做学术分享,如有侵权,联系删文



>> 点击进入→ 具身智能之心 技术交流群

更多干货,欢迎加入国内首个具身智能全栈学习社区 具身智能之心知识星球 (戳我) 这里包含所有你想要的。

论文标题:Towards Generalist Robot Policies: What Matters in Building Vision-Language-Action Models

论文链接:https://arxiv.org/pdf/2412.14058

项目链接:https://robovlms.github.io/

作者单位:清华大学 字节跳动研究 CASIA MAIS-NLPR 上海交通大学 新加坡国立大学

写在前面&出发点

为什么我们需要VLA(自然形成视觉-语言-动作模型)而不是其他通用策略?VLA究竟由什么过人之处?

这个概念在自动驾驶领域似乎要更进一步。10月底,谷歌旗下自动驾驶公司Waymo推基于端到端的 自动驾驶多模态模型EMMA 。业内人士表示,EMMA既有端到端智驾能力,还融合了多模态大模型,其实就是一个VLA模型架构。智能驾驶行业在rule-base上已进行了十数年探索,近2年,以特斯拉为首的自动驾驶开启“端到端”争霸赛,端到端一时之间成为车企“兵家必争”。究其背后,也是自动驾驶对提升复杂场景把控力的追求。

那么VLA在具身智能领域发展如何? 构建视觉-语言-动作模型(VLAs)有哪些关键因素?

清华大学、字节跳动等机构 牵头开展的这项研究,主要聚焦于构建视觉-语言-动作模型(VLAs)时的关键因素。本次研究提出了构建VLA的“ 灵魂之问 ”:为什么我们需要VLAs而不是其他通用策略?

接下来,本文描述了构建基于VLM的VLA的关键组成部分:应选择哪种VLM骨干网?如何训练模型以生成动作?何时应将跨具身数据纳入训练阶段?

为了回答这些问题,本文建立了一个统一的框架,以便公平比较VLAs,并设计了一系列自底向上的系统性实验。

本文用了三个模拟器,执行20个实际任务中的240多个回合中进行广泛实验,本文可以从实验中得出以下结论:

  1. 关于为什么(Why) :VLAs能够实现高性能和良好的泛化能力,是通用机器人策略的有前景的路径。
  2. 关于选择哪种(Which) :本文发现,经过大规模视觉-语言数据集充分预训练的VLM非常适合构建VLAs。
  3. 关于如何(How) :本文研究了不同VLA结构的性能、泛化能力和数据效率,发现整合历史观察是VLAs的关键,而相较于交错式方法,策略头是更有效且高效的历史信息聚合方式。
  4. 关于何时(When) :本文比较了在不同阶段集成跨具身数据的三种训练方案,得出结论:额外的领域内数据具有积极作用,大规模跨具身预训练在整体和少样本性能上进一步提升了效果。

作为回答这些问题的“支撑”,本文构建了一个易于使用的框架 RoboVLMs ,该框架使得将任意VLM集成并转化为VLAs变得更加简便。

重磅!国内首个面向工业和科研的VLA算法与实战教程来啦!

引言

基础视觉语言模型(VLMs)在多模态表示学习、理解和推理方面表现出强大的能力。通过将动作组件引入VLMs,能够自然形成视觉-语言-动作模型(VLAs),并且展现出有前景的性能。现有研究已证明VLAs在多个场景和任务中的有效性和泛化能力。 然而,从VLMs到VLAs的转化并非易事,因为现有的VLAs在其骨干网络、动作预测形式、数据分布和训练方案等方面存在差异。这导致目前缺乏对VLAs设计选择的系统性理解。 在本研究中,本文揭示了显著影响VLA性能的关键因素,并集中回答三个重要的设计选择: 选择哪种骨干网络、如何设计VLA架构以及何时加入跨具身数据 。通过获得的实验结果使本文坚信为何我们更倾向于使用VLA,并开发了一个新的VLAs家族——RoboVLMs,该模型需要极少的手动设计,并在三项模拟任务和实际实验中达到了 新的最先进性能 。通过本文广泛的实验,包括超过8种VLM骨干网络、4种策略架构和600多个不同设计的实验,本文为未来VLAs的设计提供了详细的指南。除了本文的研究,具有高度灵活性的RoboVLMs框架也已公开,支持轻松集成新的VLMs,并自由组合各种设计选择,以促进未来的研究。本文开源了所有细节,包括代码、模型、数据集和工具包,以及详细的训练和评估方案。

方法设计

构建能够根据人类指令感知、推理并与物理环境互动的通用机器人策略,一直是机器人学领域的一个长期挑战。近年来,学者们积极探索通过在机器人数据上微调视觉-语言模型(VLMs),并进行一定的架构调整,从而学习机器人基础模型。由此产生的模型,通常被称为视觉-语言-动作模型(VLAs),在模拟任务和实际任务中均展现了有前景的结果。除了VLAs之外,还有各种通用策略,例如来自视频模型或甚至从零开始的策略。 因此,随之而来的自然问题是:为什么我们更倾向于使用建立在大规模预训练VLMs基础上的VLAs?

与其他通用策略相比,广泛认为使用基于VLM的VLAs的原因是,VLMs在通过对大规模网络数据进行广泛训练后,已展现出在学习多模态数据(如文本、图像/视频)的一般化和鲁棒表示方面的强大能力。这种能力可以为机器人基础模型的适配提供启发,弥合高度多样化的开放世界场景与有限的机器人数据之间的差距。 然而,目前大规模视觉-语言预训练在多大程度上有助于通用机器人策略的实现仍然是一个未解问题。 此外,随着各种不同类型的VLMs的快速涌现,它们在LLM骨干网络、训练数据、模型规模、架构和训练方案等方面存在显著差异。 究竟哪种VLM骨干网络更适合机器人操控,仍是成功开发VLA的关键问题。

除了不同骨干网络的多样性,对于通用机器人策略,包括VLAs,其结构更为复杂且形式各异。基于现有最广泛的研究成果,本文提出了一种基于以下两个维度的分类方法:

1)历史信息和动作信息如何在VLAs中融合

2)动作空间是连续的还是离散的。

图2:基于本文分类法的现有通用策略和近期工作的分类(包含年份信息)。本文根据两个主要维度对VLA结构进行分类:1) 动作空间(纵轴);2) 是否整合历史信息(横轴)。此外,对于涉及历史信息的VLA,本文根据历史信息的组织方式将其分为策略头和交错式结构。需要注意的是,这一分类不仅考虑了从预训练VLMs派生的模型,还包括那些虽然未在VLMs上预训练(因此未声明为VLA)的策略架构,这些架构可以为将VLMs转化为VLA提供启示。

如图2所示,本文考虑了四种类型的结构形式。

对于历史信息建模,识别出两种形式:

1) 单步建模 ,仅利用当前状态或观察结果来生成动作;

2) 历史建模 ,处理一个滑动窗口内的历史状态或观察结果。

关于历史信息的聚合方式,本文将其分为两种方法:

a) 交错建模 ,将历史观察和动作序列以交错格式整合;

b) 策略头 ,分别处理每个历史步骤,并在一个独立的策略头中融合信息以进行动作预测。

不同的结构以不同的方式利用预训练的VLMs。因此,它们在面对不同类型的环境和任务时,可能在鲁棒性、泛化能力和数据效率等方面表现出不同的特点。 因此,理解如何在实践中充分发挥VLMs的能力来设计VLAs是一个实际重要但尚未深入探索的问题。

除了VLA本身,用于开发VLA的训练数据的质量和多样性同样至关重要。随着一些著名VLA的最新进展, 来自不同来源的大规模数据对于进一步提升在面对分布外任务和环境时的鲁棒性和泛化能力至关重要。 然而,现有方法在详细的训练方案上存在显著差异:一些方法利用额外的数据对VLMs进行进一步预训练,使得表示更加接近机器人操作任务;而其他方法则在领域内任务上联合训练VLA。此外,通过充分预训练多样化的操作技能,机器人策略预计能够通过极少的示范学习新技能。 因此,在开发高效VLA时,何时利用大规模跨具身数据成为一个引人注目的问题。

为了深入研究上述问题并找到最有效的VLA解决方案,本文的研究选择了4种VLA结构、8种不同的骨干网络以及3种不同的训练数据方案来训练VLA模型。 在实验中,本文提出了一个新的框架——RoboVLMs,用于轻松地将VLMs转化为VLAs,并实现公平比较。 本文在两个流行的机器人操作基准测试中评估了这些模型:CALVIN 和 SimplerEnv。此外,本文还在自采集的实际机器人操作数据集上训练并评估了构建的VLA,数据集包含100个操作任务和总计74K条轨迹。

具体来说,本文首先选择了三种常用的VLMs——LLaVA、Flamingo和KosMos,作为骨干网络,并将每个VLM与四种VLA结构结合,考察动作空间、观测范围和历史信息聚合方法的影响。通过发现使用连续动作空间的策略头建模表现最佳,本文比较了8种不同的VLM作为骨干网络,并采用策略头结构来回答哪个骨干网络更合适。同时,本文还比较了不同VLA结构的泛化能力和数据效率。针对何时利用跨具身数据的问题,本文比较了三种训练策略:预训练(使用Open X-Embodiment训练的VLA)、微调(使用目标数据集训练的VLA)和后训练(先使用Open X-Embodiment预训练,再使用目标数据集进行微调)。最后,为了验证具有最佳配置的VLA在实际环境中的适用性,本文在实际机器人操作场景中进行了训练和评估,展示了其在1)未见干扰物、2)未见背景、3)未见目标物体和4)新颖技能描述方面的泛化能力。

图1:本研究主要考虑四个问题,以基于VLMs构建VLA:为何我们更倾向于使用VLA;选择哪种骨干网络;如何构建VLA;以及何时使用跨具身数据作为额外数据源。通过本文提出的RoboVLMs框架,本文能够轻松将VLMs转化为通用机器人策略,支持多种具身形式、不同场景和任务。

通过本文广泛而全面的研究,本文得出了关于构建高性能VLA的关键见解,围绕以下问题展开:

为什么我们更倾向于使用VLA? 基于预训练VLMs构建的VLA已经证明在通用机器人策略中既有效又高效。在所有实验中,包括模拟和实际操作任务,本文的VLA模型始终以显著优势超过了开源的最先进VLA。更重要的是,预训练的VLMs在泛化能力和数据效率方面表现出显著的优势,使其在实际机器人应用中具有极高的吸引力。

哪个VLM骨干网络更适合VLA? 本文对8种不同VLM骨干网络的广泛研究显示, KosMos Paligemma 这两种VLM骨干网络显著优于其他骨干网络。这些结果强调了全面的视觉-语言预训练对于实现卓越VLA性能的重要性。

我们应如何构建VLA? 通过广泛的研究和实验,连续动作始终优于自回归离散动作,而融入历史上下文对于提升性能和应对部分可观察性至关重要。在模型架构方面,直接与策略头结合的视觉-语言模型(VLMs)相比其他结构表现更优,这是因为其一致性使用:即视觉-语言标记应以其原始预训练格式进行处理,并添加策略头来整合过去的视觉和本体感知观察,以便有效地进行决策。最后,较大的VLMs进一步提升了效率,能够以更少的数据实现更高的性能。

何时应利用跨具身数据集? 尽管普遍认为使用跨具身数据进行预训练或后训练能够提升性能,但这一观点尚未经过严格验证。本文的研究发现,使用跨具身数据进行预训练并不总是能显著提升最终性能。然而,将一个已经通过跨具身数据预训练的模型在目标数据集上进行后训练,则能够带来显著的性能提升。此外,利用来自相同机器人或任务的操作数据也能明显提升性能。

在整个研究过程中,本文提出了一个新的框架——RoboVLMs,它将VLMs转化为VLAs,并提供了一个统一、灵活、易于使用的开源框架,使任何VLM能够以最小的努力无缝集成到VLA中,从而使机器人领域的从业者能够探索、比较和部署未来的VLA。此外,RoboVLMs构建的VLA在广泛的基准测试和实际任务中展示了出色的泛化能力、灵活性和精巧性。本文已开源代码、模型权重及全面的指南,以促进所有结果的可复现性。本文的目标是为机器人社区提供启示,并帮助构建通用机器人。

图3:两个模拟基准和一个实际基准。本文展示了环境设置和所涉及的示例任务。

实验结果

图4:实际实验中的实验设置示意图。本文在20个任务上评估模型,每个任务进行五次回放,任务包括未见干扰物、未见目标物体、未见背景和新颖技能描述。需要注意的是,对于像“打开抽屉”这样的任务,本文不测试未见物体设置,每次回放的物体布局会随机初始化,并与训练集中使用的布局不同。此外,未见目标物体仅适用于拾取任务。

图5:在SimplerEnv模拟基准上的评估结果,包括WidowX+Bridge和Google Robot环境。基准方法的性能参考自Li等人。由RoboVLMs构建的 KosMos P.H. 是研究中表现最佳的VLA结构,且该模型在固定的训练步骤下进行训练。详细的数值结果可以进一步参考附录H。

图6:在CALVIN基准上不同设置下的VLA的消融研究,涉及视觉-语言预训练。“P.H.”表示策略头。“No VL”表示未进行视觉-语言预训练的模型。“5x”表示使用5倍重新生成的训练数据进行训练。不同训练设置和数据规模的完整结果可以在附录E中查看。

图7:本文通过RoboVLMs构建的最佳VLA(KosMos P.H.)在不同设置下与基准方法的实际机器人性能对比。RoboVLM在所有设置下均优于现有VLA,尤其在未见指标上,展示了本文模型的有效性和鲁棒性。

图8:通过RoboVLMs构建的最佳设置VLA展示自我纠正能力的回放可视化。例如,在“打开烤箱”任务中,机器人第一次尝试未能接触到烤箱把手,但它调整末端执行器的位置,在第二次尝试中重新定位把手。需要注意的是,训练数据集中并不包含这种类型的数据。

图9:在CALVIN基准上的性能,所有模型均在ABCD/ABC划分上训练,并在D划分上进行评估。本文报告了五个连续任务的成功率(左轴)和平均任务长度(右轴),使用的是第5个时期的模型检查点。

图10:在SimpleEnv上的跨具身训练消融研究。本文评估了四种不同的训练方案。

在WidowX+Bridge环境中,本文测试了以下几种方法:

(1) Bridge Finetune :直接在完整的Bridge数据集上微调VLA(未包括测试任务);

(2) OXE Pre-Train :在OXE数据集上预训练VLA;

(3) Post-Train :在Bridge数据集上对OXE预训练的VLA进行后训练。

在Google Robot环境中,本文测试了以下几种方法:

(1) RT-Partial Finetune :仅在测试的RT任务上微调VLA;

(2) RTFinetune :在完整的RT数据集上微调VLA(包括测试任务)

(3) OXE Pre-Train 在测试RT任务阶段的效果。







请到「今天看啥」查看全文