MADDPG PyTorch 实现

用 PyTorch 复现多智能体深度确定性策略梯度(MADDPG)算法的参考实现。

Star 数
★ 379
最近更新
5 年前
主语言
Python

30 秒速览

运行形态
代码库 / SDK
可在哪里用
兼容但需适配
费用
免费,无需付费服务
上手难度
高 · 需要较重的基础设施
开始前需要
用于 MAPE 的 Python 虚拟环境PyTorch 1.4.0Multi Agent Particle Environment (MAPE)MAPE 提供的 make_env 函数Shell / 命令行网络访问本地文件系统
典型场景
强化学习研究者希望对照论文复现 MADDPG 基线,用于实验对比。
不适合
  • 希望开箱即用、无需搭建 MAPE 环境的团队
  • 依赖最新版 PyTorch 的项目,代码指明 1.8 版本存在就地操作问题
  • 寻找现成生产级多智能体训练平台的团队

这个 Agent 能做什么,适合哪些场景?

该仓库是论文《Multi Agent Actor Critic for Mixed Cooperative-Competitive Environments》中 MADDPG 算法的一个 PyTorch 实现。它本身不是一个独立可运行的软件包,而是一份需要与 OpenAI 的 Multi Agent Particle Environment(MAPE)配合使用的训练代码:主文件依赖 MAPE 包中的 make_env 函数构建环境,因此建议把仓库克隆到 MAPE 所在目录下。README 明确要求为 MAPE 建立虚拟环境,因为其依赖较为陈旧,并推荐使用 PyTorch 1.4.0,因为较新的 1.8 版本在其计算 critic 损失时使用的就地操作上疑似存在问题。仓库还附带一个配套视频教程链接。适合希望阅读或改造 MADDPG 实现用于学习与研究的人,而非需要直接部署的产品。

实现 MADDPG 的集中式训练、分散式执行框架:每个智能体拥有 actor 与 critic 网络,critic 在训练时接收所有智能体的观测与动作信息来计算损失。代码通过从 MAPE 导入的 make_env 函数实例化多智能体粒子环境并与之交互,采集经验、计算 critic 损失并更新策略网络。训练产物是训练好的策略网络及其在多智能体协作/竞争场景下的表现,用户需自行编写或修改主训练文件来驱动这一流程。仓库不提供打包安装、命令行接口或托管服务。

  1. 强化学习研究者希望对照论文复现 MADDPG 基线,用于实验对比。
  2. 学生通过配套视频教程学习多智能体 actor-critic 算法的 PyTorch 写法。
  3. 需要在 MAPE 粒子环境上快速搭建协作或竞争多智能体实验的开发者。
  4. 想改造 critic 输入结构以试验新变体的研究者。
  5. 在课程或教学材料中需要一个可读的 MADDPG 代码示例的教师。

如何安装或部署这个 Agent?

README 未提供 pip 安装或打包方式,只描述了手工准备环境的步骤:先安装 MAPE 并为其创建带旧依赖的虚拟环境,再把本仓库克隆到与 MAPE 相同的目录下(因为主文件需要从 MAPE 导入 make_env)。

git clone https://github.com/openai/multiagent-particle-envs
python -m venv mape-env
source mape-env/bin/activate
# 安装 MAPE 的依赖(依赖较旧,需按 MAPE 仓库说明处理)
pip install torch==1.4.0

如何使用这个 Agent?

将本仓库克隆到 MAPE 所在目录后,激活为 MAPE 准备的虚拟环境并运行主训练脚本,脚本会通过 make_env 构建粒子环境并开始 MADDPG 训练。

git clone https://github.com/philtabor/Multi-Agent-Deep-Deterministic-Policy-Gradients
source mape-env/bin/activate
python <主训练文件>.py

具体主文件名与可调参数在 README 中未给出,需查看仓库源码确认。

这个 Agent 有哪些优点和局限?

