MAPPO 算法的深度解析与应用和实现

news2024/9/25 13:24:16

【论文研读】 The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games

说明:

  1. 来源:36th Conference on Neural Information Processing Systems (NeurIPS 2022) Track on Datasets and Benchmarks. 是NIPS文章,质量有保障,放心食用。
  2. 第5章节, Factors Influential to PPO’s Performance,分析了各个参数对于多智能体系统的影响,其分析方法和消融实验的方法是值得学习的。

0. 摘要

PPO 属于 on-policy 的算法,所以被认为它的样本效率比较低。在多智能体的环境下,off-policy的策略被广泛使用。在这项工作中,我们仔细研究了PPO在合作多智能体设置下的性能。我们展示了基于ppo的多智能体算法在四种流行的多智能体测试平台(粒子世界环境、星际争霸多智能体挑战、Google Research Football和Hanabi挑战)中实现了惊人的强大性能,只需要最小的超参数调整,并且没有任何特定领域的算法修改或架构。重要的是,与竞争性的 off-policy 方法相比,PPO通常在最终回报和样本效率方面都具有竞争力或更好的结果。

1. Intro

我们进行了全面的实证研究,以检验PPO在四种流行的合作多智能体基准测试中的性能:多智能体粒子世界环境(MPE)[22]、星际争霸多智能体挑战(SMAC)[28]、谷歌研究足球(GRF)[19]和Hanabi挑战[3]。我们首先表明,与 off-policy 基线相比,PPO实现了强大的任务性能和具有竞争力的样本效率。

然后,我们确定了五个对PPO性能特别重要的实现因素和超参数,提供了关于这些配置因素的具体建议,并直观地说明了为什么这些建议成立。

我们在这项工作中的目的 不是提出一种新的MARL算法,而是通过经验证明,通过简单的修改,PPO可以在各种合作多智能体设置中获得强大的性能。 我们还相信,我们的建议将有助于从业者与PPO取得有竞争力的结果。

我们的贡献总结如下:

•我们证明,PPO在没有任何特定领域的算法更改或架构以及最小调优的情况下,在四个多智能体合作基准测试中实现了与off-policy 方法竞争的最终性能。(PPO 可用性的证明,实证研究)
•我们证明PPO在使用与许多off-policy 方法相当数量的样本时获得了这些强有力的结果。(推翻先前PPO样本效率不如off-policy 的普遍认知)
•我们确定并分析了在这些环境中控制PPO实际性能的五个实施和超参数因素,并就这些因素提供了最佳实践的具体建议。(消融实验对超参数的分析)

2. 相关工作

MARL算法通常分为两种框架:集中式和分散式学习。

  • 集中式方法[6]直接学习单一策略,产生所有智能体的联合动作。
  • 在分散学习中[21],每个智能体独立地优化其奖励; 这些方法可以处理一般和博弈,但即使在简单的矩阵博弈中也可能存在不稳定性[12]。
  • 集中训练和分散执行(CTDE)算法介于这两种框架之间。过去的几种CTDE方法[22,11]采用行动者-评论家结构,并学习以全局信息为输入的集中式评论家。值分解(VD)方法是另一类CTDE算法,它将联合 q 函数表示为智能体局部q函数的函数[32,27,31],并在流行的MARL基准测试中建立了最先进的结果[37,36]。

在单智能体连续控制任务中[8],非策略方法(如SAC[13])的进步导致了一个共识,即尽管它们早期取得了成功,但策略梯度(PG)算法(如PPO)的样本效率低于非策略方法。在多智能体领域也得出了类似的结论:[25]报告称,在粒子世界环境[23]和《星际争霸》多智能体挑战[28]中,多智能体PG方法(如COMA)的表现 被 MADDPG和QMix 超越 [27]。

多个并行工作研究了 PPO 在多智能体域中的使用。 [7] 经验表明,去中心化、独立的 PPO(IPPO)可以在几个硬 SMAC 地图中取得很高的成功率 - 然而,报告的 IPPO 结果总体上仍差于 QMix,并且该研究仅限于 SMAC。 [25] 对各种 MARL 算法进行了广泛的基准测试,并注意到基于 PPO 的方法通常与其他方法相比具有竞争力。 另一方面,我们的工作重点是 PPO,并在一组更全面的合作多智能体基准上分析其性能。 我们展示了 PPO 在绝大多数任务中取得了良好的结果,并识别和分析了 PPO 的不同实现和超参数因素,这些因素对其多智能体领域的性能有影响; 据我们所知,在过去的工作中,特别是在多智能体环境中,尚未对这些因素进行如此深入的研究。

