LCB模型引领机器人进入端到端新维度

论文标题:

From LLMs to Actions: Latent Codes as Bridges in Hierarchical Robot Control

论文作者:

Yide Shentu,Philipp Wu,Aravind Rajeswaran,Pieter Abbeel

项目地址:

https://fredshentu.github.io/LCB_site/

导读:

Pieter Abbeel提出可学习的潜在代码层LCB连接低频大语言模型推理端和高频的机器人控制端,能够灵活地传达任务计划中的目标,而不会受到语言限制的约,同时支持端到端微调。实验评估在LangTable和CALVIN的基准测试中表明,该模型在解释和执行各种推理和长期目标方面表现出色。LCB层次结构的灵活性和有效性为现实世界的机器人应用带来了希望。©️【深蓝AI】编译

1. 摘要

机器人分层控制需要定义一个明确的接口层在高级任务规划器和低级策略之间进行通信。随着大语言模型(Large Language Model,LLM)的出现,语言已经成为一种非常有前景的接口层。但并不是所有的任务都可以分解为容易用自然语言表达的步骤(比如表演舞蹈动作等),且存在跨领域学习和灾难性遗忘的挑战。所以伯克利的Pieter Abbel团队提出一种可学习的潜在代码作为克服这些限制的桥梁(Latent Codes as Bridges,LCB)。LCB作为一种可学习的潜在代码能够灵活地传达任务计划中的目标,而不会完全受到语言限制的约束。另外,它还支持端到端微调,且不会破坏在预训练期间学习到的单词标记的嵌入空间。通过对语言表和Clavin(两种常见的基于语言的具身代理基准)的实验,作者发现LCB的表现优于只利用纯自然语言作为推理和多步骤行为的Baseline。

2. 工作概述

机器人领域有两种主要的架构范式:一是模块化分层策略,包括符号规划,轨迹生成和跟踪,二是端到端策略,直接将感官观察数据映射到动作。LLM的出现使得分层控制研究愈发火热,尽管利用LLM和多模态大语言模型代替高级符号规划器的方法取得了较好的结果,但是分层体系结构的核心缺陷仍然存在——即需要一组明确定义的控制语言和各层接口。举个例子,LLM利用一些动词表示低级的控制语言,比如go-to, pick, place等,但还是有很多人类动作是很难用语言来表述的。

所以Pieter Abbeel等人提出LCB的控制策略架构,它将模块化分层架构的优势与端到端学习相结合,如图1所示。具体来说,LCB不仅可以直接利用LLM进行高级推理,利用预先训练的技能/策略进行低级控制,并通过端到端学习改进这些组件,这些都可以通过在界面层学习一个可以调节低级策略的标记来实现。LCB可以克服仅依赖语言作为接口层的局限性,其次,通过利用单独的标记,开发者不会在微调期间破坏LLM的核心语言生成和推理能力。LCB模型实例建立在LLaVA之上,并在具身推理和长远任务的模拟数据集上对模型进行微调。

在这里插入图片描述
图1|LCB结构概述©️【深蓝AI】编译

团队的研究目标是希望开发一种分层策略架构,当提供自由格式的语言描述时,该架构可以使机器人执行各种操作任务。它可以处理细粒度或接触类型丰富的低级操作任务,同时还具有推理和规划能力,且无需任何外部声明。

在介绍LCB之前,分别先介绍另外两类方法的不足之处,这为LCB方法提供了想法和基础,如图2所示。

在这里插入图片描述
图2|基于LLM的分层策略的高级架构比较©️【深蓝AI】编译

2.1 使用预定义技能的LLMs

LLM通过调用一组预定义的技能或API来执行高级任务规划,这些API(例如go-to, push)作为提示描述需要提供给LLM。这种方法有2个主要缺点:首先,对于LLM来说,规划技能需要附加语义;其次,这将技能集限制在一个封闭的词汇表中,并阻止任何形式的新技能的推广。此外,代码编写能力要求高质量的LLM,这一标准主要由GPT-4等专有商业模型满足,而且端到端的微调会比较难。

2.2 语言作为接口

以语言引导的低级策略,可以将简单的语言命令作为输入(例如,拿起红色积木),并产生完成任务的操作。由于这些策略可以接受自由格式的文本作为输入,因此至少在理论上,它们具有推广到新指令的能力。此外,它们可进行端到端的微调:从高级指令、通过LLM、到语言调节策略、最终到动作。然而,这类方法也存在关键限制——首先并非所有高级任务都可以用简单的语言分解为子任务,例如,想象一下尝试描述让机器人随着歌曲跳舞的分步说明。其次,使用这类架构进行端到端微调可能会破坏LLM最初具有的规划和推理能力。

