机器人技术和机器学习领域正变得越来越紧密地交织在一起。令人惊奇的是,如此多不同形式的学习结合在一起来解决我们在机器人技术中看到的挑战。过去,我一直对一些不同的机器学习领域充满好奇,例如矢量搜索、机器人强化学习、计算机视觉和癌症治疗机器学习。如今,在 Cobot,同样的好奇心推动我们解决机器人技术中最具挑战性的问题之一:机器人技术的基础模型。我们特别关注广义操纵,这一领域将改变机器人与我们周围世界的人类协作的能力。我们相信,解锁现实应用程序的关键在于开发可以泛化于更广泛任务的模型。
在这篇博客中,我将讨论不同形式的机器学习应用于机器人操作的几种方法,包括实际方面和未来改进的领域。无论您是机器学习研究人员还是只是对机器人技术的未来感到好奇,我希望这次探索能够让您深入了解人工智能和机器人技术交叉领域的发展。
到目前为止,我们大多数人都熟悉像 ChatGPT 或 Claude 这样的大型语言模型。其发展受到以下几个因素的推动:(a) 丰富的公开数据,(b) 训练后使模型与人类意图保持一致,以及 (c) 训练目标之间的高度重叠(预测下一个单词)以及使用模型的界面。第四个方面不太受重视,但它也很重要:人类语言是由我们塑造的,与人与人之间的信息交流非常相关。这些不同的因素结合在一起,给我们带来了强大的、可预见的可改进的东西。当我们扩大模型和数据的规模时,我们也会“出现”一些能力——例如上下文学习或思维链推理。
那么人工智能与机器人操作的结合在哪里呢?机器人基础模型是什么样的?在这一点上,机器人基础模型更多的是一个理想的想法,而不是具体的现有能力。在理想的世界中,我们将拥有大量高质量的机器人数据,可以从中训练一个仅预测下一个代币的大型模型。在这个世界中,令牌将来自不同的领域:语言(如任务的自然语言描述或音频反馈)、视觉(例如,机器人做有用的事情的图像和视频、激光雷达点云等)、动作(电机关节位置或末端执行器状态的记录)和传感器读数(例如力反馈)。我们拥有大量与机器人相关的数据,我们将所有这些数据编码成一个大的标记序列,然后训练一个模型来预测该数据集中的下一个标记。根据我们在语言缩放定律中看到的内容,我们预计这种方法会随着更多数据而变得越来越好。
但存在一些瓶颈,使机器人技术在质量上落后于语言模型许多步骤。首先,我们没有那么多公开可用的行动和传感器数据。其次,与语言(或图像)生成相比,我们可能对机器人模型性能有更高的准确性期望。第三,机器人生活在现实世界中,充满混乱、动态和安全考虑。
那么我们如何解决这些问题呢?在基础模型方面,最相关的工作是“视觉-语言-动作”(VLA)模型,例如 Octo、LLARVA、OpenVLA 和 RT-X 系列模型。这些模型是同一想法的变体:使用相对简单的下一步动作建模方法,并在他们能找到的最大的机器人数据集上进行训练。这些模型中的大多数都使用 Open-X 实施例数据集。该数据集包含 240 万个机器人通过远程操作来完成任务的片段,大部分是在单臂机器人上收集的。通过对该数据集(的过滤版本)进行训练(具有不同数量的相机、不同的硬件实施例等),作者希望学习能够完成不同机器人操作任务的底层基础模型。
训练数据输入的一般格式是目标的简短自然语言文本描述、来自一个或多个摄像机的一系列图像帧(通常是 RGB,但有时具有深度或 LIDAR)以及当前和/或最近状态的混合机器人关节和传感器读数。有时,目标也可以通过所需目标状态的演示图像进行编码。然后训练该模型来预测机械臂未来的一些运动。
通过这个经过训练的模型,我们可以看到该模型如何在不同的机器人硬件和不同的任务上执行。性能通常存在很大差异——有些任务比其他任务简单得多。 “理想的”是高零样本性能——考虑到新的情况和新的任务,该模型将“立即工作”。这种程度的概括是困难的,虽然有一些关于这种能力的有趣暗示,但我们目前还没有真正大规模地实现这一点。因此,更实用的方法是使用基本模型作为学习新任务的起点。与从头开始为每个任务或环境学习一个全新的模型相比,我们在新任务上微调预训练模型,目标是学习这个新任务并在其变体上表现良好,比其他任务更容易从头开始学习。 OpenVLA 提供了这种微调能力的一些初步证据。
尽管 Open-X 实施例数据集很大,但与互联网上数万亿的文本和图像标记相比仍然相形见绌。因此,中间目标是重复使用语言和视觉语言模型(已在更大的数据集上预先训练)来完成它们擅长的事情,然后在此基础上调整/合并少量的机器人信息。这样做是希望(a)语言/视觉领域和机器人技术之间存在大量语义重叠,以及(b)机器人动作学习可以比世界知识更简单。因此,这些基础模型使用预先训练的语言和视觉编码器。
对于机器人模型要记住的一件事是这些模型的大小和效率很重要。出于多种原因,我们非常有动力拥有快速、小型的机器人模型,以便这些模型可以在较小的机器人计算硬件上运行,并以足够低的延迟进行机器人运动预测来处理任务。 Octo、OpenVLA 和 RT-X 位于该连续体的不同部分 – Octo 是最小的,参数为 20M-90M。 OpenVLA 的参数要大得多,为 7.6B。然后最大的RT-2-X模型有55B个参数。 Octo 可以在较小的 GPU 上运行,例如 NVIDIA Jetson。 OpenVLA 需要一些优化才能在更大的 NVIDIA 4090 GPU 上运行,但它仍然只能以每秒几次推理的速度运行。 RT-2-X 是闭源的,但需要大型硬件才能实现适当的延迟。
因此,机器人基础模型目前并不是所有维度上的赢家。那么,人们还在研究哪些其他人工智能技术来推动机器人能力的发展呢? (请注意,我在这里重点关注一些更基于 ML 的方法——也有许多经典/非学习方法!)
这是基于机器学习的机器人操作最常见的方法。上面的机器人基础模型正在执行一种模仿学习的形式(您可能还听到过术语“行为克隆”)。这个想法很简单——进行一系列出色完成任务的演示,然后在给出与演示期间看到的类似输入时输出相同的移动命令来学习复制它们。这个概念很简单:观察任务的演示,然后训练机器人在面临类似情况时复制这些动作。这种方法是有效且可预测的,特别是当训练数据准确地代表任务和环境时。然而,它的主要缺点是它难以应对现实世界的不可预测性——机器人可能会遇到训练数据中未涵盖的场景,从而导致错误迅速复合。虽然研究人员正在努力改进这些模型以处理更多不同的情况,但它们通常仅在训练数据范围内表现良好,并且很难在训练数据范围之外进行推广。
除了 VLA 之外,其他一些相关的现代模仿学习方法还有 DAgger、ACT(Action Chunking Transformer)、Diffusion Policy 和 PerAct。
假设我们没有过多的专家培训演示;我们还能学习如何做任务吗?是的,但它通常需要与环境进行大量交互。在强化学习中,我们不是试图复制专家已经证明的内容,而是使用某种奖励措施作为学习信号。当我们的机器人与环境互动时,它可能会获得奖励。当它获得奖励时,我们必须弄清楚哪些行为导致(直接或间接)获得这些奖励,以便我们将来可以做更多的事情。从理论上讲,这是一种更强大、更通用的学习形式。但它也有很多缺点——奖励可能非常罕见(“稀疏”),因此我们可能没有任何奖励可供学习(如果我们已经通过我们的模型获得了很多奖励,那么我们就已经解决了问题!)。通常必须为每个任务手工设计奖励函数,这可能需要大量的努力和调整才能正确。我们的模型必须探索环境,这可能非常低效——特别是如果我们试图在可能有许多安全考虑的现实世界中学习。因此,无模型强化学习更常应用于模拟环境中。
最常见的无模型 RL 方法是基于 PPO(邻近策略优化)等算法和 Q-learning 等值迭代方法构建的策略梯度方法。
在无模型强化学习中,我们无法访问环境模型,因此我们必须从数据中学习一切。通过基于模型的强化学习,我们获得或学习环境某些部分的模型。一旦我们有了一个好的环境模型,那么在该环境中学习就会变得更容易。环境模型让我们预测在不同的假设情况下会发生什么。一旦我们掌握了这一点,我们只需学习在该环境中采取行动的决策即可最大化回报,并且我们可以使用我们的模型来“展望未来”和计划。这似乎比无模型强化学习要好,那么为什么不总是使用它呢?好吧,您仍然需要首先获得环境模型 – 这在模拟中更容易(您可以控制环境并访问底层状态),但在现实世界中要困难得多。有时,学习机器人策略比尝试对所有环境进行建模更简单。这种方法更类似于经典模型预测控制(MPC)。
Alpha Go Zero 是这种方法的一个特别著名的例子,而 Dyna 是一种早期的方法,许多后续的开发都受到了它的启发。
在强化学习中,我们假设奖励函数是给我们的——通常我们是专门为某项任务设计的。但是,如果任务更加模糊,例如自动驾驶,该怎么办?通过逆强化学习,我们会得到专家的演示,然后我们尝试推断专家正在努力实现的奖励函数。然后,我们可以使用学习到的奖励函数作为常规强化学习的指导。同样,这种方法在理论上可以更通用,并且对专家演示的变化更稳健,但它在学习过程中引入了额外的步骤,这可能使学习变得更加困难和不稳定。
有关 IRL 中的一些基础工作,请查看 Maximum Entropy IRL 。例如,最近的一些改进可以在 EvIL 中看到。 IRL 也与其他想法相关,例如从 GAIL 的生成对抗角度构建 IRL。
机器人价格昂贵,难以构建/设置,并且需要努力管理。模拟数据使我们能够在虚拟环境中训练和/或评估模型。这可能会更便宜,更具可扩展性(可以比实时更快地运行模拟,并且具有许多副本)并且更安全。许多团队使用模拟训练数据和评估环境来加快行动速度。在理想的世界中,我们拥有完美、快速、易于创建的真实环境模拟器,我们希望将机器人放入其中。但是,构建真实的模拟器并不总是那么容易,尤其是对于细粒度的操作–它通常需要物理和模拟编码专业知识,并且可能是一个缓慢的过程。
最近越来越受欢迎的一个想法是使用生成模型(图像、视频、程序生成的环境)而不是更传统的编码模拟器。例如,如果我们可以为模型提供当前对场景的观察和一些计划的未来行动,然后要求视频生成模型显示接下来可能发生的情况的想象的未来渲染,那么这对于利用计划来预测未来的模型来说可能非常强大。选择行动。我们可以缓解一些数据瓶颈。这些生成模型对于此类用例来说是否足够好?它们在质量、物理一致性和速度方面还不够出色,但考虑到可用的丰富视频数据,不难相信这些方法很快就会变得更好。或者,我们可以使用生成模型来增强现有的训练数据,例如,要求图像编辑模型创建场景的变化,这有助于使我们的模型对我们在现实世界中看到的潜在变化更加稳健。
我们多次提到演示,但是我们如何创建演示数据呢?方法有很多,需要考虑的重要方面是收集的难易程度和向目标实施例的可转移性。最简单的演示形式是动觉教学——这是一个人通过一系列动作手动移动机器人手臂来完成任务,我们在机器人被引导时记录数据。这可能非常缓慢且不自然,但它与我们的目标处于同一实施例中。类似的方法是领导者-跟随者远程操作。我们不是直接移动目标手臂,而是通过一系列动作移动“领导者”手臂,然后跟随者手臂再现演示的动作——这就是领导者-跟随者 ALOHA 手臂所做的事情。另一种形式的演示是手工编码的启发式策略——人类(或法学硕士……)为完成任务而编写的一段代码。
我们还可以使用带有控制器的 AR/VR眼镜来远程操作机器人。这些演示涉及从控制器运动空间到机器人末端执行器空间的映射。或者,我们可以创建与机器人手臂类似的末端执行器,并跟踪运动。一个特别有趣的实现是斯坦福大学 Shuran Song 实验室的 UMI(通用操纵接口),他们在那里 3D 打印手持式夹具来模仿机器人的末端执行器。
最后,我们还可以考虑被动视频演示。这些可以是机器人执行任务的视频(相同机器人或不同机器人)。或者它们可以是人类执行任务的视频,然后我们尝试学习人类动作和相应的目标机器人动作之间的映射。这种方法拥有最多的可用数据,但它涉及更复杂的处理以将学习转移到目标机器人(并且数据质量可能非常糟糕)。 HumanPlus 是最近的一个例子,当转移到人形机器人上时,取得了非常令人印象深刻的结果。
在机器学习中,我们使用数据示例和成功衡量标准作为反馈,以改进的方向调整我们的模型。因此,我们向训练算法提供数据的顺序很重要。课程学习的重点是以最有效地改进模型的方式设置训练数据排序。例如,如果你立即给一个完全未经训练的模型最难、最复杂的任务,学习算法可能很难处理所有的复杂性。但是,如果您从问题的简化版本开始,然后逐渐增加复杂性和难度,您可以引导模型首先学习更简单的基础知识,然后在此基础上更有效地进行构建。这可以使学习速度更快,或者可以帮助模型达到更高的性能。我们可以想象由启发式指导的课程,或者我们可以考虑自动设计课程的方法。
除了课程之外,我们还可以研究如何设置学习问题的不同部分,并添加自动化级别。通常,人类设计奖励、分析模型结果、调整算法和数据等。机器学习过程涉及人类研究人员的参与。但随着 LLM、VLM 等变得更好,我们可以使用这些模型来提供监督信号或动态调整模型、环境或数据管道的各个方面吗?如果我们可以自动化部分 ML 标签(例如,参见 Manipulate Anything 中的 VLM 自动验证),那么我们就可以产生复合效果。
语言模型帮助我们理解互联网级别的基于文本的知识,但视觉语言模型试图将视觉理解纳入同一空间。一大类模型基于将语言和视觉理解嵌入到同一空间中,其中包括 CLIP 及其变体 (SigLIP) 等模型。这些模型在同一空间中嵌入了简短的语言描述和图像编码,因此描述“狗的照片”和狗的实际图片显示为相似的表示。另一类模型是开放词汇对象检测或分割模型,例如 OWL-ViT 或 Grounded-SAM。
还有更多类似法学硕士的视觉语言模型试图采取“标记世界”的方法。在这些模型中,我们将图像和文本视为令牌序列。我们将图像分解成更小的块,并学习这些块的表示,并将它们作为序列的一部分输入到模型中。像 LLAVA 这样的方法使用开源 LLM 作为处理和生成输出的基本模型,我们将图像映射到“语言标记空间”。我们对混合数据进行训练,例如网络文章中交错的图像和文本、互联网上图像的替代文本标题等。这些 VLM 往往具有基于任务的不同性能。这些模型在高级图像描述和更简单的视觉问题上可以做得很好,但它们在理解有关图像或空间推理的更多细节方面可能会遇到困难。 GPT4-v、Gemini 和 Claude 提供 API,还有 LLAVA 、 Chameleon 、 CogVLM 和 Cambrian 等开源模型选项。
最大的差异之一是评估的难度和可重复性。例如,在其他类型的机器学习(例如图像分类)中,我们有“测试集”。这些是输入和已知正确输出的数据集,任何人都可以轻松运行它们(并且可以快速运行)。操作是不同的——要真正重现评估,另一个小组需要 (a) 支付并设置相同的硬件,(b) 非常详细地了解原作者设置环境的步骤,以及 (c) )在现实世界中运行部署。这种评估的困难减缓了该领域的进展。确定方法 A 优于方法 B 所需的时间、精力和成本明显更高。
机器人操作变得更加困难的第二个原因是问题的连续性,即模型采取改变环境的动作。在图像分类中,我们对每个示例进行一步预测,并且我们不会根据预测进行任何更改(“IID”——独立同分布)。通过机器人操作,我们可以做出许多预测,一个接一个。这一系列操作意味着错误可能会复合。而且,机器人可以采取改变环境和问题性质的行动。这增加了两个重要的变异来源,使问题更难解决。
机器学习领域正在不断发展,每天都有新的论文和演示出现。但这些新方法的质量可能大不相同。我们必须想出一些方法来快速理解方法或演示真正展示的内容,以及在预测它如何继续发展或在我们的领域中应用时要问自己哪些问题。当有关机器人操作的新论文、演示或公告出现时,值得思考该方法的进步方式以及可能存在的困难。我们想要庆祝进步,但也要现实地考虑如何应用它。这里有几个问题需要问:
- 控制哪些维度?
- 向模型输入什么输入?
- 与针对不同任务的不同模型相比,同一模型可以实现多少多样性?
- 对目标实施例进行了多少校准和调整,必须在新机器人上重新运行?
- 任务是如何选择的?抽样偏差会在哪里出现?
人工智能和机器人技术的融合具有巨大的潜力,特别是在机器人操纵领域。基础模型具有泛化各种任务的能力,正在为更通用、更强大的机器人铺平道路。尽管挑战仍然存在——例如数据稀缺、现实环境的复杂性以及高效模型部署的需求——但我们迄今为止所看到的进展是有希望的。
在 Cobot,我们致力于突破机器人智能的极限。通过整合不同领域的见解并利用基础模型,我们正在开发能够更好地理解和帮助各个行业的人类的机器人。在这个领域工作是一个激动人心的时刻!
Michael Vogelsong 是 Cobot 人工智能基础模型的负责人,Cobot 是一家由红杉资本支持的机器人公司,引领着机器人智能的大规模部署。在加入 Cobot 之前,Michael 是 Groundlight AI 的首席机器学习工程师。在此之前,他领导了亚马逊矢量搜索、机器人人工智能领域的机器学习项目,并且还从事癌症治疗机器学习方面的工作。迈克尔拥有杜克大学生物医学工程学位。
免责声明
本文内容(图片、文章)翻译/转载自国内外资讯/自媒体平台。文中内容不代表本站立场,如有侵权或其它,请联系 admin@eiefun.com,我们会第一时间配合删除。