强化学习新突破:情节记忆与奖励机制引领多智能体协作

news2025/1/19 7:49:47

简介

本推文介绍了韩国科学技术院发表在人工智能顶会ICLR 2024上的论文《Efficient Episodic Memory Utilization of Cooperative Multi-Agent Reinforcement Learning》。该论文提出创新性高效情节记忆利用(Efficient Episodic Memory Utilization,EMU)方法,旨在解决合作多智能体强化学习(Cooperative Multi-Agent Reinforcement Learning,C-MARL)中的两个关键问题:加速学习过程与避免局部最优。通过在《星际争霸II》和《谷歌足球比赛》两种复杂环境中的实验评估,研究团队证明了高效情节记忆利用方法在性能上显著优于现有多智能体强化学习方法。

论文链接:https://openreview.net/forum?id=LjivA1SLZ6

代码链接:https://github.com/HyunghoNa/EMU

推文作者为邓镝,审校为韩煦和许东舟。

一、研究背景

合作多智能体强化学习旨在通过多个智能体协作完成共同目标(如击败敌人或得分)。尽管当前的合作多智能体强化学习算法在某些任务中表现出色,但往往需要较长的训练时间,且在面对复杂任务时容易陷入局部最优,无法找到全局最优策略。这一瓶颈在实际应用中尤其显著,特别是在任务环境复杂且需要高效协作的场景中。

针对这一问题,研究团队提出了高效情节记忆利用方法,旨在提升训练效率和策略质量。高效情节记忆利用的设计主要有两个目标:

1、加速强化学习:通过提取历史经验中的语义一致记忆,加速智能体的学习过程;

2、防止局部最优解:通过设计情节奖励机制,引导智能体朝向更理想的状态过渡,避免局部收敛问题。

高效情节记忆利用方法的核心思想是将情节记忆与策略学习过程深度结合,使智能体在面对未知任务时能够充分利用过往经验,探索更多可能的有效策略。

二、研究方法

图1概述了高效情节记忆利用框架的整体结构。该框架包含了两个关键组件:情节记忆嵌入和情节激励奖励机制。

1 高效情节记忆利用框架概述

2.1 情节记忆嵌入

论文提出了一种解码器结构,用于重构状态并预测最高回报,其嵌入函数称为EmbNet。图1(c)展示了基于EmbNet的确定性条件自编码器(dCAE),其将全局状态按时间步转化为有意义的低维嵌入向量,随后解码器预测全局状态的回报值,并通过状态重构确保特征空间的平滑性。在此过程中,智能体可通过探索性记忆回调,召回相似情境下的历史经验,从而实现更高效的学习。这种嵌入结构不仅提升了记忆空间的利用效率,还支持智能体在接近当前状态时进行更具针对性的探索,减少无效尝试。

图2 展示了t-SNE(t分布随机邻域嵌入)对采样嵌入的结果。颜色从红到紫(彩虹色)表示从低回报到高回报

2.2 情节激励奖励机制

图1(d)展示了情节激励奖励机制的设计,该机制通过标记任务中高回报状态(如在《星际争霸II》中摧毁所有敌人或在《谷歌足球比赛》中进球),给予额外奖励来引导智能体探索更优状态。智能体根据状态的“可取性”分配奖励,并将期望奖励整合到Q-Learning算法中,优化时序差分目标的计算过程。通过这一设计,智能体优先探索高回报潜力的状态,有效规避局部最优陷阱。

3 展示了情节激励。测试轨迹被绘制在嵌入空间中,并带有点状标记的采样记忆。星形标记和数字分别表示状态和时间步在情节中的可取性。颜色的含义与图2相同

三、实验结果

研究团队设计了一系列实验,重点回答以下问题:

问题1:高效情节记忆利用与当前最先进的多智能体强化学习框架相比如何?

问题2:状态嵌入如何影响嵌入空间并提升性能?

问题3:情节激励对性能改进有何作用?

