赞
踩
深度强化学习实验室
官网:http://www.neurondance.com/
论坛:http://deeprl.neurondance.com/
来源:https://github.com/instadeepai/Mava
Mava 是一个用于构建多智能体强化学习 (MARL) 系统的库。Mava 为 MARL 提供了有用的组件、抽象、实用程序和工具,并允许对多进程系统训练和执行进行简单的扩展,同时提供高度的灵活性和可组合性。
注意:我们发布 Mava 的首要目的是使更广泛的社区受益,并使研究人员更容易在 MARL 上工作。但是,我们认为此版本是 Mava 的 Beta 版。与许多框架一样,Mava 是(并且可能永远保持)正在进行中的工作,并且团队旨在在未来的版本中提供和改进更多内容。从结合最新的研究和创新到使框架更加稳定、健壮和经过良好测试。此外,我们承诺并将尽最大努力保持一切正常运行,并尽可能使使用 Mava 的体验愉快。在 Beta 开发期间,可能会发生重大更改以及重大设计更改(如果我们认为这可以大大提高框架的可用性),但这些将在被合并到代码库之前进行清楚地传达。也不可避免地可能存在我们不知道的错误,并且事情可能会不时中断。我们将尽最大努力修复这些错误并尽快解决任何问题。
Mava 框架的核心是系统的概念。系统是指完整的多智能体强化学习算法,由以下特定组件组成:执行器、训练器和数据集。
“执行器(Executor)”是系统的一部分,它与环境交互,为每个智能体采取行动并观察下一个状态作为观察集合,系统中的每个代理一个。本质上,执行器是 Acme 中 Actor 类的多智能体版本,它们本身是通过向执行器提供策略网络字典来构建的。Trainer 负责从最初从 executor 收集的 Dataset 中采样数据,并更新系统中每个 agent 的参数。因此,Trainers 是 Acme 中 Learner 类的多智能体版本。数据集以字典集合的形式存储了执行者收集的所有信息,用于操作、观察和奖励,并带有与各个智能体 ID 对应的键。基本系统设计如上图左侧所示。可以查看系统实现的几个示例
Mava 出于同样的原因分享了 Acme 的大部分设计理念:为新研究(即构建新系统)提供高水平的可组合性,以及使用相同的底层多智能体RL 系统代码。Mava 使用 Launchpad 来创建分布式程序。在 Mava 中,系统执行器(负责数据收集)分布在多个进程中,每个进程都有一个环境副本。每个进程收集和存储数据,训练器使用这些数据来更新每个执行器中使用的所有参与者网络的参数。这种分布式系统训练方法如图所示。
PettingZoo
SMAC
Flatland
2D RoboCup
OpenSpiel
- # Mava imports
- from mava.systems.tf import madqn
- from mava.components.tf.architectures import DecentralisedPolicyActor
- from . import helpers
-
- # Launchpad imports
- import launchpad
-
- # Distributed program
- program = madqn.MADQN(
- environment_factory=helpers.environment_factory,
- network_factory=helpers.network_factory,
- architecture=DecentralisedPolicyActor,
- num_executors=2,
- ).build()
-
- # Launch
- launchpad.launch(
- program,
- launchpad.LaunchType.LOCAL_MULTI_PROCESSING,
- )
-
程序的前两个参数是环境和网络工厂函数。这些辅助函数负责为系统创建网络,在不同的计算节点上初始化它们的参数,并为每个执行器提供环境的副本。下一个参数 num_executors 设置要运行的执行程序进程数。构建程序后,我们将其提供给 Launchpad 的启动函数并指定启动类型以执行本地多处理,即在单台机器上运行分布式程序。向上或向下扩展只是调整执行程序进程数量的问题。
如需更深入的了解,请查看我们的 examples 子目录中的详细工作代码示例,这些示例展示了如何实例化一些 MARL 系统和环境。
Mava 提供了多个组件来支持 MARL 系统的设计,例如不同的系统架构和模块。您可以更改架构以支持代理之间不同形式的信息共享,或添加模块以增强系统功能。下面给出了一些常见架构的示例。
已经在 Python 3.6、3.7 和 3.8 上测试了 mava。
Python虚拟环境 如果不使用 docker,我们强烈建议使用 Python 虚拟环境来管理您的依赖项,以避免版本冲突。请注意,由于 Launchpad 仅支持基于 Linux 的操作系统,因此使用 python 虚拟环境仅适用于以下情况
- python3 -m venv mava
- source mava/bin/activate
- pip install --upgrade pip setuptools
-
- pip install id-mava
- pip install id-mava[reverb]
-
- pip install id-mava[tf]
- pip install id-mava[launchpad]
-
- pip install id-mava[envs]
- pip install id-mava[flatland]
-
- pip install id-mava[open_spiel]
- # 对于星际争霸 II 安装,必须根据您的操作系统单独安装。 要安装星际争霸 II ML 环境和相关包,请按照 PySC2 上的说明安装星际争霸 II 游戏文件。 请确保您在星际争霸 II 地图目录中提取了所需的游戏地图(适用于 PySC2 和 SMAC)。 完成此操作后,您可以为单代理案例 (PySC2) 和多代理案例 (SMAC) 安装软件包。
- pip install pysc2
- pip install git+https://github.com/oxwhirl/smac.git
-
- #对于 2D RoboCup 环境,本地安装仅使用 Ubuntu 18.04 操作系统进行了测试。 可以通过在 Mava python 虚拟环境中运行 RoboCup bash 脚本来执行安装。
- ./install_robocup.sh
- @article{pretorius2021mava,
- title={Mava: A Research Framework for Distributed Multi-Agent Reinforcement Learning},
- author={Arnu Pretorius and Kale-ab Tessera and Andries P. Smit and Kevin Eloff
- and Claude Formanek and St John Grimbly and Siphelele Danisa and Lawrence Francis
- and Jonathan Shock and Herman Kamper and Willie Brink and Herman Engelbrecht
- and Alexandre Laterre and Karim Beguir},
- year={2021},
- journal={arXiv preprint arXiv:2107.01460},
- url={https://arxiv.org/pdf/2107.01460.pdf},
- }
完
总结3: 《强化学习导论》代码/习题答案大全
总结6: 万字总结 || 强化学习之路
完
第114篇:使用新的物理模拟引擎加速强化学习
第113篇:如何降低深度强化学习研究的计算成本
第112篇:基于Novelty-Pursuit的高效探索方法
第111篇:Reward is enough奖励机制。
第110篇:163篇ICML2021强化学习领域论文汇总
第109篇:【Easy-RL】200页强化学习总结笔记
第108篇:清华大学李升波老师《强化学习与控制》
第107篇:阿里巴巴2022届强化学习实习生招聘
第106篇:奖励机制不合理:内卷,如何解决?
第105篇:FinRL: 一个量化金融自动交易RL库
第104篇:RPG: 通过奖励发现多智能体多样性策略
第103篇:解决MAPPO(Multi-Agent PPO)技巧
第102篇:82篇AAAI2021强化学习论文接收列表
第101篇:OpenAI科学家提出全新强化学习算法
第100篇:Alchemy: 元强化学习(meta-RL)基准环境
第98篇:全面总结(值函数与优势函数)的估计方法
第97篇:MuZero算法过程详细解读
第96篇: 值分布强化学习(Distributional RL)总结
第95篇:如何提高"强化学习算法模型"的泛化能力?
第94篇:多智能体强化学习《星际争霸II》研究
第93篇:MuZero在Atari基准上取得了新SOTA效果
第91篇:详解用TD3算法通关BipedalWalker环境
第88篇:分层强化学习(HRL)全面总结
第85篇:279页总结"基于模型的强化学习方法"
第84篇:阿里强化学习领域研究助理/实习生招聘
第83篇:180篇NIPS2020顶会强化学习论文
第81篇:《综述》多智能体强化学习算法理论研究
第80篇:强化学习《奖励函数设计》详细解读
第79篇: 诺亚方舟开源高性能强化学习库“刑天”
第77篇:深度强化学习工程师/研究员面试指南
第75篇:Distributional Soft Actor-Critic算法
第74篇:【中文公益公开课】RLChina2020
第73篇:Tensorflow2.0实现29种深度强化学习算法
第72篇:【万字长文】解决强化学习"稀疏奖励"
第71篇:【公开课】高级强化学习专题
第70篇:DeepMind发布"离线强化学习基准“
第66篇:分布式强化学习框架Acme,并行性加强
第65篇:DQN系列(3): 优先级经验回放(PER)
第64篇:UC Berkeley开源RAD来改进强化学习算法
第61篇:David Sliver 亲自讲解AlphaGo、Zero
第59篇:Agent57在所有经典Atari 游戏中吊打人类
第58篇:清华开源「天授」强化学习平台
第57篇:Google发布"强化学习"框架"SEED RL"
第53篇:TRPO/PPO提出者John Schulman谈科研
第52篇:《强化学习》可复现性和稳健性,如何解决?
第51篇:强化学习和最优控制的《十个关键点》
第50篇:微软全球深度强化学习开源项目开放申请
第49篇:DeepMind发布强化学习库 RLax
第48篇:AlphaStar过程详解笔记
第47篇:Exploration-Exploitation难题解决方法
第45篇:DQN系列(1): Double Q-learning
第44篇:科研界最全工具汇总
第42篇:深度强化学习入门到精通资料综述
第41篇:顶会征稿 || ICAPS2020: DeepRL
第40篇:实习生招聘 || 华为诺亚方舟实验室
第39篇:滴滴实习生|| 深度强化学习方向
第37篇:Call For Papers# IJCNN2020-DeepRL
第36篇:复现"深度强化学习"论文的经验之谈
第35篇:α-Rank算法之DeepMind及Huawei改进
第34篇:从Paper到Coding, DRL挑战34类游戏
第31篇:强化学习,路在何方?
第30篇:强化学习的三种范例
第29篇:框架ES-MAML:进化策略的元学习方法
第28篇:138页“策略优化”PPT--Pieter Abbeel
第27篇:迁移学习在强化学习中的应用及最新进展
第26篇:深入理解Hindsight Experience Replay
第25篇:10项【深度强化学习】赛事汇总
第24篇:DRL实验中到底需要多少个随机种子?
第23篇:142页"ICML会议"强化学习笔记
第22篇:通过深度强化学习实现通用量子控制
第21篇:《深度强化学习》面试题汇总
第20篇:《深度强化学习》招聘汇总(13家企业)
第19篇:解决反馈稀疏问题之HER原理与代码实现
第17篇:AI Paper | 几个实用工具推荐
第16篇:AI领域:如何做优秀研究并写高水平论文?
第15篇:DeepMind开源三大新框架!
第13篇:OpenSpiel(28种DRL环境+24种DRL算法)
第11篇:DRL在Unity自行车环境中配置与实践
第8篇:ReinforceJS库(动态展示DP、TD、DQN)
第5篇:深度强化学习在阿里巴巴的技术演进
第4篇:深度强化学习十大原则
第2篇:深度强化学习的加速方法
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。