革新机器人任务规划: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进…...
中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
智能AI电话机器人系统的识别能力现状与发展水平
一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...
论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving
地址:LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂,正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...
实战设计模式之模板方法模式
概述 模板方法模式定义了一个操作中的算法骨架,并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。简单来说,就是在一个方法中定义了要执行的步骤顺序或算法框架,但允许子类…...
6️⃣Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙
Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙 一、前言:离区块链还有多远? 区块链听起来可能遥不可及,似乎是只有密码学专家和资深工程师才能涉足的领域。但事实上,构建一个区块链的核心并不复杂,尤其当你已经掌握了一门系统编程语言,比如 Go。 要真正理解区…...
Java后端检查空条件查询
通过抛出运行异常:throw new RuntimeException("请输入查询条件!");BranchWarehouseServiceImpl.java // 查询试剂交易(入库/出库)记录Overridepublic List<BranchWarehouseTransactions> queryForReagent(Branch…...
