将大型语言模型模块化打造协作智能体

B UILDING C OOPERATIVE E MBODIED A GENTS MODULARLY WITH L ARGE L ANGUAGE M ODELS
论文链接: https://arxiv.org/abs/2307.02485icon-default.png?t=N7T8https://arxiv.org/abs/2307.02485

1.概述

        在去中心化控制及多任务环境中,多智能体合作问题因原始感官观察、高昂的通信成本以及多目标任务的复杂性而显得尤为棘手。过往研究往往基于无成本通信的假设,或依赖于具备共享观察能力的集中控制器。

        LLMs在自然语言理解、对话生成、世界知识的丰富性以及复杂推理能力方面展现出了卓越的性能。尽管已有研究证明,LLMs能够借助零样本或少样本提示驱动具身智能体完成单智能体任务,但在去中心化设置下,特别是在通信成本高昂的情况下,构建合作智能体仍面临巨大挑战。

        本研究的核心目标是探讨如何有效利用LLMs来构建合作的具身智能体,这些智能体应能在充满挑战的去中心化环境中高效合作,与人类进行顺畅交流,并成功完成长期的多目标任务。

      因此,本研究提出了一种名为CoELA(Cooperative Embodied Language Agent)的认知启发模块化框架,该框架利用LLMs的强大推理能力及自然语言理解与生成能力,集成了感知、记忆、通信、规划和执行五大核心模块。

  •  感知模块:该模块负责处理从环境中接收到的复杂视觉观察,并从中提取有用信息。
  • 记忆模块:此模块模拟人类的长期记忆功能,用于维护智能体对物理环境及其他智能体的理解。
  • 通信模块:利用LLMs的能力,该模块负责生成有效的对话,并决定何时以及发送何种信息。
  • 规划模块:根据所有可用信息,该模块负责制定高层次的计划,包括通信时机的选择。
  • 执行模块:此模块负责通过生成原始动作来执行已制定的计划。

2.整体框架

        如图所示,CoELA由五个核心组件组成,包括:(a) 感知、(b) 记忆、(c) 通信、(d) 规划、(e) 执行。在每一次交互过程中,CoELA首先运用(a) 感知组件从环境中获取原始感官数据,随后更新(b) 记忆组件中的信息,该组件储存了智能体关于世界及其他智能体的知识与经验。接下来,CoELA通过两步法克服高效通信的难题:首先确定传递的信息内容,再判断是否发送此信息或选择其他方案,通过(c) 通信组件从(b) 中检索相关信息,并借助LLM生成最佳消息。之后,借助(d) 规划组件,CoELA运用强大的推理能力,根据(b) 中的相关信息和当前状态所提出的可行行动进行决策。生成的计划用于更新(b2) 情景记忆。最后,(e) 执行组件从(b3) 中检索存储的程序知识,将高层次计划转化为环境中可执行的原始动作。

(1)感知组件(Perception Component)

        为确保具身智能体在现实世界中的实用性,它们必须通过传感器捕获原始观察并提取对后续高阶推理有益的信息。我们通过训练一个Mask-RCNN模型(He et al., 2017),使其直接处理从环境中接收的复杂视觉数据,预测RGB图像中的分割掩码,并利用RGB-D图像构建3D点云,提取高层次有用信息,如关键对象的状态,并构建局部语义地图。

(2)记忆组件(Memory Component)

        对于智能体而言,维护其对世界及其他智能体的知识和经验的记忆至关重要。我们参考人类的长期记忆机制(Atkinson & Shiffrin, 1968; Wang & Laird, 2006; Nuxoll & Laird, 2012),为CoELA设计了语义记忆、情景记忆和程序记忆。

        语义记忆:储存CoELA关于世界的知识,涵盖语义地图、任务进度、自我状态及他人状态。每当新的观察被感知并处理后,语义记忆将相应更新。值得注意的是,由于其他智能体可能在CoELA不知情的情况下与对象互动并改变其状态,处理记忆与其他智能体描述的世界之间的不一致性增加了挑战。

        情景记忆:储存CoELA过去的经验,包括动作历史和对话历史。每当CoELA执行新动作(包括发送或接收消息),相关信息将被添加至情景记忆中。

        程序记忆:包含如何在特定环境中执行特定高层次计划的知识,涵盖实现这些计划的代码和神经模型参数。