优点
  • 直接对应 MADDPG 原论文,可作为理解集中式训练/分散式执行结构的可读实现。
  • 基于 PyTorch,便于熟悉该框架的研究者修改网络与损失。
  • README 点名了具体版本兼容性问题(PyTorch 1.8 的就地操作),减少踩坑时间。
  • 附带视频教程链接,便于对照学习。
局限
  • 依赖外部的 MAPE 仓库且要求把两个仓库放在同一目录,环境准备繁琐。
  • 推荐的 PyTorch 1.4.0 已明显过时,新环境可能需要回退版本或修复兼容性问题。
  • 未提供 pip 包、CLI 或测试,主训练文件与参数需自行阅读源码确定。
  • 许可证未标注,商业或再分发使用前需确认授权。

这个 Agent 与同类方案有什么区别?

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
MADDPG PyTorch 实现 当前 17 · 缺口较多 代码库 / SDK免费 ★ 379 5 年前 Python —
AgileRL 强化学习库 71 · 存在缺口 代码库 / SDK免费版 + 付费版 ★ 959 今天 Python —
MARO 资源优化平台 44 · 缺口较多 代码库 / SDK免费 ★ 929 2 年前 Python —
Mava 41 · 缺口较多 命令行工具免费 ★ 938 1 个月前 Python —

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
17/ 100 五分制 0.9 / 5
信任安全 1/29
可靠稳定 3/14
适用触发 4/18
规范维护 3/18
有效结果 4/13
证据核验 2/8
查看各维度的扣分理由
信任安全1 / 29 · 0.2/5

仅有一份 README,未涉及权限、确认、数据流、敏感数据、依赖安全、外部副作用或回滚机制;这些准则在源码中无证据,故为 0。来源归属方面,README 引用了原论文 arXiv 链接与 MAPE 仓库,属于薄弱的出处标注,得 1 分。

可靠稳定3 / 14 · 1.1/5

README 自述与论文一致,但未提供任何失败信息或错误处理说明;依赖可用性仅以文字提示 MAPE 依赖过时、建议 PyTorch 1.4.0,属提示而非保障,得 1 分。

适用触发4 / 18 · 1.1/5

面向 MADDPG 学习者的单一场景,边界仅以“需克隆到 MAPE 同目录”隐含说明,无触发精度或环境适配细节,故相关项低分。

规范维护3 / 18 · 0.8/5

信息架构仅 README 一段,安装说明为口头建议,命名稳定性无版本记录,无 FAQ、无许可证、无变更日志、无维护责任说明;仅已知限制(PyTorch 版本问题)有提及。

有效结果4 / 13 · 1.5/5

作为教学实现有边际价值,但输出可用性与成本收益缺乏证据支撑,仅能给出保守的 1 分。

证据核验2 / 8 · 1.3/5

论文链接可追溯,但无交叉来源佐证,事实与推断分离仅靠 README 自述,整体证据薄弱。

风险与缓解建议
  • 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
  • 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
  • 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 仓库仅有 README,缺少代码、测试与许可证,无法验证实现质量与合规性。
  • 依赖 MAPE 已过时,且 README 建议固定 PyTorch 1.4.0,存在环境兼容风险。
  • 发布者身份未经验证,不应据此推断可靠性或安全性。
证据充分度:低 评估于 2026年10月18日 审查版本 a3c294aa6834
评估证据 README.md
查看完整评分方法 →

常见问题

能不能用最新版 PyTorch 运行?
README 推荐 PyTorch 1.4.0,并指出 1.8 版本在其计算 critic 损失时使用的就地操作上疑似存在问题;使用更新版本可能需要自行修改代码。
是否必须安装 MAPE?
是。主文件依赖 MAPE 包中的 make_env 函数构建环境,README 建议将本仓库克隆到 MAPE 同一目录下。
这是可以直接部署的多智能体系统吗?
不是。它是一份训练代码实现,没有打包安装、服务端或命令行接口,需要用户自行运行和适配训练脚本。
许可证是什么?
源信息中 LICENSE 为 unknown,使用或再分发前需向仓库确认授权条款。
在 GitHub 查看 ↗ 安装 ↓

相关 Agents