革新机器人任务规划:TREE-PLANNER引领高效、准确的机器人动作生成新趋势
DeepVisionary 每日深度学习前沿科技推送&顶会论文分享,与你一起了解前沿深度学习信息!
引言
任务规划在机器人技术中扮演着至关重要的角色。它涉及到为机器人设计一系列中级动作(技能),使其能够完成复杂的高级任务。这一过程不仅需要考虑机器人的能力,还需考虑周围环境以及可能存在的各种约束和不确定性。近年来,利用大型语言模型(LLMs)直接生成动作成为了任务规划领域的新趋势。这种方法因其卓越的性能和用户友好性而受到青睐。然而,传统的基于LLM的任务规划方法存在诸多效率问题,如高代价的令牌消耗和冗余的错误修正,这些问题限制了其在大规模测试和应用中的可扩展性。
论文概览
- 标题:TREE-PLANNER: Planning with Large Language Models for Efficient Close-Loop Task
- 作者:Mengkang Hu, Yao Mu, Xinmiao Yu, Mingyu Ding, Shiguang Wu, Wenqi Shao, Qiguang Chen, Bin Wang, Yu Qiao
- 机构:
- The University of Hong Kong
- Noah’s Ark Laboratory
- Harbin Institute of Technology
- Shanghai AI Laboratory
- 链接:https://arxiv.org/pdf/2310.08582.pdf
TREE-PLANNER方法介绍
TREE-PLANNER是一种新型的任务规划方法,它通过将任务规划过程分解为三个阶段来提高效率和减少错误:计划采样、动作树构建和基于环境的决策。这种方法首先利用大型语言模型(LLM)来采样可能的任务计划,然后将这些计划聚合成一个动作树,最后在执行过程中根据实时环境信息对动作树进行决策。
1. 计划采样(Plan Sampling)
在这一阶段,TREE-PLANNER利用LLM根据任务的全局信息和初始观察来生成一系列潜在的任务计划。这些计划是基于LLM的常识性知识生成的,每个计划都是一系列动作的序列。
2. 动作树构建(Action Tree Construction)
在动作树构建阶段,采样得到的所有潜在计划被整合到一个树状结构中。这个动作树的构建是通过比较不同计划中的动作并将相同的动作聚合在一起来实现的。这样可以避免在执行相同动作时的重复工作,提高执行效率。
3. 基于环境的决策(Grounded Deciding)
最后一个阶段是基于当前环境信息对动作树进行顶向下的决策。TREE-PLANNER会根据实时的环境反馈调整计划,选择最合适的动作执行。当执行中发生错误时,TREE-PLANNER能够通过回溯动作树灵活地进行错误修正,从而减少了错误修正的次数和代价。
通过这三个阶段的分解,TREE-PLANNER大大减少了令牌的消耗和错误修正的需要,使得任务规划更加高效和准确。
实验设置与数据集描述
环境
实验在VirtualHome环境中进行,这是一个用于模拟家庭任务的仿真平台。VirtualHome包含多个场景,每个场景中都有数百个对象,这些对象具有各自的属性,并且对象之间存在关系。例如,一个任务的目标条件可能是“电视已打开”,这需要在环境中找到电视并执行打开操作。
数据集
我们构建了一个数据集,包括4个VirtualHome场景和35个独特的家庭任务。每个任务都包括任务名称、目标条件和一个标准计划。我们首先从VirtualHome的ActivityPrograms知识库中注释目标条件,然后通过执行这些程序来生成标准计划。为了确保数据质量,我们采用了简单的启发式规则来过滤掉质量低的注释,并通过两名计算机科学专业的研究生进行手动质量控制。
评估指标
我们使用四个指标来评估不同方法的性能:可执行性(EXEC.)、成功率(SR)、目标条件召回率(GCR)和评估的财务开销( C O S T )。 E X E C . 指的是计划是否可以在给定环境中执行,而不考虑其与任务的相关性。 G C R 通过比较生成计划达到的目标条件与真实目标条件的差异来计算。 S R 衡量是否所有目标条件都已满足,即当 G C R = 1 时, S R = 1 。 COST)。EXEC.指的是计划是否可以在给定环境中执行,而不考虑其与任务的相关性。GCR通过比较生成计划达到的目标条件与真实目标条件的差异来计算。SR衡量是否所有目标条件都已满足,即当GCR=1时,SR=1。 COST)。EXEC.指的是计划是否可以在给定环境中执行,而不考虑其与任务的相关性。GCR通过比较生成计划达到的目标条件与真实目标条件的差异来计算。SR衡量是否所有目标条件都已满足,即当GCR=1时,SR=1。COST用于评估不同方法的令牌效率,根据OpenAI提供的定价计算。
通过这些设置和评估指标,我们能够全面地测试和比较TREE-PLANNER与其他基线模型的性能和效率。
主要实验结果与分析
在VirtualHome环境中进行的实验表明,TREE-PLANNER在两种设置下均展现出了卓越的性能。在允许修正错误的设置中,TREE-PLANNER在成功率方面超过了最佳基线模型1.29%,在不允许修正错误的设置中,这一优势更是提高到了3.65%。此外,TREE-PLANNER在令牌效率上也表现出色,相比ITERATIVE-PLANNER,其令牌成本降低了53.29%。在允许修正错误的设置中,与LOCAL REPLAN和GLOBAL REPLAN相比,令牌成本分别降低了74.36%和92.24%。
修正效率方面,TREE-PLANNER减少了37.99%和40.52%的动作重试次数,这一改进显著减少了令牌消耗。这些结果不仅证明了TREE-PLANNER在执行任务规划时的高效性,也显示了其在处理动态和复杂环境中的高适应性。
讨论TOKEN与修正效率
1. TOKEN效率
TREE-PLANNER通过将LLM查询分解为单一的计划采样调用和多个基于环境的决策调用,显著降低了令牌消耗。在传统的ITERATIVE-PLANNER中,每一步执行都需要重新加载和处理全局信息和环境观察,导致高令牌消耗。TREE-PLANNER通过一次性采样并构建行动树,减少了这部分重复的计算成本,从而实现了高令牌效率。
2. 修正效率
TREE-PLANNER的修正机制提供了一种介于LOCAL REPLAN和GLOBAL REPLAN之间的新方法。通过在行动树上进行回溯,TREE-PLANNER允许在发现执行错误时,不必重新从头开始规划,而是从上一个有效的分叉点重新决策。这种方法不仅减少了决策的冗余,也大大减少了因错误修正而产生的时间和令牌消耗。
总体来看,TREE-PLANNER通过创新的任务规划方法有效地解决了传统LLM任务规划中的令牌和修正效率问题,提供了一种既高效又实用的新框架。
错误分析与未来方向
在TREE-PLANNER模型的实验和分析中,我们发现了几个关键的错误类型和潜在的改进方向。首先,错误类型可以分为三类:(i) 缺失正确计划;(ii) 决策错误;(iii) 虚假否定。其中,缺失正确计划占据了错误的主要部分,这表明尽管计划采样在某种程度上能够达到较高的GCRmax,但它仍然是模型性能的一个瓶颈。
针对这些问题,未来的改进方向包括:
1. 增强计划采样阶段的效率和准确性:可以通过增加计划重采样的设计来打破现有的性能上限,特别是在grounded deciding阶段,以确保能够从更广泛的正确计划中进行选择。
2. 提高决策阶段的准确性:实验中发现,大量错误是由于LLM在grounded deciding阶段的决策错误造成的。未来可以通过引入更先进的技术,如链式思考(chain-of-thought)和自我反思(self-reflection),来提高模型在这一阶段的表现。
3. 优化错误修正机制:虽然TREE-PLANNER在错误修正方面已经取得了显著进展,减少了重复决策和令牌消耗,但仍有改进空间。可以探索更灵活和高效的错误追踪和修正策略,以进一步提高模型的实用性和效率。
通过这些改进,我们希望能够进一步提升TREE-PLANNER的性能,使其在更广泛的应用场景中表现出更高的效率和更强的鲁棒性。
总结与展望
TREE-PLANNER作为一种新型的基于大型语言模型的任务规划框架,通过其创新的计划采样、动作树构建和基于环境的决策过程,有效地解决了传统迭代规划方法中的令牌效率低和错误修正冗余的问题。实验结果显示,TREE-PLANNER在虚拟家庭环境中的表现超越了现有的基线模型,无论是在任务成功率还是在令牌和错误修正效率上都有显著提高。
展望未来,TREE-PLANNER的研究可以在几个方向上进行深入:
-
扩展到更复杂的环境和任务:考虑将TREE-PLANNER应用于更多种类的环境和任务,特别是那些动态变化更加剧烈和不确定性更高的场景。
-
集成更先进的语言模型和决策技术:随着语言模型和人工智能决策技术的不断进步,集成最新的研究成果可能会进一步提升TREE-PLANNER的性能和适应性。
-
优化模型的可解释性和用户交互:提高模型的可解释性,使用户能够更好地理解模型的决策过程和修正策略,同时探索更自然和有效的用户交互方式。
通过这些研究和改进,TREE-PLANNER有望成为未来智能任务规划领域的一个重要工具,为自动化系统和机器人技术的发展提供强大的支持。
关注DeepVisionary 了解更多深度学习前沿科技信息&顶会论文分享!
相关文章:

革新机器人任务规划:TREE-PLANNER引领高效、准确的机器人动作生成新趋势
DeepVisionary 每日深度学习前沿科技推送&顶会论文分享,与你一起了解前沿深度学习信息! 引言 任务规划在机器人技术中扮演着至关重要的角色。它涉及到为机器人设计一系列中级动作(技能),使其能够完成复杂的高级任…...

【数据分析面试】42.用户流失预测模型搭建(资料数据分享)
题目 保持高的客户留存率可以稳定和提到企业的收入。因此,预测和防止客户流失是在业务中常见的一项数据分析任务。这次分享的数据集包括了电信行业、银行、人力资源和电商行业,涵盖了不同业务背景下的流失预测数据。 后台回复暗号(在本文末…...

5.13号模拟前端面试10问
1.介绍箭头函数和普通函数的区别 箭头函数和普通函数在JavaScript中有一些重要的区别。以下是关于这些区别的详细解释: 语法结构上的差异: 箭头函数使用更简洁的语法,它不需要使用function关键字,而是使用一个箭头(…...

学习使用jQuery将光标移动到textarea的末尾
学习使用jQuery将光标移动到textarea的末尾 代码 代码 $(document).ready(function(){var textarea $(#your-qipa-id); // 替换为你的textarea IDtextarea.focus(); // 将焦点设置到textarea// 获取textarea的值的长度var len textarea.val().length;// 使用setSelectionRan…...

【送书福利第七期】你好!Java(文末送书)
文章目录 编辑推荐内容简介作者简介目录前言/序言 编辑推荐 适读人群 :程序员;相关院校师生 本书以轻松幽默的语言,从零开始介绍Java语言。书名来源于编程语言中最经典的Hello World程序,寓意带读者从入门到精通。 书中每章都设有总结与扩展…...

申贷时,银行级大数据自己能查到吗?
随着金融风控的不断健全,大数据作为辅助的风控工具正在被越来越多的银行和机构使用。在进行申贷时,银行通常会进行大数据查询,以便评估申请人的信用状况。那么,这些大数据自己能查到吗?接下来本文就为大家详细介绍一下࿰…...

【SVN-TortoiseSVN】SVN 的简介与TortoiseSVN 安装使用教程
目录 🌞前言 🌊1. SVN 的简介 🌍1.1 SVN是什么 🌍1.2 SVN 工作原理 🌍1.3 TortoiseSVN 术语及定义 🌊2. TortoiseSVN 安装与汉化 🌊3. SVN 基本操作-TortoiseSVN 🌍3.1 浏览…...

5.13学习日志
Pytorch 神经网络基础 1.模型构造 1》层和块 块可以描述单个层,由多个层组成的组件或者模型本身 块由类表示,类的任何子类都必须定义一个将其输入转换为输出的前向传播函数。为了计算梯度,块必须具有反向传播函数 自定义块: …...

8种常见的CMD命令
1.怎么打开CMD窗口 步骤1:winr 步骤2:在弹出的窗口输入cmd,然后点击确认,就会出现一个cmd的窗口 2.CMD的8种常见命令 2.1盘符名称冒号 说明:切换盘的路径 打开CMD窗口这里默认的是C盘的Users的27823路径底下…...

版本控制工具之Git的基础使用教程
Git Git是一个分布式版本控制系统,由Linux之父Linus Torvalds 开发。它既可以用来管理和追踪计算机文件的变化,也是开发者协作编写代码的工具。 本文将介绍 Git 的基础原理、用法、操作等内容。 一、基础概念 1.1 版本控制系统 版本控制系统&#x…...

五子棋对战(网页版)
目录 一、项目背景 用户模块 匹配模块 对战模块 二、核心技术 三、相关知识 WebSocket 原理 报文格式 代码 服务器代码 客户端代码 四、项目创建 4.1、实现用户模块 编写数据库代码 数据库设计 配置MyBatis 创建实体类 创建UserMapper 创建UserMapper接口 实现UserMapper.xml 前…...

在 Ubuntu系统中,可以使用以下几种方法查看网络速率
1 使用终端命令:可以使用ifconfig命令查看网络接口的信息,包括网络接口名称、IP地址、子网掩码等。也可以使用nload命令查看网络流量和传输速率。 2 使用网络监控工具:例如nethogs,可以更加直观地查看网络吞吐量。 3 使用网络测…...

这是摆脱困境的最好方法
20多年前,我开始涉足创业,经历过的那种停滞感我都记不清了。这是这条职业道路上最常见的挣扎之一,而且很难摆脱。 卡住的城市是一个地方,任何有创造力的,自由职业者和好奇的人经常去。这是一个很难逃离的地方。 被困…...

OceanBase 中的ROWID与Oracle的差异与如何迁移
1. ROWID 1.1 OB和Oracle中rowid的区别 正如大家所知道的,OceanBase兼容Oracle的rowid特性,但在其生成规则上却存在不同,具体表现如下: OceanBase ● 定义:OceanBase(简称 OB)的rowid是通过…...

秋招后端开发面试题 - JVM运行时数据区
目录 运行时数据区前言面试题JVM 内存区域 / 运行时数据区?说一下 JDK1.6、1.7、1.8 内存区域的变化?为什么使用元空间替代永久代作为方法区的实现?Java 堆的内存分区了解吗?运行时常量池?字符串常量池了解吗ÿ…...

【YOLOv8改进[Backbone]】使用SCINet改进YOLOv8在黑暗环境的目标检测效果
目录 一 SCINet 1 本文方法 ① 权重共享的照明学习 ② 自校准模块 ③ 无监督训练损失 二 使用SCINet助力YOLOv8在黑暗环境的目标检测效果 1 整体修改 2 配置文件 3 训练 其他 一 SCINet 官方论文地址:https://arxiv.org/pdf/2204.10137 官方代码地址&…...

ASE docker related research
ASE 2022 Understanding and Predicting Docker Build Duration: An Empirical Study of Containerized Workflow of OSS Projects 理解和预测 Docker 构建持续时间:OSS 项目容器化工作流程的实证研究 Docker 构建是容器化工作流程的关键组成部分,它…...

maven .lastUpdated文件作用
现象 有时候我在用maven管理项目时会发现有些依赖报错,这时你可以看一下本地仓库中是否有.lastUpdated文件,也许与它有关。 原因 有这个文件就表示依赖下载过程中发生了错误导致依赖没成功下载,可能是网络原因,也有可能是远程…...

gtest的编译与使用
文章目录 gtest的编译与使用概述笔记CMake参数官方文档测试程序测试效果END gtest的编译与使用 概述 gTest是 googletest的缩写,如果直接找gTest项目,是找不到的。 库地址 https://github.com/google/googletest.git 迁出到本地后,切到最新…...

【 npm详解:从入门到精通】
文章目录 npm详解:从入门到精通1. [npm](https://www.npmjs.com/)的安装2. npm的基础用法2.1 初始化项目2.2 安装依赖2.3 卸载依赖2.4 更新依赖 3. npm的高级用法3.1 运行脚本3.2 使用npm scope3.3 使用npm link 4. npm资源5. 使用npm进行依赖树分析和可视化6. npm进…...

【Web后端】实现文件上传
表单必须使用post提交 ,enctype 必须是multipart/form-data在Servlet上填加注解 MultipartConfiglocation :默认情况下将存储文件的目录,默认值为“”。maxFileSize :允许上传文件的最大大小,其值以字节为单位。 默认值为-1L表示无…...

react 逻辑 AND 运算符 ()
在 React 组件中,当你想在条件为 true 时渲染一些 JSX 时,它经常会出现,或者什么都不渲染。使用 ,只有在以下情况下才能有条件地呈现复选标记:&&isPackedtrue return (<li className"item">{…...

Redis详解(二)
事务 什么是事务? 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 事务是一个原子操作:事务中的命令要么全部被执行,要么全部都…...

嵌入式:基于STM32的智能家居照明控制系统
在智能家居系统中,自动照明控制不仅提高了居住舒适度,还有助于节能减排。本教程旨在引导读者通过使用STM32微控制器来开发一个智能照明控制系统。该系统能够根据环境光线自动调整室内照明的亮度,并支持通过简单的用户界面手动控制光线。 一、…...

三种基本排序-冒泡,选择,二分
闲话不多说,直接上代码,简明易懂,条理清晰,交互性强,尽善尽美 码住,建议copy下来: 先上二分法吧,稍复杂点的,代码多一些,用了函数调用 二分排序࿱…...

windows查找重复的物理地址
单独查询所有物理(mac)地址(cmd执行):arp -a 查找同一局域网下重复的mac,打开power shell执行以下命令: Get-NetNeighbor | Where-Object { $_.State -eq "Reachable" } | Select-O…...

linux进阶高级配置,你需要知道的有哪些(8)-shell脚本应用(三)
1、for循环语句的结构: for 变量名 in 取值列表 do 命令序列 done 2、while循环语句结构: while 条件测试 do 命令序列 done 3、for和while的区别 for:控制循环来自于取值列表 while:控制循环来自于条件测试 4、case语句的…...

安全测试|常见SQL注入攻击方式、影响及预防
SQL注入 什么是SQL注入? SQL注入是比较常见的网络攻击方式之一,主要攻击对象是数据库,针对程序员编写时的疏忽,通过SQL语句,实现无账号登录,篡改数据库。 SQL注入简单来说就是通过在表单中填写包含SQL关键…...

【Git】Git在Gitee上的基本操作指南
文章目录 1. 查看 git 版本2. 从Gitee克隆仓库:3. 复制文件到工作目录:4. 将未跟踪的文件添加到暂存区:5. 在本地提交更改:6. 将更改推送到远程仓库(Gitee):7. Windows特定提示: 1. …...

国债期货怎么买?十年国债交易手册
国债,简单来说,就是国家为了筹集资金而向大众借钱的一种方式。国家通过发行债券,向投资者承诺在约定的时间里支付利息,并在到期时归还本金。因为是国家发行的,所以国债的信用等级非常高,通常被认为是非常安…...