AAAI-2024 | 大语言模型赋能导航决策!NavGPT:基于大模型显式推理的视觉语言导航

  • 作者:Gengze Zhou, Yicong Hong, Qi Wu

  • 单位:阿德莱德大学,澳大利亚国立大学

  • 论文链接: NavGPT: Explicit Reasoning in Vision-and-Language Navigation with Large Language Models (https://ojs.aaai.org/index.php/AAAI/article/download/28597/29161)

  • 代码链接: https://github.com/GengzeZhou/NavGPT

主要贡献

  • 论文提出了基于大模型(LLM)的视觉语言导航(VLN)模型NavGPT,能够处理多模态输入、不受限制的语言指导、与开放世界环境的交互以及使用导航历史进行进度跟踪。

  • 展示了LLMs在导航中的高层规划能力,包括将指令分解为子目标、整合与导航任务相关的常识知识、从观察到的环境中识别地标、持续监控导航进度以及通过计划调整应对异常情况。

  • 通过观察LLMs的思考过程,使得导航智能体的规划过程变得可访问和可解释。

  • 通过一系列实验,证明了LLMs能够执行复杂的导航规划,并且能够在导航历史的基础上生成高质量的导航指令和准确的俯视度量轨迹。

研究背景

研究问题

论文主要解决的问题是如何利用大模型(LLMs)进行视觉和语言导航(VLN),即LLMs在零样本情况下进行视觉和语言导航的能力。

研究难点

该问题的研究难点包括:

  • 如何将视觉信号转换为自然语言描述,

  • 如何在不依赖监督数据的情况下进行导航决策,

  • 以及如何在不损失信息的情况下处理长历史记录。

相关工作

该问题的研究相关工作有:

  • SayCan和PaLM-E等将LLMs集成到具身机器人任务中,

  • Shah等人使用GPT-3进行地标识别,

  • Zhou等人利用LLMs的常识推理能力进行对象导航。

研究方法

这篇论文提出了NavGPT,用于解决视觉和语言导航问题。

VLN形式化描述

VLN问题被公式化为在给定自然语言指令的情况下,智能体在每个步骤通过模拟器获取观测值,并在导航图中选择可导航的视点。

智能体通过选择相对角度来预测下一步动作,并通过与模拟器的交互来转移到下一个状态。

NavGPT系统

NavGPT将视觉感知结果、语言指令、历史记录和导航系统原则通过Prompt管理器转换为LLM可以理解的Prompt。

  • NavGPT的导航系统原理。定义了VLN任务和NavGPT的基本推理格式,要求NavGPT通过识别唯一视点ID在预定义环境中导航,不得虚构不存在的ID。

  • 视觉基础模型将视觉观察转化为自然语言描述,供LLM理解。

  • 导航历史记录了之前的观察和动作,对评估指令完成进度和更新状态至关重要。

  • 提示管理器M整合。、F和H的结果,形成单一提示,使LLM能做出导航决策。

视觉感知器

NavGPT使用BLIP-2模型将视觉输入转换为自然语言描述,每个视点由24个以自我为中心的视图组成,通过BLIP-2模型生成详细语言描述,同时结合其他视觉模型提取的底层特征,如Fast-RCNN提取的物体边界框和深度信息,以过滤和定位物体。

推理和动作的协同

NavGPT通过在每一步输出推理轨迹来增强其理解当前状态的能力。

推理轨迹不仅有助于复杂的规划和策略创建,还可以通过注入先前的推理轨迹来提高问题解决能力。

Prompt管理器

NavGPT的Prompt管理器将、和解析并重新格式化为LLMs的Prompt。

  • 对于,Prompt管理器传达VLN任务定义和NavGPT的行为限制。

  • 对于,Prompt管理器将方向的解释组合成Prompt。

  • 对于,Prompt管理器使用GPT-3.5总结观察结果,并将其插入到Prompt中,以处理历史记录的长度。

实验设计

数据集

实验基于R2R数据集进行,该数据集包含7189条轨迹,每条轨迹对应三条细粒度的指令。数据集分为训练集、验证未见集、测试未见集,分别包含61、56、11和18个室内场景。

评估指标

评估指标包括:

  • 轨迹长度(TL),

  • 导航误差(NE),

  • 成功率(SR),

  • 命中目标的成功率(OSR),

  • 路径长度加权的成功率(SPL)。

实现细节

实验使用GPT-4和GPT-3.5进行评估,图像转换器使用BLIP-2 ViT-G FlanT5XL,对象检测器使用Fast-RCNN,深度信息从Matterport3D模拟器中提取。

结果与分析

推理能力

NavGPT能够执行各种类型的推理和高层规划,包括分解指令为子目标、整合与导航任务相关的常识知识、从观测场景中识别地标、跟踪导航进度以及处理异常情况。

历史和空间相对关系意识

GPT-4能够有效地从冗余的观测描述中提取地标,并生成包含动作的导航历史描述。此外,GPT-4能够全面理解导航历史,并在导航过程中进行必要的进度跟踪。

与监督方法的比较

NavGPT在某些监督基准上表现优于一些模型,并与一些监督智能体兼容。然而,LLM在解决VLN任务中的性能仍然存在显著差距,主要原因是视觉场景的语言描述精度和对象的跟踪能力。

视觉观察描述的粒度

45度视场角(FoV)的视角在导航任务中最为有效,提升了成功率(SR)和标准化逆路径长度成功率(SPL)。

进一步地,通过在BLIP-2描述中加入对象信息和深度估计,NavGPT的SR提高了4.86%,且深度信息的整合显著增强了智能体对环境的理解,进一步提升了导航性能。

总结

论文探讨了利用LLMs进行具身导航任务的潜力,提出了NavGPT系统。

尽管NavGPT在零样本VLN任务中的性能仍不如训练有素的方法,但GPT-4的推理轨迹揭示了LLMs在具身导航规划中的潜在能力。

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

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

相关文章

react杂乱笔记(一)

程序“npx”无法运行: 找不到应用程序所在位置 行:1 字符: 1 解决方法; 不要在vscode中执行命令,在cmd 中可以执行 Module not found: Error: Cant resolve web-vitals in D:\learn\react-basic\src ERROR in ./src/reportWebVitals.js 5:4-24 Module not found: Error: Cant…

【计算机视觉】opencv-停车位检测原理及代码演示

概述 本文介绍了一种基于OpenCV库的停车场空位检测方法。通过本项目演示,可以对opencv库有更深刻的理解。文章详细阐述了检测原理、算法流程以及代码实现。 一、原理介绍 基于OpenCV的停车位检测原理涉及多个图像处理步骤,以下将结合相关公式详细介绍每…

华为认证考试模拟题测试题库(含答案解析)

你还在为华为认证数通考试的备考而烦恼吗? 还在纠结如何高效复习,掌握考点吗? 腾科IT教育为广大考生提供了华为认证考试模拟题库,让你在考试前轻松应对各种题型,提升做题能力与考试信心! 【单选题】 PPP…

序列化和反序列化(一)

因为通过这段时间的学习,发现,序列化和反序列化的考点和漏洞在平时遇到的还是比较多的,而且自己也没有特别去学习过这个知识点,所以在这里写一篇关于这里序列化和反序列话的博客,废话就停止在这里了。 在介绍具体的序列…

优雅草央千澈-关于蓝湖如何快速的标注交互原型是如何使用的-如何使用蓝湖设计交互原型和整个软件项目的流程逻辑-实践项目详细说明

优雅草央千澈-关于蓝湖如何快速的标注交互原型是如何使用的-如何使用蓝湖设计交互原型和整个软件项目的流程逻辑-实践项目详细说明 问题背景 我们ui设计师在设计完整套ui的时候一般要标注原型,但是如果ui对项目整体理解不够深刻的时候,一般就产品经理需要…

三维测量与建模笔记 - 7.3 表面建模概念和方法

基本概念 当我们通过3D扫描设备对物体进行扫描后,会得到三维点云,通过表面建模,我们会重建出物体的3D模型。如果想得到完整的物体的3D模型,需要对物体进行多个角度的扫描并通过拼接算法重建。经过处理得到的3D模型,在很…

共模电感的工作原理

共模电感也称为共模扼流线圈,是一种抑制共模干扰的器件,它是由两个尺寸相同,匝数相同的线圈对称地绕制在同一个铁氧体环形磁芯上,形成的一个四端器件。当共模电流流过共模电感时,磁芯上的两个线圈产生的磁通相互叠加&a…

汉塔科技-上网行为管理系统 ping.php 远程命令执行漏洞复现

0x01 产品简介 汉塔科技是一家专注于网络应用软件开发的公司,在网络安全、网络协议分析以及网络数据流控制等领域拥有丰富的经验和雄厚的技术实力。其上网行为管理系统是应用识别丰富、网络安全防护强大的专业设备之一,汉塔科技上网行为管理系统是一款功能强大、应用识别丰富…

图书管理系统5,制作第十天

1. 在Java中,BigDecimal 类提供了多种方法可以用来将其转换为 String 类型。以下是几种常见的方法: 使用 toString() 方法: 这是将 BigDecimal 转换为 String 的最直接的方法。 Java 深色版本 BigDecimal bd new BigDecimal("123.456&…

机器视觉检测相机基础知识 | 颜色 | 光源 | 镜头 | 分辨率 / 精度 / 公差

注:本文为 “keyence 视觉沙龙中机器视觉检测基础知识” 文章合辑。 机器视觉检测基础知识(一)颜色篇 视觉检测硬件构成的基本部分包括:处理器、相机、镜头、光源。 其中,和光源相关的最重要的两个参数就是光源颜色和…

Linux shell脚本用于常见图片png、jpg、jpeg、webp、tiff格式批量转PDF文件

Linux Debian12基于ImageMagick图像处理工具编写shell脚本用于常见图片png、jpg、jpeg、webp、tiff格式批量转PDF文件,”多个图片分开生成多个PDF文件“或者“多个图片合并生成一个PDF文件” 在Linux系统中,使用ImageMagick可以图片格式转换&#xff0c…

批量提取zotero的论文构建知识库做问答的大模型(可选)——含转存PDF-分割统计PDF等

文章目录 提取zotero的PDF上传到AI平台保留文件名代码分成20个PDF视频讲解 提取zotero的PDF 右键查看目录 发现目录为 C:\Users\89735\Zotero\storage 写代码: 扫描路径‘C:\Users\89735\Zotero\storage’下面的所有PDF文件,全部复制一份汇总到"C:\Users\89735\Downl…

解决:websocket 1002 connection rejected 426upgrade required

这是问题是websocket客户端访问websocket服务端时候报的错,并非代码错误,需要配置一下k8s的路由策略 新增两行

Flutter组件————Container

Container Container 是 Flutter 中最常用的布局组件之一 参数 参数名称类型描述alignmentAlignmentGeometry定义子组件在其内部的对齐方式,默认为 null,即不改变子组件的位置。paddingEdgeInsetsGeometry内边距,用于在子组件周围添加空间…

ElasticSearch - 深入解析 Elasticsearch Composite Aggregation 的分页与去重机制

文章目录 Pre概述什么是 composite aggregation?基本结构after 参数的作用问题背景:传统分页的重复问题after 的设计理念响应示例 after 如何确保数据不重复核心机制Example步骤 1: 创建测试数据创建索引插入测试数据 步骤 2: 查询第一页结果查询第一页返…

MySQL 8.0:explain analyze 分析 SQL 执行过程

介绍 MySQL 8.0.16 引入一个实验特性:explain formattree ,树状的输出执行过程,以及预估成本和预估返 回行数。在 MySQL 8.0.18 又引入了 EXPLAIN ANALYZE,在 formattree 基础上,使用时,会执行 SQL &#…

【C++动态规划 图论】3243. 新增道路查询后的最短距离 I|1567

本文涉及知识点 打开打包代码的方法兼述单元测试 C动态规划 C图论 LeetCode3243. 新增道路查询后的最短距离 I 给你一个整数 n 和一个二维整数数组 queries。 有 n 个城市,编号从 0 到 n - 1。初始时,每个城市 i 都有一条单向道路通往城市 i 1&#…

120页PPT讲解ChatGPT如何与财务数字化转型的业财融合

此方案主要聚焦于利用ChatGPT技术与数字化转型推动业财融合,实现企业的价值最大化。首先,通过ChatGPT技术,企业可以构建生成式对话机器人,自动回答常见问题,减轻人工客服的压力,提高响应速度。这种机器人具…

旋转框目标检测自定义数据集训练测试流程

文章目录 前言一、数据集制作二、模型训练2.1 划分训练集验证集:2.2 配置yaml文件:2.3 训练 前言 旋转框目标检测(Rotated bounding box object detection)是计算机视觉领域的一项技术,它用于检测图像中具有任意方向的目标。与传统的水平矩形…

【QSS样式表 - ⑥】:QPushButton控件样式

文章目录 QPushBUtton控件样式QSS示例 QPushBUtton控件样式 常用子控件 常用伪状态 QSS示例 代码: QPushButton {background-color: #99B5D1;color: white;font-weigth: bold;border-radius: 20px; }QPushButton:hover {background-color: red; }QPushButton:p…