我们对多智能体环境中 PPO 的实现和超参数因素的实证分析与单智能体强化学习中的策略梯度方法的研究类似[34,17,9,1]。 我们发现其中一些建议很有用,并将它们纳入我们的实施中。 在我们的分析中,我们关注的是现有文献中很大程度上没有得到充分研究的因素,或者是多智能体环境中完全独特的因素。

3. 多智能体下的PPO 架构

3.1 预备知识

我们研究具有共享奖励的分散式部分可观察马尔可夫决策过程(DEC-POMDP)[24]。关于这种类型的马尔可夫决策过程的描述如下所示:
在这里插入图片描述
所谓部分可观测,就是说每个智能体只能看到它周围的环境。(和这个有点不一样的是,在广告算力系统下,每个智能体的观测是全局的)

3.2 MAPPO 和 IPPO

我们在多智能体环境中实现的PPO与单智能体环境中的PPO非常相似,它通过学习一个策略πθ和一个值函数Vφ(s)来进行训练;这些函数被表示为两个独立的神经网络。值函数Vφ(s)用于方差减少,并且仅在训练过程中使用;因此,它可以接收额外的全局信息作为输入,这些信息在智能体的局部观察中不存在,使得多智能体领域中的PPO可以遵循CTDE结构。为了明确起见,我们将具有集中值函数输入的PPO称为MAPPO(多智能体PPO),将策略和值函数都使用局部输入的PPO称为IPPO(独立PPO)。需要注意的是,MAPPO和IPPO都适用于智能体共享共同奖励的环境,因为我们只关注合作环境。

通过上文,认识 IPPO和MAPPO的区别。

3.3 实现的细节

• 参数共享:在具有同质智能体的基准环境中(即智能体具有相同的观察和动作空间),我们利用参数共享;以前的研究表明,这可以提高学习的效率[5, 33],这也与我们的实证结果一致。在这些设置中,智能体共享策略和值函数的参数。附录C.2中提供了使用参数共享设置和为每个智能体学习独立参数的比较。我们指出,除了MPE中的Comm设置外,所有基准测试中的智能体都是同质的。

• 常见的实施做法:我们还采用了实施PPO的常见做法,包括广义优势估计(GAE)[29]、优势归一化和值剪辑。关于超参数搜索设置、训练细节和实施细节的完整描述详见附录C。我们的实施代码可以在https://github.com/marlbenchmark/on-policy找到。

4. 主要实验结果

5. 影响PPO性能的因素

null

6. 结论

这项工作表明,PPO(一种on-policy的策略梯度 RL 算法)在最终回报和样本效率方面都取得了强劲的成果,可与各种合作多智能体挑战的最先进方法相媲美,这表明 正确配置的 PPO 可以成为合作 MARL 任务的竞争基准。 我们还确定并分析了在这些环境中影响 PPO 性能的五个关键实施和超参数因素。 根据我们的实证研究,我们针对这些因素给出了最佳实践的具体建议。 这项工作存在一些局限性,为未来的研究指明了方向。 首先,我们的基准环境都使用离散的动作空间,都是合作的,并且在绝大多数情况下都包含同质代理。

在未来的工作中,我们的目标是在更广泛的领域测试 PPO,例如具有连续动作空间和异构代理的竞争性游戏和 MARL 问题。 此外,我们的工作本质上主要是实证性的,并没有直接分析 PPO 的理论基础。 我们相信,对我们建议的实证分析可以作为进一步分析 PPO 在 MARL 中的特性的起点。

7. 附录

7.1 算法的详情

在这里插入图片描述

