33亿参数的VLA模型在大多数任务上可达 50%-100% 成功率。
作者丨王悦
编辑丨陈彩娴
NLP 和 CV 领域,大模型的泛化能力可以让数据量较大的通用模型超越垂直领域的专业模型,这一思路也在启示着具身智能的探索,机器人领域也看到了通用性的优势。
在第六届国际分布式人工智能会议(Distributed Artificial Intelligence Conference,DAI 2024)上,关于具身智能大模型前沿话题的讨论尤为热烈,碰撞出多个新鲜观点。主办方设置多个 Keynote 、学术沙龙深入探讨具身智能、博弈论、开放环境中的多智能体强化学习以及大语言模型驱动的代码智能体等议题,还有关于决策智能体扩散模型和基座模型的专题讲座。
UC Berkeley 的 Sergey Levine教授带来了题为《Robotic Foundation Models》的主旨演讲。在该演讲中,Sergey Levine 教授介绍了一个集成视觉-语言-动作的33亿参数通用机器人基础模型。该模型通过预训练(10,000小时数据、7种机器人、68种任务)和任务微调的两个阶段对策略进行训练,实现了从简单物体操作到复杂多阶段任务(如叠衣服、组装盒子等)的泛化能力,在大多数任务上达到 50%-100% 的成功率。
同时, Levine 教授指出让视觉-语言-动作模型在采取行动前进行多步推理可以进一步提高机器人控制策略的泛化性能,在具有挑战性的泛化任务中使 OpenVLA 的绝对成功率提高了28%。
最后,Levine 教授分享了 RLDG (Reinforcement Learning Distilled Generalist) 方法,通过使用强化学习生成的高质量训练数据来微调机器人通用基础模型,相比传统的人类示范数据训练方法可以获得更好的性能和泛化能力。
AI 科技评论在不改变原意的前提下进行整理:
1
通用机器人基础模型更具革命性
今天,我要谈谈机器人基础模型。首先,让我们从一个视角开始,过去我们在人工智能的各个领域构建了专门的模型。如果我们回到大约 10 到 15 年前,你可以看到计算机视觉或自然语言处理的工作方式是这样的:若想要解决图像分割问题,你会收集一个大型的标记好的分割图像数据集,然后训练一个专门的图像分割模型。如果要进行分类,你会用一个密度标记的大型数据集来训练一个分类模型。
对于图像描述、问题回答、摘要等任务也是一样的道理,每个任务都需要收集一个大型数据集,这个数据集包含人类提供的高质量标签,然后用来训练一个大型神经网络模型。
如今,我们越来越多地转向使用通用模型,我们可能会从网络上抓取包含文本和图像的文档,用它们来训练一些非常大的自监督模型,有时被称为基础模型。然后我们可以用更少的任务特定数据来适应这个单一的通用模型,以适应特定的任务,甚至我们可能会提示它在零次或几次尝试中执行该任务。
这是一种更加通用和可扩展的方法,因为现在这个单一的大型基础模型可以利用所有可用的数据,而不需要对单独的任务(如图像描述或分割)进行细致的人工标记。
这是一种非常强大的方法,我认为如果我们能够将其带入具身智能和机器人的世界,这种强大的方法将变得更加强大。因为在机器人领域,现在的情况与10年前人工智能其他领域的情况有些相似,如果你想让机器人做翻煎饼或打包盒子之类的事情,你需要为那个特定任务收集特定的数据集,并将其与你选择的机器人学习方法结合起来,以弄清楚如何完成那个任务。
我认为未来机器人学习将遵循在其他领域看到的趋势,我们将拥有包含各种不同机器人执行各种不同任务所收集的机器人数据的数据集。然后这些数据将用来训练一个通用的机器人基础模型,该模型可以被提示或微调以适应个别下游问题。
在机器人领域,这种「配方」将更具变革性,因为目前要获得足够大的数据集以支持强大的机器学习系统在单一领域是非常困难的。但如果你能汇集所有不同领域的所有数据,那么你可能会拥有非常大的数据量。
从长远来看,只要机器人实际上被部署在现实世界中做有用的工作,这些数据集就会不断增长,直到它们实际上比我们从网络上抓取的数据集还要大得多。所以我认为从长远来看,这些机器人基础模型实际上将取代其他各种任务的通用基础模型,因为它们将拥有来自大量现实世界经验的具身知识。
但我今天想要讨论的是我们目前可以采取的一些步骤,这些步骤将使我们能够实现这样一个未来,即我们可以拥有通用模型,这些模型能够捕捉到具身智能。
我想首先讨论的是数据集,因为构建基础模型最重要的事情之一就是要拥有大型和多样化的数据集。一年前,我们进行了一个实验,试图看看我们能否收集这种多机器人数据集,来开始研究机器人基础模型。
当然,这是一个研究练习,这个数据集并不一定适合实际的现实世界任务,但在RTX项目中,我们去了世界各地的一些不同的研究实验室,总共34个不同的研究实验室。我们请他们为科学捐赠他们的数据,不管是哪种机器人的操作数据,我们都会收集到所有数据,并将它们汇总到一个基础模型中。因此,我们获得了来自 22 种不同类型的机器人、超过 500 种不同技能、不同场景的数据。
我可以详细介绍这个数据集的统计数据,但通过观看这个数据集中不同类型的试验视频,你可以了解正在发生的事情,你可以看到不同类型的机器人被放置在许多不同的环境里,执行着各种不同的任务。
这个数据集的作用是,我们想了解能否在这些数据上训练通用模型,且这些通用模型是否真的能超越专门针对特定领域训练的更专业模型——这非常重要。
因为在自然语言处理(NLP)和视觉等领域,我们已经看到通用模型实际上可以超越更专业的模型,因为它们可以利用更多的数据。那么,我们是否也能在机器人领域看到同样的通用性优势呢?
我们采用了在34个不同研究实验室的不同类型的机器人上训练出的模型,并将该模型送回其中的七个实验室,并要求他们将其与他们自己为任务开发的任何方法进行比较测试。这些视频显示了一些用于评估的任务,你可以看到它们非常不同。其中一些涉及基本的拾取和放置任务,有些则涉及诸如布线或操作家具之类的事情。机器人不同,场景不同,任务也非常不同。
结果显示,每组中最左边的条形图显示了每个实验室拥有的特定于领域的方法是仅在他们自己的数据上训练的,最右边的彩虹色条形图显示了在跨体现数据集上训练的RTX模型。中间的条形图是一个基线模型,它也使用了特定于领域的数据,但它是不同场景中的统一模型。
所以重要的比较是在最左边的条形图和最右边的条形图之间。平均而言,RTX模型,即最右边的条形图显示的平均值,比每个实验室拥有的特定于领域的方法是大约50%更好,成功率达到了63对41。这是与实验室为他们自己的任务开发的任何方法进行比较的,所以在某种意义上这是一个相当强的基线,因为那个实验室已经结合他们的方法开发了那个任务。所以他们的方法对于所讨论的任务来说应该是相当好的。
然而,这个通用模型平均而言超越了它大约50%。所以这非常令人兴奋。这表明我们在自然语言处理(NLP)中看到的一些通用性优势可能正在成为现实世界中物理机器人系统中的现实。
当然,机器人基础模型不仅仅是数据集那么简单。近年来,另一个变得日益主流的板块是将大型基础模型适应于互联网规模数据的预训练,以用于机器人控制。在这方面最清晰的一步可能是 RT2 项目,该项目大约在两年前在谷歌研究开发,目的是要弄清楚视觉语言模型如何能被适应于机器人控制。
在RT2项目中,我们采用了一个视觉语言模型,这个模型是通过将一个大型语言模型适应于处理视觉输入,然后进一步微调以用于机器人控制而产生的。
这是很久以前的事了。现在,我们用一种相当简单的方式完成了这项工作。当你为感知任务训练一个视觉语言模型时,我们通常会使用像问题回答和图像描述这样的数据集,这些任务中你会得到一张图片,一个文本提示,然后模型应该产生一个文本答案。
我们只是将机器人数据以相同的方式框架化。机器人操作任务的一个单一时间步骤包括一张图片,一个文本命令,比如机器人应该做什么,然后得出一个答案,即机器人采取的行动以文本形式呈现,就像数值行动的文本表示。这不一定是表示机器人行动的好方法,但它足够好,可以将这种数据打包成视觉语言模型可以微调的格式。
实际上,它产生了一个非常擅长遵循语言的模型。但当然,最有趣的事情发生在我们结合这种大型视觉模型与 RTX 数据集时,这使得这种跨机器人的泛化成为可能。
这是我们研究的RT2X模型,我们发现这个模型不仅擅长遵循语言指令,包含来自这些更多样化平台的数据实际上提高了数据中最具代表性的机器人平台的语言遵循能力。这实际上是有点令人惊讶的。
我们可能会预期提高那些数据不足的机器人的性能,即那些没有很多数据的机器人,但系统实际上甚至提高了我们拥有大量数据的机器人的性能。
实际上,当包含所有来自其他体现的数据(由红色条形图表示)在困难的语言泛化任务上的性能大约是仅使用这个机器人的数据的基线性能的三倍。
再次强调,当包含来自各种来源的通用数据时,实际上可以超越更专业的系统。该系统能够执行各种基本的空间推理风格的任务,并且泛化得相当广泛。
到目前为止描述的所有内容大致是2023年末的情况,那时机器人基础模型的状态如何?我们已经能够从视觉语言模型(VLM)继承互联网规模的知识来提升机器人,这就是RQ2的概念。我们有了一个通过聚合许多不同机器人的数据来弥合数据差距的线索,但仍有许多不足之处。虽然有一些有趣的语言遵循和空间推理的开始,但它们仍然只是相当基础的拾取和放置任务,当时还不清楚我们如何能够向更灵巧和复杂的行为发展。
泛化和语言遵循仍然相当有限,比如,按照机器人的标准,将苹果移动到罐头和橙子之间是相当酷的,但与你可能要求一个人做的工作相比,它是非常基础的。也就说明,架构根本没有真正适应机器人,架构基本上就是为标准视觉语言模型创建的。
所以还有很多工作要做。我们需要了解如何使用这些视觉语言动作模型学习复杂任务,我们需要处理不同形态的多样化机器人类型,而不仅仅是单臂机器人,我们需要为通用机器人策略开发正确的架构。在今天的讨论中,我将描述我们为解决这些限制所采取的一些步骤,谈论我们最近在开发的 π0 通用机器人策略。
2
基于 Difussion 的 π0 通用机器人模型
π0 模型现在是一个更适应机器人控制特定要求的模型,它实际上使用了像扩散这样的连续控制。我将描述我们如何通过顺序推理获得更好的视觉语言动作(VLA),而不是直接输出动作,机器人实际上可以思考执行任务的要求,并相应地调整其行为。
然后,我将以讨论如何通过强化学习获得更好的性能作为结束,通过微调 RL 向超人性能适应。但让我们从 π0 开始,以及我们如何尝试解决架构和多样化形态的挑战。
π0 是我们最近开发的新型 VLA,就在几个月前,它使用大型和多样化的数据集,但现在实际上能够控制非常不同的机器人、有双臂的机器人、单臂的机器人、有移动底座的机器人,并且它使用了一个更适应灵巧行为的架构,比如叠衣服和装箱。
这里是 π0 的构成:我们有来自各种不同机器人平台的数据,并且自己收集了七个不同平台的数据,这些数据真的是围绕灵巧性设计的。我们还采用了 RTX 的全部开放 X 体现数据集,所以这些数据是从所有不同的研究实验室汇总来的,以及来自 VLM 初始化的互联网规模的再训练。这些都被用来训练VLA模型。
π0 模型有一个特定的架构,它结合了扩散来输出高频连续动作,这对于更复杂的任务来说非常重要。然后它可以在零次尝试中被提示执行清理桌子等任务。对于特别复杂的任务,如叠衣服,它可以被高质量的后期训练数据微调。这实际上非常有趣,因为在语言模型的世界里,我们知道预训练和后期训练都非常重要。
我们还发现了一个类似的情况,对于真正复杂的任务,比如叠衣服,一个单独的后期训练阶段实际上非常重要,以获得出色的结果。所以让我更详细地逐一介绍这幅图的各个部分,先从模型架构开始。
π0 模型架构接收一到三张图片,这些图片来自机器人的基座摄像头以及安装在机械臂上的风险摄像头。如果机器人有一个机械臂,那么它就有一个风险摄像头。如果是两个机械臂,它就有两个风险摄像头。它还接收一个语言命令,这个命令指定了模型应该执行的操作。然后它使用我们称之为动作专家的变换器骨干网络的独立组件来将语言命令解码成动作。
所以在专家混合模型中,任务的不同部分有不同的模型参数副本,这里我们有两个副本,一个用于视觉语言输入,另一个用于连续动作输出。动作专家的工作基本上是处理任务的所有连续部分,它仍然可以关注图像语言部分的所有内部激活,但它专门用于连续输出。它接收连续的关节角度,并且输出一个由接下来的 50 个动作组成的连续动作块。
这是通过流匹配完成的,流匹配是扩散的一种变体,这非常重要,因为流匹配允许我们捕捉更复杂的动作分布。这些动作分布可能是多模态的,因为人类在演示行为时会使用许多不同的策略。通过这种方式处理连续动作,我们还可以处理高频控制,输出高达 50 赫兹的控制,每个新输出大约每半秒重新计算一次,输出 50 个未来时间步的动作。
这就是模型。但当然,要让这个模型工作,还有很多其他的事情要做。除了模型本身,我们当然需要正确的数据集。所以我们有预训练数据,正如我之前描述的,它来自许多不同类型的机器人。它包含了大约 10,000 小时的数据。
所以这是一个非常大的数据集,而且极其异质、有数百种任务,但并非所有数据都是高质量的,有些数据并不那么好,关键是它要足够大。就像大型语言模型(LLM)的预训练数据集可能包含丰富的知识一样,包括好的和不那么有用的,但非常多样化。
后期训练数据要小得多。我们为最复杂任务拥有的最大后期训练数据集只有 20 小时的长度,有些甚至小到只有一个小时。它更加一致,旨在捕捉高质量但范围狭窄的数据,说明机器人应该采取哪些策略来解决那些更复杂的任务,它应该说明执行任务所需的一致策略,仅在后期训练数据上训练结果并不奏效,因为这些后期训练数据范围狭窄,如果机器人犯了错误,它可能会发现自己处于后期训练数据未覆盖的状态。
因此,预训练数据基本上告诉它在奇怪的情况下该怎么做,它告诉它如何修正错误,如何从失败中恢复,而后期训练数据则教会它为了在任务中表现良好应该采取哪种策略。所以后期训练数据只有在与大规模预训练结合时才有效。但如果我们能够结合这两件事,训练这个大型的 π0 扩散模型,那么我们就可以执行一些相当复杂的任务。
这里有一个我们可以对模型进行微调的任务示例。从一个平放在桌子上的盒子开始,然后将其折叠成完全折叠的状态。这是一个微调策略在行动中的视频,在这里将盒子放在桌子上,机器人开始折叠它。对于机器人来说,这是一个非常困难的任务,因为它有两个平行的抽屉式夹爪,如果盒子完全组装好,所有部分都容易散开。
所以你必须将它固定在一起,以正确的方式施加压力,甚至要将其靠在桌子上,以保持它不散开。有些部分,比如这些翻盖,可能不会完全进入。所以你必须测试它们是否完全进入,然后再次尝试,更用力地捏它们,以便它们正确地进入。
你可以看到机器人会一直尝试,直到做对为止。它可能还需要几次尝试来处理另一个翻盖。所以你可以看到它试图修复翻盖,可能它的位置不太对,但一旦它进入正确的位置,盒子就组装好了。这在一系列不同的试验中相当一致地工作,即使盒子被放置在稍微不同的位置等情况下也是如此。
我们在这里测试了各种其他任务,可以说是不同行为的抽样。比如将食物打包进外卖盒,将鸡蛋打包进蛋盒,这些都是预训练中没有的任务。这里的条形图显示了实心条,即微调模型的结果,条纹条显示了如果你仅在后期训练数据上训练会发生什么,最右边的条形图显示了如果你在零样本学习试中提示模型会发生什么。
当然,在零样本学习中提示是不起作用的,因为在预训练之前模型不知道如何执行这些测试。但最重要的是,在这三个案例中的两个案例里,微调的表现明显优于仅在后期训练数据上训练的模型。因此,这表明在这个设置中,拥有预训练对于持续的成功实际上是非常重要的。
我们在各种其他复杂任务上训练了这个模型。这里有一个桌面清理任务,机器人需要泛化并判断每个物品是垃圾还是需要放入左侧垃圾箱的盘子或杯子。所以所有垃圾都要扔进垃圾桶,所有盘子和杯子都应该放入左侧的垃圾箱。这相当有趣,因为机器人必须弄清楚每个物品是什么类型的,然后成功地操纵它。
我们还进行了叠衣服的任务,这是一个相当困难的任务,因为衣服最初是皱巴巴地放在篮子里的,可能以各种不同的配置存在。所以机器人必须泛化到大量的配置,然后成功地将其叠好。我觉得这个任务非常迷人,因为观察这种行为,它在叠布的方式上看起来非常像人类。
同样,这在各种不同的设置中都能工作,适用于各种不同的洗衣物品,包括在不同的机器人上。所以你可以看到在右边,机器人失败了几次,但它最终恢复过来,能够叠好衣服。
它还可以执行其他洗衣风格的任务。例如,它可以从烘干机中取出衣物。所以在右下角,你可以看到机器人把一个篮子移到烘干机旁,然后取出衣物并将它们装进篮子里。
这些模型还能非常好地从干扰中恢复过来,我认为预训练在这里非常重要。在这些实验中,机器人将会受到干扰,他将在桌子上额外放置一件衬衫,这实际上是非常分散注意力的。当有第二个物品挡道时,折叠某物是非常困难的。而机器人实际上会将衬衫放回篮子里,以将其移开。
这些恢复是自发出现的,它们实际上并不存在于后期训练数据中。预训练数据中可能有各种各样的恢复行为,这使得它们能够解决这个问题。
我们可以将这些技能组合成一个完整的任务执行。所以,在这里你可以看到机器人执行了整个任务,它从烘干机中取出衣物,将其放在桌子上,然后开始折叠。它大约能在12分钟内折叠五件衣物。所以它的速度是合理的,显然比人慢得多,但相当高效。它并不完美,你可以看到很多时候它在抓取时失败,必须重试,但它确实能从这些失败中恢复过来。
那么从这项工作中我们能得到哪些主要结论?我们有一个通用模型的原型,它在许多不同类型的机器人上进行了训练,它实际上能够跨越不同数量的手臂和移动与静态机器人进行泛化,在一系列非常复杂的任务中表现出色,但仍有不足之处。
对于最复杂的任务和新领域,微调仍然至关重要。高层次的策略有时有点基础,所以有时叠衣服的策略实际上会展开衬衫然后重复折叠,就像它没有真正跟踪任务的全局结构一样。它也是通过模仿学习进行训练的,并没有试图优化任务成功、鲁棒性或速度,所以还有很多工作要做。我们只是触及了 LM 能力的表面,如果我们直接针对任务性能进行优化,而不仅仅是模仿,我们很可能会大幅提升性能。
3
推理+强化学习=更好的VLA模型
那么我将在接下来的两部分讨论中谈论这两件事,首先会描述通过推理得到更好的视觉语言动作(VLA)模型,然后会讨论强化学习。
在我接下来要讨论的由 Mihai Zawoski、William Chen 及其合作者进行的研究工作中,他们提出了一个名为「Robotic Control via Embodiled Chain-of-Thought Reasoning」的项目,我们想要回答这个问题:推理能否增强或改善视觉语言动作(VLA)?我认为这个问题在当下非常热门,我们已经看到测试时的计算能力能够通过像 GPT-4o 这样的工具显著提升语言模型的性能。它是否也能提升机器人控制的性能呢?
一个常规的 VLA 被训练为接收一个命令和一张图片,然后输出一个动作。如果我们接收一个命令和一张图片,然后输出一系列帮助我们推导出正确动作的中间步骤会怎样?比如与任务相关的对象的位置、可能有助于完成任务的中间步骤等,这仍然是一个端到端的系统,因为模型仍然输出所有的中间步骤和动作,但这些中间步骤可以帮助它更好地泛化,更有效地从预训练的VLMs转移视觉和语义知识。
这个工作的运作方式是,我们将使用其他基础模型,来为任务的中间步骤提供合成标签,合成标签如撕裂位置、分割等。我们将使用这些来构建包含原始命令、合成生成的中间推理步骤和机器人应采取的最终动作的合成思维链示例。
这些是一些中间步骤的简要解释,它们包括子任务推理、移动推理、夹爪位置、可见物体的位置等。所有这些中间步骤都应由模型在测试时生成,而在训练时则由这些合成示例提供。
这些是我们训练模型产生的中间信息片段。我们使用棱镜式VLM(视觉语言模型)来生成描述场景的合成标签,然后我们使用另一个模型 dyno 来产生用于边界框的合成标签,它教会我们的模型去计算出这些对象的位置。接着我们使用一些人工标记代码将动作分解成语义描述,比如向上移动、向左移动,我们计算夹爪的位置。
所以现在这让模型能够在夹爪的相对位置、相对于其他对象的位置以及如何用语言描述它应该执行的下一步任务上进行一些语义推理。这些都是训练模型的中间步骤,然后帮助它在测试时产生正确的低级动作。
这里是一些场景和模型对应生成的例子。边界框只是显示出来供你可视化的,模型实际上并没有接收到这些边界框,它产生了边界框,并且它们被渲染在图像上只是为了这里的可视化。
这些是三个测试场景,左边和中间的成功了,最右边的一个失败了,你可以看到底部模型认为发生了什么。例如,在中间的场景中,模型被告知将最左边的物体放在中间的物体上,然后模型推断出最左边的物体是一个粉红色的毛绒玩具,中间的物体是一条蓝色的毛巾,然后它计算出,鉴于夹爪已经抓住了毛绒玩具,应该向右移动,然后从那里产生正确的动作并成功完成任务。
这是一些具身思维链解冻试验的视频。你可以看到每个场景中左边的机器人动画,以及右边实时生成的中间文本。评估包括超过300次试验和14个不同的任务,这种方法实际上帮助很大。
这里的特定视觉语言动作(VLA)是在 OpenVLA 的基础上训练的。OpenVLA 是一个传统的VLA,它在 RTX 数据集上进行了训练。具身思维链(Embodied Chain of Thought)仅仅是在OpenVLA的基础上进一步微调,以执行这些思维链推理。
你可以看到,成功率提高了超过50%。RT2X(绿色条)是一个更大的VLA,拥有55亿个参数,相比之下,OpenVLA只有7亿个参数。虽然 OpenVLA 稍微差一些,但当它被增强了具身思维链之后,它实际上比这个大得多的模型表现得更好。
我们可以通过这个思维链过程做的一个很酷的事情是,我们还可以纳入人类的纠正。
例如,机器人可能会因为错误的推理而失败。它被要求拿起任何不是黄色的物体,但它没有去拿黄色的物体。因此,用户实际上可以介入并说这个茄子是正确的物体,因为它是紫色的,修改了思维链,然后机器人就可以正确地完成任务了。
这种纠正实际上可以应用于任何视觉语言动作(VLA)模型,所以你可以将任何VLA的中间步骤进行改进,具身思维链从这些纠正中获益最多,因为它有更多的中间语义步骤,并且学会了关注它们。所以我们将这些纠正应用于Open VLA和RT2X,但在具身思维链中,这些纠正带来的改进是最大的。
这相当有前景,因为现在我们可以得到这样的模型:它们在执行复杂的操控行为时,会更多地思考它们应该采取的中间步骤。但我们能否更进一步?能否通过自主经验实际上提高这些模型,并将其微调到超人的速度和鲁棒性水平?为此,我们一直在研究如何使用强化学习来获得更鲁棒、更精确的技能。
这项工作开始已经有一段时间了。我们实际上发布了一个名为SURL的强化学习包,这不是为机器人基础模型设计的,而是用来训练个别任务的较小模型,你可以将其视为培训专家而不是通才。但SURL允许你用少量的示范来启动强化学习过程,通过一些非常谨慎的设计决策,实际上可以让这些强化学习算法变得非常高效。
在这个视频中,可以看到的是一个机器人学习将芯片插入 PCB 电路板,整个训练过程在这个案例中大约需要 20 分钟才能进行第一次插入,而到了 30 分钟时,它实际上可以一致地插入芯片。其他任务可能需要更长的时间,但这些训练时间实际上是相当实用的,可以在现实世界中完成。
当策略正在训练时,它实际上相当鲁棒,因此我们可以干扰物体,我们可以移动PCB电路板,而机器人实际上可以恢复。我们还可以学习一些很难手动指定的其他任务,比如通过夹子布线。使用强化学习进行此类任务的优势在于,我们可以获得更好的鲁棒性和更快的速度。
因此,在SURL的评估中,我们将之与模仿学习进行了比较,对于模仿学习,我们实际上提供了更多的示范数据。因此,BC(模仿学习)的总数据集大小与RL(强化学习)相同。
从这个成功率的图表中,可以看到RL的成功率在所有这三个测试任务中都达到了100%,尽管BC获得了更多的示范数据以匹配总数据集大小,但其成功率要低得多。关于RL策略的另一点是,它们的周期时间要短得多,这意味着它们完成任务的速度要快得多,比模仿学习快两到三倍,即使模仿学习成功了。这很酷,但当然这些都是非常专业的策略。
这里的设置是什么?这个算法叫做RLPD。RLPD基本上是修改后「Soft Actor-Critic」,我不确定实际的算法是否真的那么关键,但我认为实际上很多算法都可以被调整来做到这一点,而整个系统需要以正确的方式构建。
观察由预训练的视觉编码器处理的图像组成,奖励实际上是由图像分类器提供的,所以场景中没有仪器,只有一个分类器,它观察场景并判断是成功还是失败,这给机器人提供了稀疏的奖励。然后还有可选的人工干预,我们用它来处理更复杂的任务,人类可以实际介入并使用遥控设备来纠正机器人。
机器人不会尝试简单地匹配干预,它只是将其添加到回放缓冲区中,作为它可以用来利用的额外数据。所以在这段视频中,当图像被蓝色圈出时,那是自动的,当被红色圈出时,一个人正在使用3D鼠标提供干预。这就是实际训练展开的样子,它部分是自动的,部分是基于干预的。
这是一些可以用这种方法学习的任务。这是一个双手仪表盘装配任务,机器人需要拿起这个仪表盘并将其插入这些金属夹子中。这是一个相当困难的任务,因为你必须对齐所有的夹子才能成功插入。这是最终行为的实时表现,可以看到它拿起这个仪表盘,对齐夹子,并将所有的夹子插入正确的位置。
这里有更多任务。其中一些需要操纵可变形物体,比如左上角的正时皮带装配,有些需要动态行为,比如左下角的翻鸡蛋,或者使用鞭子在右下角取出Jenga积木。
右上角展示了一个将三个控制器串联起来组装宜家家具的行为,机器人需要拿起每件家具的部件,并将其插入相应的插槽中,然后用螺丝固定,然后Charles用螺丝刀实际拧紧零件。
这实际上是三个不同的策略,最后一个部分当然是最难的,因为对于桌子的表面,它必须对齐两个桌腿上的所有销钉,所以这个相当难。你可以看到它对齐了销钉,并且它学会了这种小摆动动作,这使得它能够确保销钉就位。所以这里是那个摆动动作,你可以看到需要一点时间来做到这一点,但最终它将销钉放入正确的位置,然后家具就组装好了。
这些策略也对外部干扰具有鲁棒性,因为在强化学习(RL)过程中,会注入噪声,而机器人能够恢复并成功完成任务。正如我所说,到目前为止,这种方法正在学习专门的策略。我们可以以各种方式使用这些策略,比如我们可以将多个策略串联在一起,就像在这个主板装配任务中一样。但稍后,我还将讨论如何将它们整合到更大的基础模型中。
所以目前,这些都是专门的策略,你可以看到有一个技能可以插入硬盘驱动器,还有另一个技能可以插入内存条。这实际上相当困难,因为对于内存条,你需要施加向下的力,但在其他维度上仍然保持柔顺,以便它能够正确地插入到位。然后它将插上USB电缆,并将USB电缆穿过一个夹子。
对于这个任务,在我们进行强化学习时,当然非常重要的一点是不要损坏部件,这需要一个特别的柔顺控制器。实际上,在完成这项研究后,我让Charles和Jean-Len向我证明机器人没有损坏电脑。所以我让他们确保电脑仍然可以开机,他们确实做到了。在布线之后,机器人实际上会按下按钮来打开电脑,以测试确保在进行强化学习时没有弄坏它,电脑成功启动了。
现在,如果我们想要将这些专门的策略转化为更通用的视觉语言动作(VLA)模型,我们实际上可以利用这些强化学习(RL)训练运行来创建数据集,这些数据集可以用于VLA训练,代替人类提供的例子,这就是我们在最近的方法RLDG中开发的。
在RLDG中,各个RL策略充当专家来创建数据集,然后将这些数据集整合到一个通用的VLA模型中。我们测试这种方法的一种方式是,为不同的连接器插入(如VGA和USB)训练单独的RL策略,使用这些控制器产生的数据来训练OpenVLA,然后在新的连接器上运行OpenVLA,看它是否能够泛化。
结果表明,它能够很好地泛化到其他类型的连接器上。这相当有趣,因为我们发现一些有趣的事情,我们发现RL产生的数据比人类示范更好。这也许并不令人惊讶,因为RL当然是直接试图优化任务奖励,但即使我们移除了所有失败的示范,它仍然更好。
因此,人类示范和RL数据具有相同的成功率和相同的大小,但用RL数据训练的策略最终表现得更好。我们当然发现,OpenVLA这个通用模型,在RL数据上微调后,实际上比监督它的RL策略泛化得更好。所以好处来自两个来源,这可能是获得通用策略的一个合理方法,但仍然超越了仅仅使用人类数据。
现在,也许我们也想有一种方法,可以自主地微调我们的机器人基础模型,而不必依赖于人类指定的任务或人类指定的奖励函数,我们也可以做到这一点。
最后一个项目叫做SOAR,这是由Paul Zell和Pranav Atreya及其合作者完成的。这里的目标是在完全没有人类监督的情况下使用自主数据,没有人类的干预,没有人类的奖励函数,在这个设置中,我们实际上使用了一个视觉语言模型来观察场景并提出机器人可以练习的任务。
例如,大型语言模型(LLM)可能会说机器人可以从银色的锅里拿出香蕉,这是一个有效的练习任务,也许机器人会成功,也许不会。然后我们可以使用这个命令,使用图像生成模、扩散模型,基本上是微调稳定的扩散,来生成成功完成这个任务可能看起来的图像。然后我们将这个命令交给机器人的基础模型。机器人尝试这个任务,有时可能会成功,有时可能会失败。无论成功还是失败,这些数据随后都可以用于额外的微调,以使机器人在这种场景中表现得更好。
这样做的优点在于,因为它是完全自动化的,可以在没有任何人类干预的情况下进行大规模运行。所以可以让它在夜间运行,可以在没有人在场的情况下运行它,它将提供额外的训练数据,以使机器人适应新的场景和新的对象类型。
我们发现,当我们使用这种自主数据适应特定场景时,性能提高了50%以上,而当我们实际上添加了其他场景的数据时,性能会得到额外的提升。这与我们之前看到的通才相对于专家的好处是一样的,这非常令人兴奋,我们实际上可以通过练习让这些基础模型在具备一些基本能力后得到提升。
我们在多种不同的下游任务上测试了这一点,并看到了相当显著的改进。
为了结束这次演讲,我想以一点讨论作为总结,讨论我描述的一些想法与我们在其他领域看到的基础模型之间有何关联。因此,对于LLMs(大型语言模型)和BLMs(大型生物医学模型)的基础模型训练的解剖,这些话题在机器人学之外的领域实际上已经相当成熟了。
所以如果你看像OpenAI和Google这样的公司是如何训练基础模型的,方式通常是这样的:从一个从网络抓取的大型且多样化的预训练数据集开始,设计一个非常有表现力的高容量架构,在这个数据集上训练这个架构,那是预训练阶段。
然后有一个后训练或对齐阶段,我们可能会使用高质量的数据集,并通过监督学习进行微调,有时被称为SFT(超级微调)或指令调整,我们还可能通过RLHF(通过人类反馈的强化学习)与人类偏好进行微调,与人类偏好的微调理想地超越了我们仅通过人类生成的例子所能得到的结果,那些微调程序实际上对于获得真正好的模型非常重要。
DAI 2024 上涌现出了一系列高水平的主旨报告、论文展示和学术讨论,推动了人工智能领域的前沿研究,特别是在多智能体系统、强化学习和具身智能等方面,提出了新的思路和解决方案。未来,DAI大会将继续发挥作为学术界和工业界沟通合作的桥梁作用。AI 科技评论将持续关注。
更多内容,点击下方关注:
未经「AI科技评论」授权,严禁以任何方式在网页、论坛、社区进行转载!
公众号转载请先在「AI科技评论」后台留言取得授权,转载时需标注来源并插入本公众号名片。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.