(3)通信组件(Communication Component)

        为应对“发送什么”的问题,我们设计了一个通信组件,利用LLMs强大的自由形式语言生成能力作为消息生成器。为更好地调整LLMs以适应合作任务并避免无效的随意聊天,通信组件首先从记忆组件中检索相关信息(包括语义地图、任务进度、智能体状态、他人状态、动作和对话历史),然后使用模板将这些信息转换为文本描述,最终提示LLMs生成待发送的消息。为更好地约束LLMs生成的消息,我们在提示的结尾添加了一个注释,并在对话历史的开头附加了两个种子消息,以引导产生预期的有效通信行为。

(4)规划组件(Planning Component)

        CoELA需要一个强大的规划组件来决定在利用所有收集和存储的可用信息的基础上采取何种行动,以最大限度地提升合作效率。从头开始设计这样的组件需要大量的专业人力资源,且难以普遍化。因此,我们直接利用强大的LLMs作为规划组件,首先从记忆组件中检索相关信息并将其转换为文本描述,然后根据当前状态和存储的程序知识编制所有可用高层次计划的行动列表,以供LLMs选择。这种形式化的过程使LLMs能更集中地进行推理并生成可执行计划,无需任何少样本演示。我们还采用Kojima等人(2022)介绍的零样本链式推理技术,鼓励LLMs在给出最终答案之前进行更多推理。

(5)执行组件(Execution Component)

        如(Deitke et al., 2022)所述,解决具有挑战性的具身任务需要模块化方法来应对任务的复杂性。我们发现,尽管LLMs在制定高层次计划方面表现卓越,但在制定低层次控制方面表现不佳。为实现不同环境中有效且通用的合作决策,我们设计了一个执行组件,将高层次计划转化为环境中可执行的原始动作,使规划组件能够泛化并专注于利用LLMs丰富的世界知识和强大的推理能力解决整体任务。从实际角度来看,这种设计还能减少LLMs的推理时间,节省时间和成本。CoELA从其记忆组件中检索与计划相关的程序知识,然后执行适合环境的原始动作。

3.实验

(1)实验设置

  •  ThreeDWorld Multi-Agent Transport (TDW-MAT)任务:该任务源自ThreeDWorld Transport Challenge的扩展,旨在通过增加对象与容器类型、优化对象放置的真实性,以及强化智能体间通信功能,进一步推进多智能体协同运输的研究。智能体需运用容器作为运输工具,将尽可能多的目标对象运送至指定位置。智能体以自我中心的512×512 RGB-D图像为观察依据,在低层次导航控制、互动与通信等多个动作空间中作出决策。我们选择了TDW-House数据集中的6个场景,并结合食物与物品两大任务类型,共构建24个测试集场景,每个场景包含3000帧。
  • Communicative Watch-And-Help (C-WAH)任务:C-WAH任务源于Watch-And-Help Challenge的扩展,基于VirtualHome-Social模拟平台,专注于智能体合作能力与通信机制的研究。任务涵盖五种常见的家庭活动,每种活动均设定了具体的谓词与满足条件。我们从中选取了10个测试集场景,每种活动类型各占2个,每个场景包含250步操作。

(2)基线方法:

  •  MCTS-based Hierarchical Planner (MHP):该方法沿用了原Watch-And-Help Challenge中的顶尖基线,结合了基于MCTS的高层次规划与基于回归规划的低层次规划策略。
  • Rule-based Hierarchical Planner (RHP):此方法继承自ThreeDWorld Transport Challenge的优质基线,结合基于启发式规则的高层次规划与A*算法的低层次规划,并采用了前沿探索策略。
  • Multi-Agent Transformer (MAT):MAT是基于多智能体强化学习(MARL)的基线方法,通过集中决策转换器从共享观察中生成动作。为适应本实验设置,MAT将语义地图与智能体状态作为观察对象,并采用50帧堆叠作为强化学习步骤。

(3)实现细节:

        在感知模块训练中,我们采用了Mask-RCNN。同时,通过OpenAI API实例化了顶尖LLM GPT-4,并设置了温度参数为0.7,top-p为1,最大tokens数为256。此外,我们还进行了使用LoRA技术微调LLAMA-2的实验。

