强化学习大牛Sergey Levine新作:三个大模型教会机器人认路

胖雪小哥_3649

胖雪小哥_3649

2023-04-12

1703人浏览

转载

​内置大模型的机器人,在不看地图的情况下,学会了按照语言指令到达目的地,这项成果来自强化学习大牛 sergey levine 的新作。

机器人客服服务公司网站模板
机器人客服服务公司网站模板

机器人客服服务公司网站模板是一款适合提供机器人客服服务公司宣传网站模板下载。提示:本模板调用到谷歌字体库,可能会出现页面打开比较缓慢。

下载

给定一个目的地,在没有导航轨迹的情况下顺利到达,有多难?

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

图片

对于方向感不好的人类来说,这个任务也是很有挑战性。但在最近的一项研究中,几位学者只用三个预训练模型就把机器人「教会了」。

我们都知道,机器人学习的核心挑战之一是使机器人能够按照人类的高级指令执行各种各样的任务。这就要求机器人能够理解人类的指令,并配备大量不同的动作,以便在现实世界中执行这些指令。

对于导航中的指令遵循任务来说,此前的工作主要集中在从带有文本指令注释的轨迹中学习。这样可能可以实现对文本指令的理解,但数据注释的成本问题阻碍了这种技术的广泛使用。另一方面,最近的工作表明,自监督训练的目标条件策略可以学习到稳健的导航。这些方法基于大型的、无标记的数据集,通过事后重新标记来训练基于视觉的控制器。这些方法具有可扩展性、通用性和稳健性,但通常需要使用基于位置或图像的笨重的目标规范机制。

在一篇最新的论文中,UC 伯克利、谷歌等机构的研究者旨在结合这两种方法的优势,使机器人导航的自监督系统能够适用于没有任何用户注释的导航数据,利用预训练模型的能力来执行自然语言指令。研究者使用这些模型来构建一个「界面」,用来向机器人传达任务。这个系统借助于预训练的语言和视觉 - 语言模型的概括能力,使机器人系统能够接受复杂的高级指令。

图片

​

  • 论文链接:https://arxiv.org/pdf/2207.04429.pdf
  • 代码链接:https://github.com/blazejosinski/lm_nav

研究者观察到,可以利用在视觉和语言数据集的大型语料库上训练的现成预训练模型(这些语料库广泛可用,并显示出零样本泛化能力)来创建界面,以实现具体的指令跟踪。为了实现这一点,研究者结合了视觉和语言的 robot-agnostic 预训练模型以及预训练导航模型的优点。具体而言,他们使用视觉导航模型(VNM:ViNG)来将机器人的视觉结果创建为环境的拓扑「心理地图」。给定自由形式的文本指令,使用预训练的大型语言模型(LLM:GPT-3)将指令解码为一系列文本形式的特征点。然后,使用视觉语言模型(VLM:CLIP)通过推断特征点和节点的联合似然概率来在拓扑图中建立这些文本特征点。之后使用一种新的搜索算法来最大化概率目标函数,并找到机器人的指令路径,然后由 VNM 执行。 研究的主要贡献在于大规模模型下的导航方法(LM Nav),一个具体的指令跟踪系统。它结合了三个大型的独立预训练模型——一个利用视觉观察和物理动作(VNM)的自监督机器人控制模型,一个将图像置于文本中但没有具体实施环境(VLM)的视觉语言模型,以及一个大型语言模型,该模型可以解析和翻译文本,但没有视觉基础或体现感(LLM),以便在复杂的真实环境中实现长视野指令跟踪。研究者首次将预训练的视觉和语言模型与目标条件控制器相结合的想法实例化,以在目标环境中不进行任何微调的情况下得出可操作的指令路径。值得注意的是,这三个模型都是在大规模数据集上训练的,具有自监督的目标函数,并且在没有微调的情况下现成使用 - 训练 LM Nav 不需要对机器人导航数据进行人工注释。

​实验表明,LM Nav 能够在 100 米的复杂郊区导航过程中,在新环境中成功地遵循自然语言指令,同时使用细粒度命令消除路径歧义。

图片

​LM-Nav 模型概览

那么,研究者是如何利用预训练好的图像和语言模型,为视觉导航模型提供文本界面的?

图片

​1、 给定目标环境中的一组观测值,使用目标条件距离函数,也就是视觉导航模型(VNM)的一部分,推断它们之间的连通性,并构建环境中连通性的拓扑图。