3. 关键技术

研究员们为了克服上述方法的缺点,引入一个额外的潜在代码作为高级LLM和低级语言条件策略之间的桥梁。通过添加专门的标记来增强LLM的标记器,提示模型预测响应。然后,标记的最后一层嵌入被用作下游策略网络的潜在目标。这个可学习的标记的嵌入有助于将具体的目标差别传输到低级策略。此外,通过使用这个额外的可学习标记,保留了语言标记的嵌入空间,从而防止在端到端微调期间发生任何灾难性遗忘。

3.1 LCB的架构和实现细节

LCB将速度慢但功能强大的预训练多模态大语言模型与快速但简单的决策策略相结合。LCB模型将视觉和语言作为输入,低级操作作为输出。这种集成涉及一个双组件系统,一个预训练的LLM,表示为 f ϕ f_{\phi} fϕ,一个预训练的策略,表示为 π θ \pi_{\theta} πθ。LLM由纯文本大语言模型和视觉编码器组成,后者将图像投影到纯文本LLM嵌入空间中,实现文本和视觉输入的多模态理解。在这些工作中,作者团队使用LLaVA作为预先训练的LLM。 f ϕ f_{\phi} fϕ接受文本标记 x t x t x_{txt} xtxt和图像 x i m g x_{img} ximg,并输出文本标记。预训练的策略 π θ \pi_{\theta} πθ接受当前时间步的环境观测结果 o t o_t ot和隐式条件 z z z作为输入,输出当前时间步下的动作 a t a_t at

在语言模型的词汇表中引入一个额外的标记,使语言模型能够生成动作嵌入来控制较低级别的动作策略。当向模型提供可执行请求时,该模型经过训练以输出标记。研究团队按照语言指导助手(Language Instructed Segmentation Assistant, LISA)中使用的方法,从标记的模型中提取出最后一层嵌入特征,该嵌入特征通过线性层投影到策略隐条件空间中提取隐特征 z A C T z_{ACT} zACT

3.2 数据处理

LCB框架需要丰富的数据,研究团队创建了一个小型指令调整数据集。
将文本领域的policy数据转换为和LLM助手的聊天数据。典型的用自然语言创建的轨迹数据集包含一个语言指令和一个由“(观察,动作)对" 组成的列表数据。研究员使用模板以编程方式生成聊天交互格式的文本数据,举个例子:

“用户:你能帮我?

助手:好的”。

这些数据可以训练模型识别和响应动作请求,形成一个从对话过渡到行动的界面。

3.3 训练

LCB的训练采用了多种技术整合LLM和策略组件。利用LoRA(Low Rank Adaptation)微调LLM,从而实现更高效的训练。研究团队使用冷启动方法进行策略训练,首先固定动作解码器,仅微调语言模型。这个初步阶段的重点时将LLM生成的嵌入特征与策略的特征空间对齐。添加额外的CLIP损失规范隐式嵌入,确保语言模型中的嵌入与较低级别的真实描述对齐。总结来说,损失函数包含以下三个部分:

L = λ 1 L p o l i c y ( π θ , o t , a t , z A C T ) + λ 2 L L M ( f ϕ , x t x t , x i m g ) + λ 3 L C L I P ( z A C T , g t x t ) L=\lambda_{1}L_{policy}(\pi_{\theta},o_{t},a_{t},z_{ACT})+\lambda_{2}L_{LM}(f_{\phi},x_{txt},x_{img})+\lambda_{3}L_{CLIP}(z_{ACT},g_{txt}) L=λ1Lpolicy(πθ,ot,at,zACT)+λ2LLM(fϕ,xtxt,ximg)+λ3LCLIP(zACT,gtxt)

4. 实验效果

研究团队在一系列不同的环境和任务中系统地评估LCB,以证明将预训练的大语言模型(LLM)与特定领域的预训练低级策略相结合的有效性。这一操作的主要目标就是研究该策略的能力,特别是高级语言理解能力和低级控制能力,包括以下三点:

●LCB是否能够比纯语言学习更有效地结合LLM和policy?

●LCB是否能够利用LLM的预训练功能,通过将高级目标分解为逐步的隐式命令来解决长期任务?

●LCB的表现能否超过其他基于LLM的baselines方法?

4.1 LangTable评估

使用与原始语言表模型训练相同的数据集来应用LCB方法,如表1所示。通过使用预训练的LLM进行端到端优化,基准测试的成功率达到或超过了基于LLM的baseline方法。这表明LCB能够无缝衔接预训练的LLM和policy。