(4)度量标准:

- 运输率(TR):用于评估TDW-MAT任务中子目标的完成比例。

- 平均步数(L):衡量C-WAH任务完成的效率。

- 合作智能体效率改进(EI):以量化方式反映智能体合作所带来的效果提升。

(5)实验结果

与AI智能体合作

        CoELA与基线智能体在合作中展现出更优的效果。据表1数据显示,相较于RHP单独完成任务的情况,与CoELA合作显著提升了运输率(TR)和效率提升(EI),分别为0.69(36%)和0.61(29%)。这充分表明,即便在不深入了解其他智能体内部工作机制的条件下,CoELA亦能有效推理其他智能体的状态。

        在C-WAH任务中,如表2所示,与CoELA合作实现的效率提升高达45%,而与MHP合作仅提升33%。进一步在符号观察和视觉观察的场景下,CoELA+CoELA的组合表现优于其他智能体组合。

        对于CoLLAMA与GPT-4的对比,当采用开源模型LLAMA-2替代GPT-4时,性能出现明显下降。然而,经过微调的CoLLAMA在TDW-MAT任务中取得了0.70的TR,并在部分子任务上超越了GPT-4。

        针对CoELA的合作表现,进行了定性分析。结果表明,CoELA能够有效分享进展与信息,适时请求帮助并响应他人请求,根据合作对象的情况调整计划,并明智地选择通信时机。

与人类合作

        关于与人类合作的重要性,我们进行了一项人类实验。在C-WAH环境中,让8位受试者与智能体Alice进行合作。实验涵盖了四种场景:与MHP合作、与CoELA合作、无通信的CoELA合作以及单独完成任务。受试者可通过点击可见对象并选择动作与智能体进行交互,包括导航至各个房间以及通过聊天框进行通信。

        每次实验后,受试者根据与智能体的合作情况进行了7点Likert量表的评分,评估标准涵盖通信的有效性、智能体对信息的理解与分享程度、帮助程度以及信任度。

        实验结果如图4a所示,CoELA在与人类合作时表现优于MHP,即便在无通信条件下,CoELA的表现亦优于MHP。图4b进一步显示,人类更倾向于信任与他们进行自然语言交流的CoELA(信任评分6.3对比无通信CoELA的4.7,p=0.0003),从而实现了更佳的合作效果。与采用模板语言交流的MHP相比,人类更倾向于与能够理解和响应人类对话的CoELA进行合作。

 (6)分析        

我们需要强大的LLM用于规划和通信模块吗?

  • 如图4c所示,当我们用GPT-3.5替换GPT-4来驱动CoELA时,智能体需要更多的步骤来完成任务。GPT-3.5在状态推理方面犯的错误更多,因此生成的计划不太合理,导致CoELA完成任务的时间更长。GPT-3.5也倾向于更频繁地生成无用信息。性能差距可以归因于GPT-4更高级的推理和理论心智能力,这一点也在Bubeck et al. (2023)中有所观察。

通信是否有效?

  • 尽管在某些情况下通信仍然失败,但如图3所示,我们的智能体表现出有效的通信行为,如分享信息、请求帮助、响应请求以及知道何时不进行通信。更重要的是,自然语言通信为我们提供了一种透镜,用于理解人类和AI之间的决策,这可能导致更好的合作。如图4c所示,在禁用智能体之间的通信时没有观察到显著的性能下降,因为在我们的设置中,进行高效通信非常具有挑战性,要求智能体准确建模他人并理解自然语言的模糊性,这对当前LLMs来说仍然难以做到稳健。

记忆模块和执行模块是否有效?

  • 如图4c所示,智能体在没有记忆模块的情况下完成任务所需的步骤几乎翻倍,这表明记忆模块在存储和更新对场景和其他智能体的知识和经验方面的重要性。我们还尝试移除执行模块并让规划模块进行低层次控制,发现同样效果不佳。

