SayNav: 利用大语言模型在未知环境中导航

news2024/10/7 14:24:57
论文标题:SayNav: Grounding Large Language Models for Dynamic Planning to Navigation in New Environments
论文地址:https://arxiv.org/pdf/2309.04077.pdf
项目地址:https://www.sri.com/ics/computer-vision/saynav

SayNav介绍

SayNav 是一种新颖的规划框架,它利用来自大型语言模型 (LLM) 的人类知识,为自主agent动态生成分步指令,以在未知的大规模环境中执行复杂的导航任务。它还能够有效地泛化学习,以从模拟导航到真实的新环境。

图0 在探索新环境的过程中,机器人不断构建点云图,并从图像中分割对象(语义分割),以增量生成语义场景图。SayNav 使用这个语义场景图来表示对象及其几何关系,以 LLM 进行导航

感知、语义推理和动态规划功能对于自主agent在未知环境中执行复杂的导航任务至关重要,例如在新房屋中搜索和定位多个特定对象。它需要人类拥有的大量常识性知识才能成功完成这些任务。当前基于学习的方法,其中最流行的是深度强化学习 (DRL),需要对智能体进行大量训练才能获得合理的性能,即使是简单的导航任务,例如查找单个对象或到达单个目标点。

在本文中,我们介绍了 SayNav,这是一种利用大型语言模型 (LLM) 常识性知识的新方法,可以有效地泛化到未知大规模环境中的复杂导航任务。具体来说,SayNav 利用 LLM 作为高级规划器来动态生成分步指令,以便在导航过程中在新环境中定位目标对象。然后,LLM 生成的指令由预先训练的低级规划器执行,该规划器将每个指令步骤视为短距离点目标导航子任务。这种分解降低了导航任务的规划复杂性 - LLM 规划的子任务足够简单,低级规划器可以成功执行。

图1 SayNav 示例:机器人使用基于 LLM 的规划器在新房子里有效地找到一个目标对象(笔记本电脑)。

为了确保动态规划的可行性和有效性,SayNav 在探索过程中通过增量感知、构建和扩展 3D 场景图,对 LLM 使用了一种新颖的grounding机制。SayNav 使用摄像头持续感知世界,并提取包含相关信息的场景图,例如物体的 3D 位置及其在以智能体当前位置为中心的局部区域的空间关系。3D 场景图被转换为文本提示,以提供给 LLM。然后,LLM 会根据这些信息计划后续步骤,例如推断目标对象的可能位置并确定它们的优先级。此计划还包括条件语句和任何步骤无法实现目标时的回退选项。

我们使用逼真的基准数据集测试了 SayNav,其中包含 132 个独特的 ProcTHOR 房屋环境,具有不同的大小(从 3 到 10 个房间)、布局和家具/物体布置。评估指标是在每所房子里搜索和定位三个不同目标对象所花费的时间和成功率。我们的结果表明,SayNav能够grounding LLMs,以动态的方式为这个复杂的多目标导航任务生成成功的计划。

SayNav任务描述

我们选择多对象导航任务(Multi ON task)来验证 SayNav。这项任务的目标是让agent在大规模未知环境中导航,以便为三个预定义对象类别(如 "笔记本电脑"、"西红柿 "和 "面包")中的每个类别找到一个实例。agent在环境中的一个随机位置初始化,并接收目标对象类别(oi、oj、ok)作为输入。在导航过程中的每个时间步长 t,agent接收环境观测数据 et 并采取控制行动 at。观测数据包括 RGBD 图像、语义分割图和agent的姿势(位置和方向)。行动空间包括五个控制指令:左转、右转、向前移动、停止和环顾四周。向左转和向右转这两个动作都能使机器人旋转 90 度。向前移动动作则会将agent移动 25 厘米。如果agent在规定时间内找到(通过检测)所有三个物体,则任务执行成功。

需要注意的是,与以往的导航任务相比,MultiON 任务带来了更大的规划挑战和任务复杂性,以往的导航任务要么是寻找单一物体(Chaplot 等人,2020 年),要么是到达单一目标点(Wijmans 等人,2019 年)。例如,agent需要根据三个不同物体之间的优先顺序动态设定搜索计划。在探索布局未知的新房子时,该计划也可以改变。如图 1 所示,agent首先意识到自己在卧室里,然后决定优先从桌子等地方查找房间内的笔记本电脑。另一方面,如果该agent从厨房开始,那么先寻找叉子和勺子会更有效率。因此,这项新任务需要大量的语义推理和动态规划能力,就像人类所拥有的那样,自主agent才能在大规模的未知环境中进行探索。