该论文通过《星际争霸II》和《谷歌足球比赛》等复杂多智能体任务,系统评估了高效情节记忆利用相较于情节记忆控制器(EMC)及其他对比方法(如QMIX(混合值函数网络)、QPLEX(队列优化网络)、CDS(集群化去中心调度))的性能表现。为进一步验证高效情节记忆利用方法的通用性,论文还在QPLEX和CDS框架中实现了两个EMU版本(即基于高效情节记忆利用的QPLEX和CDS),充分展现其与多智能体强化学习框架的兼容性。

3.1 针对问题1:《星际争霸II》的比较评估

图4展示了高效情节记忆利用在不同《星际争霸II》地图上的整体性能表现。得益于高效记忆利用和情节激励机制的结合,基于高效情节记忆利用方法增强的QPLEX和CDS明显优于其原始版本,尤其是在高难度地图中,显著加速了最优策略的收敛速度。

4 高效情节记忆利用与比较算法在三个简单和困难的《星际争霸II》地图(1c3s5z、3s_vs_5z和5m_vs_6m)以及三个极难的《星际争霸II》地图(MMM2、6h_vs_8z和3s5z_vs_3s6z)上的性能比较

3.2 针对问题1:《谷歌足球比赛》的比较评估

在《谷歌足球比赛》中的实验进一步验证了高效情节记忆利用在复杂任务环境中的性能优势。在该任务中,CDS和基于高效情节记忆利用的CDS不依赖观测中的智能体索引信息,因为它们包含预测网络;相比之下,其他比较算法(如QMIX、EMC、QPLEX)则需要使用智能体身份信息。此外,为了优化学习效率,该研究未引入优先经验回放等额外算法。实验结果表明,高效情节记忆利用显著提升了整体性能,尤其在早期学习阶段,利用语义相似的记忆迅速找到获胜或得分策略。

5 高效情节记忆利用与比较算法在《谷歌足球比赛》上的性能比较

3.3 针对问题2:参数化和消融研究

该论文还研究了状态嵌入差异的阈值及状态嵌入网络结构设计对性能的影响。为了更精确地量化学习质量与效率,研究提出了以总体胜率作为评估指标,该指标综合考虑了训练速度和最终胜率。在选定的《星际争霸II》地图上,论文通过不同阈值与网络结构设计(如随机投影、EmbNet、dCAE)的组合,对总体胜率进行了详细测量。

图6 在《星际争霸II》地图上,根据不同的阈值和嵌入网络设计选择,测量总体胜率的表现

图7 根据不同的阈值和嵌入网络设计选择,衡量最终胜率的表现

图6和图7分别展示了不同阈值下的总体胜率和训练结束时的测试胜率,结果采用对数刻度表示。实验表明,dCAE结构在所有阈值下均表现出最佳训练效率,同时其最终策略的质量与其他设计选择相当。而EmbNet在训练过程中可能因状态回报相似而选择不同状态进行探索,导致过度的记忆回调,从而影响学习效果,无法获得最优策略。

图8展示了高效情节记忆利用在不同阈值下的学习曲线。结果显示,在极难的多智能体任务中(如《星际争霸II》的6h_vs_8z和《谷歌足球比赛》的CA_hard),适当的阈值能够显著提升模型表现,达到最佳效果。

图8 不同阈值在复杂多智能体强化学习任务中的效果

3.4 针对问题3:进一步的消融研究

论文还通过消融研究进一步验证了情节激励的有效性。移除情节激励的模型被记为No-EI,移除嵌入网络的模型被记为No-SE,同时移除两部分的模型被记为Original。研究在高难度的《星际争霸II》地图上评估了这些模型的性能差异。

图9显示了情节激励对学习性能的显著提升作用。特别是,在不同随机种子下,传统情节控制的模型(如QPLEX-No-EI和CDS-No-EI)性能差异较大,表明单纯依赖情节控制可能阻碍最优策略的学习。而通过情节激励选择性地鼓励期望的状态转换,模型能够有效避免局部收敛问题,提升性能稳定性。

9 通过复杂多智能体强化学习任务进行情节激励的消融研究