在这里插入图片描述
表1|在原始语言表基准任务上进行比较©️【深蓝AI】编译

4.2 CALVIN评估

CALVIN是一个开源模拟基准,旨在学习受语言制约的长期任务。该环境采用配备平行夹抓器的7自由度Franka机械臂,并与桌子上摆放的物体进行交互。在每个实验中,机器人都需要解决一系列复杂的6D操作任务,这些任务由现实世界的物理控制并由一系列语言引导。每个子任务都与特定的语言指令配对。成功完成后,机器人将继续执行下一个子任务并附带新指令。CALVIN包含四个不同的环境A/B/C/D,具有一组共享的语言指令和子任务。

在这里插入图片描述
表2|CALVIN各种方法的任务完成率©️【深蓝AI】编译

●RoboFlamingo (RF):通过微调交叉注意力层直接输出动作,从而保持其语言理解能力。然而,这种方法要求每次进展到后续状态时重新执行LLM,从而导致效率低下;

●3D Diffusion Actor (3DDA):将扩散策略与3D场景表示和CLIP结合起来作为语言嵌入,3DDA在提供标准语言教学输入的情况下,在CALVIN基准上设置了当前SOTA。然而,一个明显的限制源于它所采用的CLIP文本模型的限制,3DDA无法在其训练分布之外很好地推广到语言学习;

●LCB:CALVIN的LCB集成了预先训练的LLaVA作为多模态大型语言模型主干,以预先训练的3DDA作为行动策略。这种组合利用3DDA的SOTA功能来实现协同效应。CALVIN的LCB在语言理解和低级操作方面都表现出色。

5. 总结与未来展望

这项工作引入一种新的方法LCB将大语言模型的抽象推理能力与低级行动策略相结合。该方法不仅仅是像以前的工作一样堆叠这些能力,而是通过学习到的隐式接口以端到端的方法将它们集成在一起。实验评估在LangTable和CALVIN的基准测试中表明,该模型在解释和执行各种推理和长期目标方面表现出色。LCB层次结构的灵活性和有效性为现实世界的机器人应用带来了希望。

编译|xlh

审核|Los

移步公众号【深蓝AI】,第一时间获取自动驾驶、人工智能与机器人行业最新最前沿论文和科技动态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/723275.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

手把手!从头构建LLaMA3大模型(Python)

1. 前期准备 让我们先来想一想大概需要做什么。 首先是模型架构的选择。原工作用的是 GPT Neo 架构(可以看他们的 config),这个算是很老的模型了,最初是 EleutherAI 用来复现追踪 GPT-3 的工作的,现在用的也比较少了…

JavaScript运行原理和执行过程

参考: https://www.cnblogs.com/hexrui/p/15939592.html 1、执行上下文栈(调用栈) GECGlobal Execution Context(GEC)被放入到ECS(Execution Context Stack,简称ECS)中 GEC开始执…