(7)LLM的失败案例和局限性

        尽管使用最先进的LLMs构建的CoELA表现出色并取得了令人印象深刻的结果,但我们发现智能体在几个基本能力上仍然存在不足。我们提供了对这些局限性的深入分析,并分享了一些关于未来设计更好合作具身智能体的见解。

        限制3D空间信息的使用

  • CoELA没有有效引入对象和房间的空间信息到纯文本语言模型中,这可能导致智能体提出的探索计划在语义上合理但实际上耗时。利用能够有效处理视觉模态并生成自然语言的多模态大型模型可以克服这一局限性,构建更好的具身智能体(Huang et al., 2023; Driess et al., 2023; Lu et al., 2022)。

        缺乏对低层次动作的有效推理

  • 为了帮助LLMs更好地专注于解决总体任务,我们抽象出高层次计划供LLMs直接推理,但这也使得LLMs无法执行低层次动作的推理,可能导致看似合理但实际上无效的决定。例如,在图5a中,Alice看到Bob同时拿着一个容器和一个目标物体,并认为他可能不知道如何使用容器,于是发送消息指示他将物体放入容器,尽管Bob实际上已经在执行这一动作。开发能够直接进行低层次控制的智能体对于构建更好的合作智能体至关重要。

在复杂推理上的不稳定表现

  • 尽管LLMs在大多数情况下能做出正确的推理,但它们仍偶尔犯错,包括误解环境规则和对未满足目标的错误推理(如图5b所示)。这些错误可能导致任务失败,这呼吁我们开发具有更强指令遵循和推理能力的LLMs。

              

 

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

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

相关文章

【机器学习】机器学习重塑广告营销:精准触达,高效转化的未来之路

📝个人主页🌹:Eternity._ 🌹🌹期待您的关注 🌹🌹 ❀目录 📒1. 引言📙2. 机器学习基础与广告营销的结合🧩机器学习在广告营销中的核心应用领域🌹用…

【React】React18 Hooks 之 useReducer

目录 useReducer案例1:useReducer不带初始化函数案例2:useReducer带初始化函数注意事项1:dispatch函数不会改变正在运行的代码的状态注意事项2:获取dispatch函数触发后 JavaScript 变量的值注意事项3:触发了reducer&am…

Spring Boot集成olingo快速入门demo

1.什么是olingo? Apache Olingo 是个 Java 库,用来实现 Open Data Protocol (OData)。 Apache Olingo 包括服务客户端和 OData 服务器方面。 Open Data Protocol (开放数据协议,OData) 是用来查询和更新数据的一种W…

【吊打面试官系列-MyBatis面试题】MyBatis 实现一对多有几种方式,怎么操作的?

大家好,我是锋哥。今天分享关于 【MyBatis 实现一对多有几种方式,怎么操作的?】面试题,希望对大家有帮助; MyBatis 实现一对多有几种方式,怎么操作的? 有联合查询和嵌套查询。联合查询是几个表联合查询,只查询一次,通过…

观察矩阵(View Matrix)、投影矩阵(Projection Matrix)、视口矩阵(Window Matrix)及VPM矩阵及它们之间的关系