SayNav 框架

SayNav 包括三个模块:(1)增量场景图生成,(2)基于 LLM 的高级动态规划器,以及 (3) 低级规划器。

图3 增量场景图生成概念图

增量场景图生成模块会累积agent接收到的观测值,以构建和扩展 3D 场景图,该图对来自agent已探索区域的语义实体(如对象和家具)进行编码。三维场景图是一种分层图(layered graph),它表示节点及其关系(边)。这种表示最近已成为机器人技术中 3D 大规模环境的强大高级抽象。在这里,我们在 3D 场景图中定义了四个级别:小对象、大对象、房间和房屋。每个空间概念(节点)都与其 3D 坐标相关联。边揭示了不同层次的语义概念之间的拓扑关系。

基于高级 LLM 的动态规划器将场景图中的相关信息持续转换为文本提示,发送给预训练的 LLM,用于动态生成短期高级计划。当前一个计划失败或任务目标(查找三个对象)未实现时,基于 LLM 的规划器会扩展和更新计划。注意:SayNav 只需要通过上下文学习的几个示例来配置 LLM,以便在新环境中对复杂的多对象导航任务进行高级动态规划。如图4所示。

低级规划器将每个 LLM 计划的步骤转换为一系列控制命令以供执行。SayNav 将每个 LLM 规划步骤表述为低级规划器的短距离点目标导航 (POINTNAV) 子任务。每个子任务的目标点(例如从当前位置移动到当前房间中的桌子)由每个计划步骤中描述的对象的 3D 坐标分配。低级规划器使用 DAGGER 算法从头开始训练(无需预训练),仅使用 7 × 105 个模拟步骤。使用A* oracle作为专家来进行模仿学习的训练,对于行为克隆(behavior cloning),目标函数是最大限度地减少每一步预测行动与专家行动的交叉熵损失。在agent架构方面,根据(Wijmans 等人,2019 年),使用了图 6 所示的标准架构。接收 RGBD 图像和agent相对于目标位置的姿势作为输入。一个 GroupNorm(Wu 等人,2018 年)ResNet18(He 等人,2016 年)对输入的 RGBD 图像进行编码,一个 2 层 512 隐藏大小的门控递归单元(GRU)(Cho 等人,2014 年)结合历史和传感器输入来预测下一步行动。我们使用了 lr 10-4 和权重衰减 10-4 的 Adamax 优化器。batch size 16, 50 epochs。

SayNav 到多对象导航

我们使用最近推出的 ProcTHOR 框架进行实验,该框架建立在 AI2-THOR 模拟器之上。我们构建了一个包含 132 栋房屋的数据集,并为每个房屋进行新的多对象导航任务。我们提出了两个用于评估导航任务的标准指标:成功率 (SR) 和按路径长度加权的成功率(SPL)。SR 测量agent能够成功找到所有三个对象的情况百分比,而 SPL 则通过最短路径与实际路径的比率对成功进行归一化。除了这两个指标之外,我们还使用 Kendall 距离指标来衡量智能体获得的对象排序与真实值获得的对象排序之间的相似性。我们使用 Kendall Tau 将这个距离转换为相关系数,并在成功的事件中报告它(所有三个目标找到)。

为了充分验证多目标导航时SayNav中基于 LLM 的规划能力,我们分别实现了场景图生成模块和低级规划模块两个选项进行评估。可以使用视觉观察 (VO) 或真值(GT) 生成场景图。

我们使用经过高效训练的agent (PNav) 或oracle planner(OrNav) 作为低级规划器。对于 OrNav,使用 A* 算法,它可以访问环境中可到达的位置。给定目标位置,它可以规划从代理当前位置到目标的最短路径。

我们还实现了一种强大的基线方法,该方法使用 PNav 沿着最短路线导航,以通过三个对象的真值点。此基线用于显示从基于学习的智能体到多对象导航的性能上限,因为对象以最佳顺序提供给智能体。

SayNav在多目标导航任务上的结果