走嵌入式方向有必要参加数模的比赛,涨一下见识吗?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!参加数模(数学…

MYSQL 四、mysql进阶 3(存储引擎)

mysql中表使用了不同的存储引擎也就决定了我们底层文件系统中文件的相关物理结构。 为了管理方便,人们把连接管理、语法解析、查询优化这些并不涉及真实数据存储的功能划分为 Mysql Server的功能,把真实存取数据的功能划分为存储引擎的功能&…

【Unity】实现分屏开发

前言: 最近有个项目二期需要做分屏开发,今天恰好研究一下为后续的项目做个准备。 原理 整体的实现还是蛮简单的,主要是通过camera的一个targetDisplay属性进行设置 可以看到unity支持最多八个分屏 实现 场景搭建 ,这里直接使…

Linux mongodb安装及简单使用

说明:本文章主要是对mongodb的单击安装 1.创建文件夹,准备安装包 cd /user/local mkdir tools 2.解压mongodb包 mkdir mongodb tar -xvf mongodb-linux-x86_64-rhel70-5.0.11.tgz -C mongodb 3.进入解压目录 cd mongodb cd mongodb-linux-x86_64-…

别再全网找了,这四款良心软件,还你一个清爽的电脑桌面

现在电脑桌面上软件多得吓人。 要是不整理,看着就闹心;整理起来呢,又累得够呛。 所以,很多人干脆就不用那些“用着没意思,删了又觉得可惜”的软件了。 但不管你怎么删,有些软件还是得留着,就像…

数据治理创新路:建设数据集市,强化数据报送一致性新实践

随着信息化和数字化的飞速发展,数据已经成为企业运营和决策的核心要素。然而,数据治理的复杂性和多样性给企业带来了不小的挑战。为了更好地应对这些挑战,许多企业开始探索数据治理的创新路径,其中建设数据集市和强化数据报送一致…

罗盘时钟屏保你见过吗?非常有特色的电脑时钟屏保

很多人都用过屏保,印象中系统自带的屏保,款式比较少,就那几款,在桌面飞来飞去的动画,基本都不怎么好看,特别有印象的就是那种泡泡屏保,这个算是比较美观的了。今天小编给大家介绍一款非常有特色…

正则表达式写起来不简单,但用起来真香

说在前面 🎈整理一些常见常用的正则表达式。 常见的正则表达式 1、手机号码 /^[1][3456789][0-9]{9}$/这个正则表达式 /^[1][3456789][0-9]{9}$/ 用于匹配中国的手机号码的一部分,但不包括全部有效的手机号码格式。下面是对它的详细解释: ^…

Linux 防火墙 Firewall 和 Iptables 的使用

如果我们在Linux服务器的某个端口上运行了个服务,需要外网能访问到,就必须通过防火墙将服务运行端口给开启。Linux中有两种防火墙软件,CentOS7.0以上使用的是firewall,CentOS7.0以下使用的是iptables(使用较少且不建议…

React 通信:深层传递(Props、Context、Children Jsx)

在之前的文章 探讨:围绕 props 阐述 React 通信 中总结了关于“父子”组件传值,但是当需要在组件树中深层传递参数以及需要在组件间复用相同的参数时,传递 props 就会变得很麻烦。 实际案例: 下述展示有两种状态:① 详…

【BFS算法】广度搜索·由起点开始逐层向周围扩散求得最短路径(算法框架+题目)

0、前言 深度优先搜索是DFS(Depth Frst Search),其实就是前面所讲过的回溯算法,它的特点和它的名字一样,首先在一条路径上不断往下(深度)遍历,获得答案之后再返回,再继续往下遍历。…

python 【包含数据预处理】基于词频生成词云图

基于词频生成词云图 背景目的 有一篇中文文章,或者一本小说。想要根据词频来生成词云图。 为什么中文需要分词 中文分词是理解和处理中文文本的关键步骤,它直接影响到后续的文本分析和信息提取的准确性和有效性。 无明显单词分隔:中文文本不…

jumpserver堡垒机集群搭建

1、环境 操作系统:龙蜥os 7.9 firewall-cmd --permanent --zonepublic --remove-servicessh firewall-cmd --permanent --zonepublic --add-rich-rulerule familyipv4 source address10.90.101.1 port port22 protocoltcp accept firewall-cmd --reload2、安装NFS…

Blazor 中基于角色的授权

介绍 Blazor用于使用 .NET 代码库创建交互式客户端 Web UI。Microsoft 默认在 Blazor 应用程序中提供了一个用于身份验证和授权的身份框架。请注意,他们目前使用 MVC Core Razor 页面作为身份验证 UI。使用“Microsoft.AspNetCore.Identity.UI”包库来实现这一点。…

vue-cli 根据文字生成pdf格式文件 jsPDF

1.安装jspdf npm install jspdf --save 2.下载ttf格式文件 也可以用C:\Windows\Fonts下的字体文件,反正调一个需要的ttf字体文件就行,但有的字体存在部分字体乱码现象 微软雅黑ttf下载地址: FontsMarket.com - Download Microsoft YaHei …

2024zzb理论

1.下列图表中,能够识别异常值的是() 2.下列选项中,用于绘制单变量分布的函数是() 3.下列函数中,可以没置当前图形轴范围的是 4.下列函数中,可以为图表设置标题的是()。 5.下列pyplot模块的函数中,可以绘制散点图的是()…

11.【机器学习】十大算法之一随机森林算法原理讲解

【机器学习】十大算法之一随机森林算法原理讲解 一摘要二个人简介三什么是随机森林?3.1 决策树3.2 集成方法3.2.1 Bagging方法3.2.2 Boosting方法 3.3 随机森林算法3.4 随机的含义 四案例演示一4.1 利用随机森林进行特征选择,然后使用SVR进行训练4.2 利用…

数据中心节能策略

管理员可以运用多种技术来提升数据中心的能源效率。实际上,通过实施一些简单的改进措施,就能大幅减少能源消耗。 基础设施电力需求可能会增加运营费用。数据中心管理员可以通过满足CPU、存储和冷却系统的电源要求来降低公用事业成本。 数据中心的能源成…