MAPPO 训练两个独立的神经网络:参数为 θ 的行动者网络和参数为 φ 的值函数网络(称为批评家)。 如果代理是同质的,这些网络可以在所有代理之间共享,但每个代理也可以拥有自己的一对演员和评论家网络。 为了符号方便,我们在这里假设所有代理共享评论家和参与者网络。 具体来说,批评者网络(表示为 Vφ)执行以下映射:S → R。全局状态可以是特定于代理的或与代理无关的。

actor网络表示为 πθ,将代理观察 o(a) t 映射到离散动作空间中动作的分类分布,或者映射到多元高斯分布的均值和标准差向量,从中连续采样动作 行动空间。 actor 网络经过训练以最大化下面的目标:
在这里插入图片描述
上面目标的第一部分,目的是最大化优势,让actor朝着批评家指引的方向去走。第二部分,目的是让策略的熵最大化,也就是尽可能的分散一些,避免输出的动作分布过于集中。

这里需要注意,actor网络的输出不是一个特定的动作,而是一个分布!!!
所以接着还有从分布中抽样动作的一步。

批评家网络的目标是啥呢?

让估计的未来的回报最大化。
在这里插入图片描述
在上面的损失函数中,B 指的是批量大小,n 指的是代理的数量。
如果批评者和行动者网络是 RNN,则损失函数会随着时间的推移而求和,并且网络通过时间反向传播 (BPTT) 进行训练。

8. 个人思考后余留问题

Compute advantage estimate A via GAE on τ , using PopArt。这句话中GAE方法计算优势函数的原理和技术是什么。

RNN 计算的隐藏状态是如何被使用的?


原文地址:
https://arxiv.org/pdf/2103.01955.pdf
https://bair.berkeley.edu/blog/2021/07/14/mappo/

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

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

相关文章

4个方面介绍云渲染技术的发展趋势和前景!

云渲染技术是一种新兴的渲染技术,它利用云计算的优势,将渲染任务分配到云端服务器上进行处理,从而大大提高了渲染效率和质量。云渲染技术在影视动画、建筑设计、游戏开发等领域有广泛的应用,为数字内容创作提供了便捷和高效的解决…

金融科技与现代开源技术结合的进展超前到你无法想象!

想要了解最新的金融科技进展吗? 渴望与其他技术爱好者交流,并扩展您在金融科技行业中的人脉关系吗? 那么请参加我们即将举行的 Meetup,本次活动由 Apache DolphinScheduler 社区和 OceanBase 技术社区共同举办,聚焦金…

为什么都劝年轻人不要频繁跳槽?

"为什么都劝年轻人不要频繁跳槽?"这句话绝对正确,没有任何漏洞,无论如何解释都是正确的,因为“频繁”这个词是非常主观的,有很大的弹性。 不同的人对于跳多少次才算频繁有不同的看法,有人认为一…

二、MySql库的操作

文章目录 一、库的操作(一)创建数据库(二)创建数据库案例(三)字符集和校验规则1、 查看系统默认字符集以及校验规则2、查看数据库支持的字符集3、查看数据库支持的字符集校验规则4、校验规则对数据库的影响…

转转短链平台设计与实现

1 背景介绍 转转是中国领先的二手交易平台,链接作为用户在平台上进行交互和信息传递的重要媒介,扮演着不可或缺的角色。 传统长链接通常包含大量字符和特殊符号,不易记忆和传播。由于字数的原因,长链接在发送短信,生成…

策略模式【Strategy Pattern】

刘备要到江东娶老婆了,走之前诸葛亮给赵云(伴郎)三个锦囊妙计,说是按天机拆开解决棘手问题, 嘿,还别说,真是解决了大问题,搞到最后是周瑜陪了夫人又折兵呀,那咱们先看看…

Linux 的基本使用

1、Linux 是什么 Linux 是一个操作系统. 和 Windows 是 "并列" 的关系 Linux 严格意义来说只是一个 "操作系统内核". 一个完整的操作系统 操作系统内核 配套的应用程序. CentOS 和 RedHat 的关系 RedHat一直都提供源代码的发行方式,Cent…

【MySQL系列】表约束的学习