3.5定性分析和可视化

在可视化分析中,研究进一步探讨了情节激励机制如何影响智能体的记忆选择及信息传达的准确性。图10展示了在不同随机种子下的测试场景,每个快照都标注了对应的时间步。在图11中,每个情节的轨迹被投射到情节缓冲器的嵌入空间中。

图10 测试情节的可视化

图11 嵌入空间中的测试轨迹

具体而言,在图10中,案例(a)成功击败了所有敌人,而案例(b)则以失败告终。两者在时间步t=10之前轨迹相似,均专注于击杀一个敌人并保护盟友。然而在t=12时,案例(b)失去了一名智能体,导致其轨迹与案例(a)开始分叉。在t=14至t=16之间,案例(b)仍有获胜机会,但由于在t=20左右连续失去三名盟友,最终未能标记理想状态(未标星),从而导致失败。图11的嵌入空间分析清晰地展现了情节激励的效果,表明该机制能够有效引导智能体优先选择理想状态并避免不利决策。

四、总结

该论文提出了高效情节记忆利用框架,结合语义嵌入与情节激励,旨在高效利用情节记忆以提升合作多智能体强化学习的表现。语义嵌入使智能体能够从历史经验中提取有意义的信息,进而加速学习过程;情节激励则通过设计基于状态期望的奖励机制,避免训练过程中的局部收敛。实验结果与消融研究验证了该方法在复杂多智能体任务中的显著性能优势。

这一框架的创新设计消除了传统情节控制方法对任务复杂性超参数调整的依赖,为多智能体强化学习的未来研究与应用提供了宝贵的参考。

EN

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

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

相关文章

密码翻译

密码翻译 C语言实现C实现Java实现Python实现 💐The Begin💐点点关注,收藏不迷路💐 在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报…

【C++初阶】第7课—标准模版库STL(string_1)