根据实验结果,即使以最优顺序使用真值目标位置,基线方法的SR也仅为56.06%,这表明成功执行多个(顺序)点目标导航子任务(包括跨房间移动)的难度。相比之下,SayNav 在使用 PNav 或 OrNav 作为低级规划器使用视觉观察 (VO) 构建场景图时,实现了更高的 SR(分别为 60.32% 和 71.32%)。这一改进凸显了 SayNav 在大规模未知环境中导航的优势。

SayNav泛化到真实环境

SayNav 还支持从仿真到真实环境的高效泛化。基于LLM的高级规划策略可以通过模拟来学习,而适应是通过低级规划和控制来适应真实环境和模拟环境之间的差异。演示demo见https://youtu.be/_8ZnfniHGxk

SayNav局限性与未来方向

场景图生成面临着任何基于感知的算法都会遇到的各种挑战。除了常见的玻璃门问题,图 10 还显示了另一个由于视觉观察而导致的失败案例。请注意,在我们的实验中,agent并没有配备开关门的手臂。因此,它只能穿过打开的门移动到其他房间。在这个小插曲中,机器人在房间的大部分位置都无法观察到门(连接到有目标物体的另一个房间)是开着的。机器人反复尝试向当前房间的中心移动,并完善场景图。然而,它仍然无法识别门的 "打开 "状态,因此未能实现目标。如果有更好的机制来验证场景图中与对象节点(门)相关的属性(打开/关闭),就能帮助缓解这种情况。例如,agent可以靠近门,从所有可能的角度验证视觉观察结果,并将门的深度信息与墙的深度信息进行比较(关闭的门应与相连的墙具有几乎相同的深度)。未来,我们希望开发验证和反馈机制,以验证 LLM 生成的计划,从而提高 SayNav 的性能。我们还计划探索更小的 LLM(而不是 GPT-3.5 和 GPT-4),它们可以在真实机器人上本地运行。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ExpandableListView可扩展列表视图,可折叠列表视图

目录 1. XML代码 2. ExpandableListView的使用 3. ExpandableListAdapter的使用 4. 数据观察者的使用 5. 案例代码一览 ExpandableListView(可扩展/可折叠列表视图)是一种多功能的高级控件,每个子项都可以展开一个孙子列表。点击一个分组…

科研基础与工具(笔记)

​ 免责申明: 本文内容只是学习笔记,不代表个人观点,希望各位看官自行甄别 参考文献 科研基础与工具(YouTube) 专业名词 影响因子(Impact Factor),一般是特指SCI的影响因子&#…

Qt实现Mysql数据库的连接,查询,修改,删除,增加功能

Qt实现Mysql数据库的连接,查询,修改,删除,增加功能 安装Mysql数据库,QtCreator Mysql选择Mysql Server 8.1版本安装。 Mysql Server 8.1安装过程 1.首先添加网络服务权限: WinR键输入compmgmt.msc进入…

论文阅读:BEVBert: Multimodal Map Pre-training for Language-guided Navigation

BEVBert:语言引导导航的多模态地图预训练 摘要 现存的问题:目前大多数现有的预训练方法都采用离散的全景图来学习视觉-文本关联。这要求模型隐式关联全景图中不完整、重复的观察结果,这可能会损害智能体的空间理解。 本文解决方案&#xf…

PCBA镀金工艺介绍

PCBA(印制电路板组装)的镀金工艺是一种常见的表面处理方法,用于提高印制电路板(PCB)的性能和耐用性。本文将详细介绍PCBA的镀金工艺,包括其类型、工艺流程、优点及应用。 1. 镀金工艺的类型 PCBA的镀金主要…

Mac电脑版鼠标连点工具 RapidClick for Mac

RapidClick for Mac是一款方便实用的自动点击工具,可以帮助Mac用户在使用电脑时轻松、快速地进行鼠标操作。它可以模拟人类手指点击的动作,让您的鼠标点击变得更加快捷高效,大大提升了工作和游戏的效率。 RapidClick for Macv1.5.1激活版下载…

【windows-搭建Ubuntu22LTS】

