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

news2025/2/13 18:33:15

  • 作者: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在具身导航规划中的潜在能力。

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

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

相关文章

Linux高级--2.4.1 网络概念(分层、TCP)

关于网络分层理解的难点 对于一般人(不参与设计和维护网络协议栈的人)来讲,物理层和应用层很容易理解,也很好记住。首先,物理层是看的到的网线、基站的实体。再者,应用层是用户自己参与编写的程序。 而那…

使用VSCode Debugger 调试 React项目

一般我们调试代码时,用的最多的应该就是console.log方式了,还有的是使用Chrome DevTools 通过在对应的 sourcemap代码位置打断点进行调试,除了上面两种方式外还有一种更好用的调试方式: VSCode Debugger。 VSCode Debugger可以直…

Redis-十大数据类型

Reids数据类型指的是value的类型,key都是字符串 redis-server:启动redis服务 redis-cli:进入redis交互式终端 常用的key的操作 redis的命令和参数不区分大小写 ,key和value区分 查看当前库所有的key keys * 判断某个key是否存在 exists key 查看key是什…

Git--tag标签远程管理

目录 一、git 标签 tag管理 1.创建一个轻量级标签 2.创建一个带有附注的标签 3.删除标签 二、标签推送 1.再创建两个分支 2.把多个标签推送到远程 三、标签拉取 四、删除远程标签 1.命令 2.查看远程仓库,标签被删除 3.远程标签删除后本地标签不会消失&a…

通过nginx设置一个图片服务器,并使用 Nginx 作为反向代理

通过nginx设置一个图片服务器,并使用 Nginx 作为反向代理 安装nginx 首先需要去官网下载一个nginx,我这里下载了最新的稳定版本:nginx-1.26.2,下载下来是一个压缩包,解压之后就可以直接用了。 修改nginx的配置文件 …

第十六届“蓝桥杯”全国软件和信息技术专业人才大赛简介及资料大全

蓝桥杯全国软件和信息技术专业人才大赛是由工业和信息化部人才交流中心主办的一项全国性竞赛,面向全国高校大学生,累计参赛院校超过1200余所,参赛人数达40万人,是我国极有影响力的高校IT类赛事。 “第十六届蓝桥杯全国软件和信息…

快速理解24种设计模式

简单工厂模式 建立产品接口类,规定好要实现方法。 建立工厂类,根据传入的参数,实例化所需的类,实例化的类必须实现指定的产品类接口 创建型 单例模式Singleton 保证一个类只有一个实例,并提供一个访问他它的全局…

【山西长治】《长治市市直部门政务信息化建设项目预算编制规范和预算编制标准》(长财行[2022]25号)-省市费用标准解读系列32

《长治市市直部门政务信息化建设项目预算编制规范和预算编制标准(试行)》(长财行[2022]25号)于2022年8月1日开始试行,此标准由长治市财政局、长治市行政审批管理局编制,是对信息化建设项目预算管理的基本要求,主要适用…

Docker 入门:如何使用 Docker 容器化 AI 项目(二)

四、将 AI 项目容器化:示例实践 - 完整的图像分类与 API 服务 让我们通过一个更完整的 AI 项目示例,展示如何将 AI 项目容器化。我们以一个基于 TensorFlow 的图像分类模型为例,演示如何将训练、推理、以及 API 服务过程容器化。 4.1 创建 …

Java和Go语言的优劣势对比

文章目录 Java和Go语言的优劣势对比一、引言二、设计哲学与语法特性1、设计哲学2、语法特性 三、性能与内存管理1、性能2、内存管理和垃圾回收 四、并发编程模型五、使用示例1、Go语言示例代码2、Java语言示例代码 六、对比表格七、总结 Java和Go语言的优劣势对比 一、引言 在…

Docker怎么关闭容器开机自启,批量好几个容器一起操作?

环境: WSL2 docker v25 问题描述: Docker怎么关闭容器开机自启,批量好几个容器一起操作? 解决方案: 在 Docker 中,您可以使用多种方法来关闭容器并配置它们是否在系统启动时自动启动。以下是具体步骤和…

Pytorch | 利用BIM/I-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击

Pytorch | 利用BIM/I-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击 CIFAR数据集BIM介绍基本原理算法流程 BIM代码实现BIM算法实现攻击效果 代码汇总bim.pytrain.pyadvtest.py 之前已经针对CIFAR10训练了多种分类器: Pytorch | 从零构建AlexNet对CIFAR10进行分类 Py…

网狐旗舰版源码搭建概览

简单的列一下: 服务端源码内核源码移动端源码核心移动端源码AI控制工具源码多款子游戏源码前端、管理后台、代理网站源码数据库自建脚本UI工程源码配置工具及二次开发帮助文档 编译环境要求 VS2015 和 Cocos3.10 环境,支持移动端 Android 一键编译&am…

【QT】:QT(介绍、下载安装、认识 QT Creator)

背景 🚀 在我们的互联网中的核心岗位主要有以下几种 开发(程序员)测试运维(管理机器)产品经理(非技术岗位,提出需求) 而我们这里主要关注的是开发方向,开发岗位又分很…

MySQL 数据”丢失”事件之 binlog 解析应用

事件背景 客户反馈在晚间数据跑批后,查询相关表的数据时,发现该表的部分数据在数据库中不存在 从应用跑批的日志来看,跑批未报错,且可查到日志中明确显示当时那批数据已插入到数据库中 需要帮忙分析这批数据丢失的原因。 备注:考虑信息敏感性,以下分析场景测试环境模拟,相关数据…

熊军出席ACDU·中国行南京站,详解SQL管理之道

12月21日,2024 ACDU中国行在南京圆满收官,本次活动分为三个篇章——回顾历史、立足当下、展望未来,为线上线下与会观众呈现了一场跨越时空的技术盛宴,吸引了众多业内人士的关注。云和恩墨副总经理熊军出席此次活动并发表了主题演讲…

Spring01 - 工厂篇

Spring入门(上)-工厂篇 文章目录 Spring入门(上)-工厂篇一:引言1:EJB存在的问题2:什么是Spring3:设计模式和反射工厂 二:第一个spring程序1:环境搭建2:核心API - ApplicationContext2.1&#xf…

攻防世界 unserialize3

开启场景 题目为unserialize3,这个单词在php中代表反序列化,代码 __wakeup 也是php反序列化中常见的魔术方法,所以这个题基本就是和反序列化有关的题目。根据代码提示,编写一个Exploit运行,将对象xctf的信息序列化 得到…

汽车免拆诊断案例 | 2011 款奔驰 S400L HYBRID 车发动机故障灯异常点亮

故障现象 一辆2011款奔驰 S400L HYBRID 车,搭载272 974发动机和126 V高压电网系统,累计行驶里程约为29万km。车主反映,行驶中发动机故障灯异常点亮。 故障诊断 接车后试车,组合仪表上的发动机故障灯长亮;用故障检测…

GitLab安装及使用

目录 一、安装 1.创建一个目录用来放rpm包 2.检查防火墙状态 3.安装下载好的rpm包 4.修改配置文件 5.重新加载配置 6.查看版本 7.查看服务器状态 8.重启服务器 9.输网址 二、GitLab的使用 1.创建空白项目 2.配置ssh 首先生成公钥: 查看公钥 把上面的…