自然语言任务规划的新篇章:AutoGPT+P的突破

aidu_pl">

人工智能咨询培训老师叶梓 转载标明出处

尽管LLMs在自然语言处理(NLP)方面取得了显著进展,但它们在直接将自然语言指令转换为执行机器人任务的计划方面仍存在限制。这些限制主要源于LLMs在推理能力上的不足。由德国卡尔斯鲁厄理工学院(KIT)的研究人员提出了一种名为AutoGPT+P的系统,它通过结合大模型(LLMs)和传统规划算法,解决了机器人任务规划中的一些固有限制。

方法

研究者们提出了一种基于可供性的场景表示方法,用于从RGB图像中提取场景信息以辅助任务规划。可供性代表了对象对代理(如人或机器人)所提供的动作可能性,这种方法不仅基于对象的类别,而是基于它们的功能,从而允许更灵活的规划。

场景被符号化地表示为由对象和它们对应的可供性组成的集合,其中每个对象都与一个或多个可供性关联。为了从图像中提取这种表示,研究者们定义了对象可供性检测(OAD)问题,并提出了一个两阶段方法:首先是对象检测,确定图像中对象的类别和位置;其次是创建对象可供性映射(OAM),将检测到的对象与它们可能的可供性关联起来。这种方法允许系统理解如何用相同功能的不同对象来替代缺失的对象,从而在规划过程中提供更大的灵活性和鲁棒性。

图3展示了OAD过程的概述,其中RGB图像被用来检测场景中的对象,然后OAM将这些对象映射到它们相应的可供性。

基于可供性的场景表示方法为AutoGPT+P系统的任务规划提供了丰富的上下文信息,使得系统能够更准确地理解和执行用户通过自然语言发出的指令。

AutoGPT+P的核心是基于工具的架构,这些工具用于迭代更新机器人的内存,直到找到最终计划。下面详细介绍了AutoGPT+P的各个方面。

问题表述部分定义了整体规划任务。给定场景描述S,对象关系 R,可探索的位置L,以及自然语言中的任务λ,系统应返回一个动作序列或计划P 来完成任务。动作 α_i​ 定义为代理π 执行的能力 c,带有参数ρ。

AutoGPT+P的反馈循环是系统的核心,它结合了逐步自回归计划生成和大模型与规划器结合使用的规划工具。设计动机是使用主反馈循环填充机器人的内存,直到封闭世界规划问题可以使用规划工具解决。

图4:AutoGPT+P反馈循环的概览。绿色框代表输入和输出,蓝色框代表过程中的离散步骤。工具选择过程是反馈循环的核心,基于用户提示和当前内存状态选择工具。

算法1:AutoGPT+P反馈循环的步骤。输入包括内存M 和用户指定的任务λ。循环通过选择工具来更新内存,直到生成最终计划或失败。

工具选择过程基于用户提示和当前内存状态选择工具。工具包括规划(Plan)、部分规划(Partial Plan)、建议替代(Suggest Alternative)和探索(Explore)。

如果场景中找不到用户明确请求的对象,系统应该推理是否有其他对象可以替代。利用可供性推理进行替代建议任务。

算法2:替代建议的详细步骤。首先,查询大模型缺失对象类的哪些可供性与用户指定的任务相关。然后,查询大模型哪个对象与缺失对象在这种可供性上最相似。

AutoGPT+P系统中负责基于可供性规划的部分将用户指定的任务映射到一系列参数化动作。与LLM作为规划器相比,该方法的一个显著优势是,如果符号化目标表示准确代表给定的用户指定任务,则生成的计划将是最优的。

算法3:规划与自我纠正的详细步骤。输入包括用户指定的任务、场景、对象关系、代理位置、能力集合和最大循环次数。过程包括生成PDDL域和问题,然后让大模型生成目标状态。然后检查目标状态的语法和语义正确性。如果有错误,让大模型纠正目标状态。如果目标状态正确,则调用经典规划器。

图5:规划工具的概览。圆形框代表组件的输入和输出。

算法4:用于检查目标状态是否存在语义错误的方法。

想要掌握如何将大模型的力量发挥到极致吗?叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具。实战专家1小时讲解让您轻松上手,学习如何使用 Llama Factory 微调模型。

评论留言“参加”或扫描微信备注“参加”,即可参加线上直播分享,叶老师亲自指导,互动沟通,全面掌握Llama Factory。关注享粉丝福利,限时免费录播讲解。

评估与实验

为了评估对象可供性映射(OAM)的性能,研究者们使用了准确度(precision)、召回率(recall)和F1得分(F1)作为评价指标。这些指标用于衡量从图像中自动检测到的对象-可供性对(OAP)与真实情况(ground truth)的一致性。研究者们首先使用一个包含30个对象类别的独立训练集来优化提示(prompts),然后在一个包含70个带标签对象类别的测试集上进行评估。

表格II 展示了使用ChatGPT进行OAM在提出的可供性集上的表现,以及不同准确度、召回率和F1得分的比较。结果表明,GPT-4在大多数情况下优于GPT-3,并且结合是非题提问和逻辑的方法最有效。

替代建议工具通过与朴素的替代建议方法进行比较来评估。该工具要求大模型确定场景中哪个对象最能替代缺失的对象,而不需要进一步推理。研究者们使用30个预定义场景进行评估,每个场景包括缺失的对象、用户指定的任务、场景中的对象和允许的替代对象列表。