「前言」文章内容大致是MySQL的表的约束。 「归属专栏」MySQL 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 一、MySQL表的约束1.1 空属性1.2 默认值(default)1.3 列描述(comment)1.4 zerofill1.5 主键(primary ke…

新型网络安全:从过程到明确结果

内容 过去的情况网络安全是理论性的,结果才是实际性的。这可能吗?我们现在的努力方向结论 本文讲述了为什么企业必须重新思考其网络安全方法:旧方法是否足够有效,是否可以完全适用?公司应采取哪些行动来实现内部信息…

【Spring Boot】构建RESTful服务 — RESTful简介

RESTful简介 本节将从基础的概念开始介绍什么是RESTful、RESTful的特点、RESTful中的资源、HTTP Method、HTTP Status,还将介绍RESTful和SOAP到底有哪些区别。 1.什么是RESTful RESTful是目前流行的互联网软件服务架构设计风格。REST(Representationa…

HCIA---路由器--静态路由

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 一.路由器简介 路由器是一种网络设备,用于将数据包从一个网络发送到另一个网络…

系统架构设计师-系统可靠性分析与设计

目录 一、可靠性相关基本概念 二、可靠性指标 1、串联系统与并联系统可靠性指标计算 2、混合系统 三、可靠性设计 1、影响软件可靠性的主要因素: 2、增加可靠性的解决方案 2.1 避错技术 2.2 降低复杂度设计 2.3 检错技术 2.4 容错技术 3、双机容错 一、可靠性相关…

当涉及到Python计算结果的责任时,谁来负责呢?

代码质量和测试:在发布之前,通常会进行代码测试以确保基本的错误被避免。对于广泛使用的库和框架,如numpy、scipy和pandas,其代码正确性经过了充分的测试和验证,用户可以放心使用。社区维护和开发者:Python…

自编码器的学习

先奉上视频 https://www.bilibili.com/video/BV1Vx411j78H/?spm_id_from333.788.recommend_more_video.-1&vd_sourceeb433c8780bdd700f49c6fc8e3bd0911

MySQL — MVCC

文章目录 MVCCMVCC 实现原理隐藏字段undo logundo log的用途undo log类型 版本链ReadView MVCC InnoDB是一个多版本的存储引擎。它保留有关已更改行的旧版本的信息,以支持并发和回滚等事务性特性。这些信息存储在undo表空间中的数据结构称为回滚段。InnoDB使用回滚…

三天吃透Java面试八股文(2023最新整理),面试通过率高达90%

什么样的求职者能够获得面试官的青睐?求职者需要准备哪些内容来面对形形色色的面试官?这两份资料是我在几十场面试中被面试官问到的问题,比其他复制粘贴的面试题强一百倍,堪称全网最强(我不太喜欢“全网最强”这样的字…

《连锁零售超市经营数据分析实战》学习笔记

这篇文章整理自 接地气的陈老师 x 和鲸社区 | 连锁零售超市经营数据分析实战 活动业务讲解会【接地气的陈老师】的讲解 更多数据分析动手实践活动欢迎访问>>和鲸社区活动 活动背景 现在你是某零售企业的商业数据分析师,你为管理层提供日常经营数据。到一年年…

【JAVA开发工具系列】Git

Git常用功能整理 1.自动打包1.1 第一步安装git 服务1.1.1 查看版本1.1.2 安装1.1.3 配置秘钥 1.2 第二步 配置maven1.2.1 下载1.2.2解压1.2.3 配置环境变量1.2.4刷新环境变量文件1.2.5测试环境1.2.6 修改数据源 1.3 部署项目1.3.1拉取项目 1.4 jar 重启tomcat 2.SmartGit合并主…

Gpt微信小程序搭建的前后端流程 - 前端小程序部分-2.确定交互所需的后端API(二)

Gpt微信小程序搭建的前后端流程 - 前端小程序部分-2.确定交互所需的后端API(二) 参考微信小程序-小柠AI智能聊天,可自行先体验。 根据上一节的小程序静态页面设计,需要从后端获取数据的主要4个点: 登录流程;获取今日已提问次数&a…

财税数字化时代,RPA在多大程度上为财务部门实现降本增效?

企业数字化转型,财务是一个重要的切入点。随着数字化业务不断展开,新的系统、流程和数据源被不断引入,财务部门面临的是不断暴增的对账、处理报表、审计等日常工作。 如此大的工作量,即使是经验丰富的资深财务,也难免…