文章目录 1. 什么是STL2. STL六大组件3. 标准库中string类3.1 auto关键字3.2 范围for3.3 string类的类型3.4 string类的常用接口(string类对象的常见构造)3.5 string的析构和赋值运算符重载3.6 string类对象的容量操作 1. 什么是STL STL(standard template library—标准模板库…

uniapp扭蛋机组件

做了一个uniapp的扭蛋机组件,可以前往下载地址下载 支持vue2、3、h5页面微信小程序,其余小程序未测试 示例图片

MyBatis的工作流程是怎样的?

大家好,我是锋哥。今天分享关于【MyBatis的工作流程是怎样的?】面试题。希望对大家有帮助; MyBatis的工作流程是怎样的? MyBatis 的工作流程可以分为几个主要步骤:从配置、映射到执行 SQL,最终获取数据库结…

MYSQL PARTITIONING分区操作和性能测试

PARTITION OR NOT PARTITION IN MYSQl Bill Karwin says “In most circumstances, you’re better off using indexes instead of partitioning as your main method of query optimization.” According to RICK JAMES: “It is so tempting to believe that PARTITIONing wi…

[软件工程]九.可依赖系统(Dependable Systems)

9.1什么是系统的可靠性(reliability) 系统的可靠性反映了用户对系统的信任程度。它反映了用户对其能够按照预期运行且正常使用中不会失效的信心程度。 9.2什么是可依赖性(dependablity)的目的 其目的是覆盖系统的可用性&#x…

vue3中使用watchEffect和watch函数时应当防止内存泄漏

官方文档:https://cn.vuejs.org/api/reactivity-core.html#watcheffect 也就是说当使用他们两个时候,使用完成之后要及时停止他们,防止一直在运行,停止他们之后,也可以再次开启。 watchEffect()​ 立即运行一个函数…

Wwise SoundBanks内存优化

1.更换音频格式为Vorbis 2.停用多余的音频,如Random Container的随机脚步声数量降为2个 3.背景音乐勾选“Stream”。这样就让音频从硬盘流送到Wwise,而不是保存在内存当中,也就节省了内存 4.设置最大发声数Max Voice Instances 5.设置音频…

Windows宝塔面板下IIS环境如何部署SSL证书?

Windows宝塔面板下IIS环境如何部署SSL证书? 平时服务器linux宝塔用的较多,所以linux系统宝塔,如何部署SSL证书还是比较熟悉,今天遇到一个windows的部署SSL证书,还是头一次,所以记录一下,以防忘…

【计算机视觉】图像的几何变换

最常见的几何变换有仿射变换和单应性变换两种,最常用的仿射变换有缩放、翻转、旋转、平移。 1. 缩放 将图像放大或缩小会得到新的图像,但是多出的像素点如何实现----插值 1.1 插值方法 最近邻插值 双线性插值 cv2.resize() 是 OpenCV 中用于调整图像…

深入浅出 Go 语言:数组与切片

深入浅出 Go 语言:数组与切片 引言 在 Go 语言中,数组和切片是两种非常重要的数据结构,用于存储和操作一组相同类型的元素。虽然它们看起来相似,但在使用上有很大的区别。理解数组和切片的区别以及如何正确使用它们,…

基于超级电容和电池的新能源汽车能量管理系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 超级电容特性 4.2 电池特性 5.完整工程文件 1.课题概述 基于超级电容和电池的新能源汽车能量管理系统simulink建模与仿真。分析不同车速对应的电池,超级电容充放电变化情况。 2.系统仿…

y3编辑器文档3:物体编辑器

文章目录 一、物体编辑器简介1.1 界面介绍1.2 复用(导入导出)1.3 收藏夹(项目资源管理)1.4 对象池二、单位2.1 数据设置2.2 表现设置2.3 单位势力和掉率设置2.4 技能添加和技能参数修改2.5 商店2.5.1 商店属性设置2.5.2 商店物品设置三、装饰物3.1 属性编辑3.2 碰撞体积四、…

「嵌入式系统设计与实现」书评:学习一个STM32的案例

本文最早发表于电子发烧友论坛:【新提醒】【「嵌入式系统设计与实现」阅读体验】 学习一个STM32的案例 - 发烧友官方/活动 - 电子技术论坛 - 广受欢迎的专业电子论坛!https://bbs.elecfans.com/jishu_2467617_1_1.html 感谢电子发烧友论坛和电子工业出版社的赠书。 …

Qt Designer Ui设计 功能增加

效果展示 输入密码,密码错误,弹出提示 密码正确,弹出提示并且关闭原窗口 代码(只提供重要关键主代码)lxh_log.py代码: import sysfrom PySide6.QtWidgets import QApplication, QWidget, QPushButtonfrom …

RT Thread Studio新建STM32F407IG工程文件编译提示错误

编译提示错误 原因: RT 源码使用4.0.3的话,请用STM32F4支持包的0.2.2版本,就不会出错了。 如果支持包用0.2.3版本的话,需要用RT内核4.1.0版本。0.2.3 版本更新了一些针对内核4.1.0的驱动代码,这几个定义都是4.1.0里的。

智能制造标准体系建设指南

一、智能制造系统架构总览 智能制造作为当今制造业转型升级的核心,深度整合了新一代信息技术与传统制造工艺,催生出一个横跨产品全生命周期、纵贯多层级组织架构,并彰显多元智能特性的复杂系统。这一架构从生命周期、系统层级、智能特征三个…

DApp开发与APP开发的五大区别

随着比特币与区块链技术的不断发展,DApp应用会逐渐成为主流。与APPAPP相比,DApp有许多不同之处,尤其是在架构、数据存储、用户隐私等方面。本文将通过五大关键点,深入探讨DApp开发与APP开发之间的主要区别。 1. 后端架构&#xff…

XSS(DOM)-HIGH错误总结

HIGH就不从简单的开始。 我们直接闭合HTML标签绕过 ></option></select><img srcx:alert(alt) οnerrοreval(src) altxss> 没有变化 这里应该是后端的问题&#xff0c;试试锚点注入 English#<script>alert(xss)</script> 这里不知道什么…