一、环境要求 1. windows版本要求 至少Windows 10 2020年5月(2004) 版, Windows 10 2019年5月(1903) 版,或者 Windows 10 2019年11月(1909) 版 2. 控制面板开启相关的程序(需要重启) 二、Microsoft store安装unbuntu 下载后直接运行(稍微等会&#…

mac: docker安装及其Command not found: docker

已经安装了docker desktop,没安装的 点击安装 傻瓜式安装即可 接着打开终端:好一个 Comand not found:docker 看我不把你整顿,解决如下: 如果你在 macOS 上安装了 Docker Desktop,但是终端无法识别 docker 命令&…

【ARM 裸机】汇编 led 驱动之烧写 bin 文件

1、烧写概念 bin 文件烧写到哪里呢?使用 STM32 的时候烧写到内部 FLASH,6ULL 没有内部 FLASH,是不是就不能烧写呢?不,6ULL 支持 SD卡、EMMC、NAND FLASH、NOR FLASH 等方式启动,在裸机学习的工程中&#x…

C++算法题 - 区间

目录 228. 汇总区间56. 合并区间57. 插入区间452. 用最少数量的箭引爆气球 228. 汇总区间 LeetCode_link 给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范围所…

IDEA报错然后pycharm闪退

pycharm闪退,在C盘的USER文件夹下有报错文件 打开一看,说内存不足 # There is insufficient memory for the Java Runtime Environment to continue. # Native memory allocation (mmap) failed to map 14596177920 bytes for G1 virtual space # Possib…

Redis入门到通关之分布式锁Rediision

文章目录 ☃️setnx实现的分布式锁存的问题☃️Redisson☃️分布式锁-Redission快速入门☃️实战☃️总结 ☃️setnx实现的分布式锁存的问题 基于setnx实现的分布式锁存在下面的问题: 重入问题:重入问题是指 获得锁的线程可以再次进入到相同的锁的代码…

Win10系统下关闭管理员运行确认弹窗

Windows10及以上系统对于安全的考虑,对于程序运行时的权限做了控制 点击后,会弹出确认的弹窗。 像我做测试,或者使用cmd经常需要administrator 权限,一直弹弹弹就很烦。 要实现右击后无需弹窗就可以使用管理员权限运行改…

世强硬创获Jowat授权代理,其热熔胶可实现重新分离和循环使用

随着全球对环境保护意识的提升,政府机构对挥发性有机化合物(VOCs)和其他有害排放物的限制越来越严格,这促使粘合剂制造厂商开发更环保的产品。 为拓展中国市场,德国胶王股份有限公司(下称“德国胶王”&…

FX110网:香港交易所宣布开发Orion衍生品平台,预计于 2028 年推出

香港交易及结算所有限公司(香港交易所,HKEX)今天宣布开发 Orion 衍生品平台(ODP),提供增强的交易、清算和风险管理能力。 这个新平台由香港交易所技术团队自行开发,预计于 2028 年推出&#xff…

LeetCode题目42:接雨水【python 42/1000】

作者介绍:10年大厂数据\经营分析经验,现任大厂数据部门负责人。 会一些的技术:数据分析、算法、SQL、大数据相关、python 欢迎加入社区:码上找工作 作者专栏每日更新: LeetCode解锁1000题: 打怪升级之旅 python数据分析…

[C++][算法基础]求约数(试除法)

给定 n 个正整数 ,对于每个整数 ,请你按照从小到大的顺序输出它的所有约数。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含一个整数 。 输出格式 输出共 n 行,其中第 i 行输出第 i 个整数 的所有约数。 数据范围 1≤…

直播预告:拥抱AI-探索AI大模型在邮件反钓鱼检测的应用

随着ChatGPT的问世,生成式AI技术迅速渗透到我们生活的各个角落,以ChatGPT为代表的生成式AI技术,依托其强大的AI模型和海量数据,赢得了广泛的欢迎。 然而,生成式AI的不断演进也带来了新的挑战。大型语言模型&#xff08…

单链表-通讯录

目录 单链表实现 通讯录代码实现 初始化 初始化函数 添加 删除 展示 查找 修改 销毁 代码展示 main.c text.c text.h list.c list.h 和前面的通讯录实现差不多这次就是实现一个以单链表为底层的通讯录 单链表实现 数据结构:单链表-CSDN博客 通讯…

【资源分享】SPSS 26免费下载安装

::: block-1 “时问桫椤”是一个致力于为本科生到研究生教育阶段提供帮助的不太正式的公众号。我们旨在在大家感到困惑、痛苦或面临困难时伸出援手。通过总结广大研究生的经验,帮助大家尽早适应研究生生活,尽快了解科研的本质。祝一切顺利!—…