表格III 展示了替代建议工具与朴素方法的成功率比较。结果显示,随着场景中对象数量的增加,所有方法的准确性都有所下降。然而,与朴素方法相比,研究者的方法在准确性上只有轻微的下降。

规划工具通过使用来自SayCan指令集的场景以及研究者们自己创建的场景集进行评估。这些场景集旨在发现大模型在理解用户意图方面的局限性。

表格IV 和 表格V 展示了在SayCan指令集和研究者们自己的指令集上,规划工具在不同版本的GPT和自动自我纠正功能开启或关闭情况下的规划成功率。结果表明,研究者的方法在所有类别中的表现都优于或至少与SayCan相当,尤其是当使用GPT-4时。

AutoGPT+P的评估不仅仅局限于规划,还包括了工具选择和场景探索。研究者们设计了五组场景集,每组包含30个场景,以评估性能。这些场景集专注于各个工具的使用,以及需要结合所有工具来完成复杂任务的场景。

表格VI 展示了AutoGPT+P在成功率、最小计划长度和最小工具使用率方面的评估结果。结果表明,当场景中的对象数量增加时,成功率略有下降。然而,当给定对象位置的提示时,工具选择从未失败过。

为了验证系统的可行性,研究者们在仿人机器人ARMAR-6和ARMAR-DE上进行了多次实验。这些实验包括了各种需要不同程度人机协作的任务,如捡拾和放置、传递、倾倒和擦拭任务。

评估结果表明AutoGPT+P系统在处理复杂规划情况方面具有潜力,例如缺失对象的情况。系统在将用户指定的任务转化为有效计划方面也取得了很高的成功率。然而,当用户指定的任务更加模糊时,系统主要受限于无法评估用户意图的不确定性并请求澄清。AutoGPT+P在现实世界应用的另一个限制是一切都是以确定性的方式建模的,因此未考虑由对象识别、大模型生成的对象可供性映射或不清晰的用户指定任务引起的不确定性。此外,研究者们的方法没有将执行中的反馈(例如,关于技能失败的反馈)纳入考虑,这使得它在现实世界场景中执行时容易出错。

这些评估和验证表明AutoGPT+P是一个有前景的系统,但为了在现实世界中更有效地应用,还需要进一步的研究和改进。

https://arxiv.org/pdf/2402.10778

Timo Birr / AutoGPT+P Standalone · GitLab 


http://www.niftyadmin.cn/n/5690318.html

相关文章

关于Mac管理员root权限的一些问题总结

🎉 前言 最近在学习Vue CLI的时候,发现在Vscode里面想要修改文件或者保存文件都会显示“permission denied”,即权限不足。于是想了一些解决方法,记录在此。 🎉 检查当前用户权限 打开终端,输入以下指令…

LLM | ChatGLM.cpp 安装使用(支持CPU、Metal及CUDA推理)

1. 详细步骤 1.1 拉取源码 # 确保网络通畅 git clone --recursive https://github.com/li-plus/chatglm.cpp.git && cd chatglm.cpp1.2 模型转换/量化 1.2.1 安装所需 Python 依赖 torch pip install torch -U其他依赖 pip install tabulate tqdm transformers a…

浅谈memset和memcpy的区别

memcpy 和 memset 都是 C 语言标准库中的函数&#xff0c;用于内存操作&#xff0c;但它们的用途和行为有所不同&#xff1a; memcpy: memcpy 是一个函数&#xff0c;定义在 <string.h> 头文件中。它用于从源内存地址复制指定数量的字节到目标内存地址。memcpy 会逐字节地…

netty之Netty心跳服务与断线重连

前言 使用netty中&#xff0c;需要监测服务是否稳定以及在网络异常链接断开时候可以自动重连。需要实现监听&#xff1b;f.addListener(new MyChannelFutureListener()) 代码目录结构 package com.lm.demo.netty.client;import io.netty.channel.ChannelFuture; import io.nett…

MATLAB中数据导入与导出的全面指南

在MATLAB中&#xff0c;数据的导入与导出是数据处理工作流中的两个基本步骤。导入是将外部数据加载到MATLAB工作区的过程&#xff0c;而导出则是将工作区中的数据保存到外部文件中。这两个步骤对于数据分析、可视化和结果共享至关重要。本文将详细介绍如何在MATLAB中进行数据的…

PostgreSQL常用数值处理函数简介

PostgreSQL 提供了许多用于数值处理的函数&#xff0c;涵盖数学运算、取整、取余、随机数生成等操作。以下是一些常用的数值处理函数及其使用示例&#xff1a; 1. ABS() - 取绝对值 返回数字的绝对值。 SELECT ABS(-10); -- 返回 10 SELECT ABS(3.5); -- 返回 3.52. CEIL(…

【React】入门Day04 —— 项目搭建及登录与表单校验、token 管理、路由鉴权实现

项目搭建 创建项目 # 使用npx创建项目 npx create-react-app my-react-app # 进入项目目录 cd my-react-app # 创建项目目录结构 mkdir -p src/{apis,assets,components,pages,store,utils} touch src/{App.js,index.css,index.js} 使用npx create-react-app创建项目&#xff0…

苹果盛宴:iPhone 16系列领衔,智能穿戴新潮流来袭

在科技界备受瞩目的苹果秋季发布会上&#xff0c;众多新品悉数亮相&#xff0c;从全新的Apple Watch系列到AirPods系列&#xff0c;再到备受期待的iPhone 16系列&#xff0c;每一款产品都以其独特的创新和卓越的性能&#xff0c;再次定义了智能设备的高标准。 本文将带您领略这…