图片

​2、大型语言模型(LLM)用于将自然语言指令解析为一连串的特征点,这些特征点可以作为导航的中间子目标。

图片

​3、视觉 - 语言模型(VLM)被用来在特征点短语上的基础上建立视觉观察结果。视觉 - 语言模型推断出一个关于特征点描述和图像的联合概率分布(形成上述图形中的节点)。

图片

​4、利用 VLM 的概率分布和 VNM 推断的图连接性,采用一种新颖的搜索算法,在环境中检索出一个最优指令路径,该指令路径(i)满足原始指令,(ii)是图中能实现目标的最短的路径。

图片

​

5、 然后,该指令路径由目标条件策略执行,该策略是 VNM 的一部分。​

图片

实验结果

定性评估​

图 4 展示了机器人所走路径的一些实例(注意,机器人无法获得头顶上的图像和特征点的空间定位,所显示的只是视觉效果)。

图片

​在图 4(a) 中,LM-Nav 能够成功地从其先前的穿越中定位出简单的特征点,并找到一条通往目标的短路径。虽然环境中存在多个停车特征点,但公式 3 中的目标函数使机器人在上下文中选择正确的停车特征点,从而使整体行进距离最小。

图 4(b) 强调了 LM-Nav 解析有多个特征点的指定路线的能力—尽管在无视指令路径的情况下,直接到达最后的特征点是最短路线,但机器人仍然能找到了一条以正确顺序访问所有特征点的路径。

​使用指令来消除歧义。由于 LM Nav 的目标是遵循指令,而不仅仅是达到最终目标,不同的指令可能导致不同的遍历。图 5 展示了修改指令可以消除目标的多条路径歧义的示例。对于较短的 prompt(蓝色),LM Nav 首选更直接的路径。在指定更细粒度的路线(洋红色)时,LM Nav 采用通过不同特征点集的备用路径。

图片

​缺少特征点的情况。虽然 LM-Nav 能够有效地解析指令中的特征点,在图上对它们进行定位,并找到通往目标的路径,但这个流程依赖于这样的假设:特征点(i)存在于真实环境中,以及(ii)可以被 VLM 识别。图 4(c) 显示了这样一种情况:可执行的路径未能访问其中一个特征点—一个消防栓—于是采取了一条绕过建筑物顶部而不是底部的路径。这种失败案例是由于 VLM 无法从机器人的观察中发现消防栓。

在独立评估的 VLM 在检索特征点方面的功效时,研究者发现,尽管它是此类任务的最佳 off-the-shelf 模型,但 CLIP 无法检索少量的 「硬 」特征点,包括消防栓和水泥搅拌器。但是在许多实际情况下,机器人仍然能够成功地找到一条访问其余特征点的路径。

定量评估​

表 1 总结了该系统在 20 条指令中的量化表现。在 85% 的实验中,LM-Nav 能够始终遵循指令,没有发生碰撞或脱离(平均每 6.4 公里的行进有一次干预)。与无导航模型的 baseline 相比,LM-Nav 在执行高效、无碰撞的目标路径方面一直表现得更好。在所有不成功的实验中,失败可归因于规划阶段的能力不足——搜索算法无法直观地定位图中的某些「硬」特征点—导致指令的不完整执行。对这些失败模式的调查表明,系统中最关键的部分是 VLM 检测不熟悉的特征点的能力,例如消防栓,以及在具有挑战性的照明条件下的场景,例如曝光不足的图像。

图片

​

相关专题

更多
Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

2026.11.02

0

14

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

2026.11.02

0

17

Uvicorn安装配置教程
Uvicorn安装配置教程

本专题汇总了Uvicorn的安装配置教程与部署指南,涵盖通过pip安装Uvicorn、启动FastAPI/Starlette应用、开发模式热重载(--reload)及多进程工作模式配置等核心操作。同时整理了结合Gunicorn的生产部署方案、HTTPS与反向代理配置及性能调优技巧,助你快速完成Uvicorn服务的安装与上线部署。

2026.11.02

0

17

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

100

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

80

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

240

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

140

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

140

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

100

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
尚学堂Mahout视频教程
尚学堂Mahout视频教程

共18课时 | 3.8万人学习

Dify 快速入门
Dify 快速入门

共0课时 | 0人学习