V表示摄像机的观察矩阵(View Matrix),它的作用是把对象从世界坐标系变换到摄像机坐标系。因此,对于世界坐标系下的坐标值worldCoord(x0, y0, z0),如果希望使用观察矩阵VM将其变换为摄像机坐标系下的坐标值localCoord(x…

Node.js-path 模块

path 模块 path 模块提供了 操作路径 的功能,如下是几个较为常用的几个 API: 代码实例: const path require(path);//获取路径分隔符 console.log(path.sep);//拼接绝对路径 console.log(path.resolve(__dirname, test));//解析路径 let pa…

vulhub-activemq(CVE-2016-3088)

在 Apache ActiveMQ 5.12.x~5.13.x 版本中,默认关闭了 fileserver 这个应用(不过,可以在conf/jetty.xml 中开启);在 5.14.0 版本后,彻底删除了 fileserver 应用。【所以在渗透测试过程中要确定好 ActiveMQ …

数据结构1:C++实现变长数组

数组作为线性表的一种,具有内存连续这一特点,可以通过下标访问元素,并且下标访问的时间复杂的是O(1),在数组的末尾插入和删除元素的时间复杂度同样是O(1),我们使用C实现一个简单的边长数组。 数据结构定义 class Arr…

华为OD机试 - 来自异国的客人(Java 2024 D卷 100分)

华为OD机试 2024D卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(D卷C卷A卷B卷)》。 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测…

新手教学系列——前后端分离API优化版

在之前的文章《Vue 前后端分离开发:懒人必备的API SDK》中,我介绍了通过Object对象自动生成API的方法。然而,之前的代码存在一些冗余之处。今天,我将分享一个改进版本,帮助你更高效地管理API。 改进版API SDK 首先,让我们来看一下改进后的代码: import request from …

【反悔贪心 反悔堆】1642. 可以到达的最远建筑

本文涉及知识点 反悔贪心 反悔堆 LeetCode1642. 可以到达的最远建筑 给你一个整数数组 heights ,表示建筑物的高度。另有一些砖块 bricks 和梯子 ladders 。 你从建筑物 0 开始旅程,不断向后面的建筑物移动,期间可能会用到砖块或梯子。 当…

MATLAB 2024b 更新了些什么?

MATLAB 2024b版本已经推出了预览版,本期介绍一些MATLAB部分的主要的更新内容。 帮助浏览器被移除 在此前的版本,当我们从MATLAB中访问帮助文档时,默认会通过MATLAB的帮助浏览器(Help browser)。 2024b版本开始&…

【Unity数据交互】如何Unity中读取Ecxel中的数据

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 专栏交流🧧&…

医院挂号系统小程序的设计

管理员账户功能包括:系统首页,个人中心,患者管理,医生管理,专家信息管理,科室管理,预约信息管理,系统管理 微信端账号功能包括:系统首页,专家信息&#xff0…

数据结构算法-排序(一)-冒泡排序

什么是冒泡排序 冒泡排序:在原数组中通过相邻两项元素的比较,交换而完成的排序算法。 算法核心 数组中相邻两项比较、交换。 算法复杂度 时间复杂度 实现一次排序找到最大值需要遍历 n-1次(n为数组长度) 需要这样的排序 n-1次。 需要 (n-1) * (n-1) —…

【Linux进阶】文件系统7——文件系统简单操作

1.磁盘与目录的容量 现在我们知道磁盘的整体数据是在超级区块中,但是每个文件的容量则在inode 当中记载。 那在命令行模式下面该如何显示这几个数据?下面就让我们来谈一谈这两个命令: df:列出文件系统的整体磁盘使用量&#xf…

Poker Game, Run Fast

Poker Game, Run Fast 扑克&#xff1a;跑得快 分门别类&#xff1a; 单张从小到大默认 A < 2 < 3 < 4 < 5 < 6 < 7 < 8 < 9 < 10 < J < Q < K 跑得快&#xff1a;单张从小到大 3 < 4 < 5 < 6 < 7 < 8 < 9 < 10 &…

javaweb个人主页设计(html+css+js)

目录 1 前言和要求 1.1 前言 1.2 设计要求 2 预览 2.1 主页页面 2.2 个人简介 2.3 个人爱好 2.4 个人成绩有代码&#xff0c;但是图片已省略&#xff0c;可以根据自己情况添加 2.5 收藏夹 3 代码实现 3.1 主页 3.2 个人简介 3.3 个人爱好 3.4 个人成绩&#xff…

求职成功率的算法,与葫芦娃救爷爷的算法,有哪些相同与不同

1 本节概述 通过在B站百刷葫芦娃这部儿时剧&#xff0c;我觉得可以从中梳理出一些算法&#xff0c;甚至可以用于求职这个场景。所以&#xff0c;大家可以随便问我葫芦娃的一些剧情和感悟&#xff0c;我都可以做一些回答。 2 葫芦娃救爷爷有哪些算法可言&#xff1f; 我们知道…

身体(body)的觉醒

佛&#xff0c;是一个梵文的汉语音译词&#xff0c;指觉醒者。 何谓觉醒&#xff1f;什么的觉醒&#xff1f;其实很简单&#xff0c;就是身体的觉醒。 佛的另一个名字&#xff0c;叫菩提&#xff0c;佛就是菩提&#xff0c;菩提老祖&#xff0c;就是佛祖。 body&#xff0c;即…