MADDPG PyTorch 实现
用 PyTorch 复现多智能体深度确定性策略梯度(MADDPG)算法的参考实现。
- Star 数
- ★ 379
- 最近更新
- 5 年前
- 主语言
- Python
- FA 评分
- 17/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 兼容但需适配
- 费用
- 免费,无需付费服务
- 上手难度
- 高 · 需要较重的基础设施
- 开始前需要
- 典型场景
- 强化学习研究者希望对照论文复现 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 损失并更新策略网络。训练产物是训练好的策略网络及其在多智能体协作/竞争场景下的表现,用户需自行编写或修改主训练文件来驱动这一流程。仓库不提供打包安装、命令行接口或托管服务。
- 强化学习研究者希望对照论文复现 MADDPG 基线,用于实验对比。
- 学生通过配套视频教程学习多智能体 actor-critic 算法的 PyTorch 写法。
- 需要在 MAPE 粒子环境上快速搭建协作或竞争多智能体实验的开发者。
- 想改造 critic 输入结构以试验新变体的研究者。
- 在课程或教学材料中需要一个可读的 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?
查看各维度的扣分理由
仅有一份 README,未涉及权限、确认、数据流、敏感数据、依赖安全、外部副作用或回滚机制;这些准则在源码中无证据,故为 0。来源归属方面,README 引用了原论文 arXiv 链接与 MAPE 仓库,属于薄弱的出处标注,得 1 分。
README 自述与论文一致,但未提供任何失败信息或错误处理说明;依赖可用性仅以文字提示 MAPE 依赖过时、建议 PyTorch 1.4.0,属提示而非保障,得 1 分。
面向 MADDPG 学习者的单一场景,边界仅以“需克隆到 MAPE 同目录”隐含说明,无触发精度或环境适配细节,故相关项低分。
信息架构仅 README 一段,安装说明为口头建议,命名稳定性无版本记录,无 FAQ、无许可证、无变更日志、无维护责任说明;仅已知限制(PyTorch 版本问题)有提及。
作为教学实现有边际价值,但输出可用性与成本收益缺乏证据支撑,仅能给出保守的 1 分。
论文链接可追溯,但无交叉来源佐证,事实与推断分离仅靠 README 自述,整体证据薄弱。
- 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 仓库仅有 README,缺少代码、测试与许可证,无法验证实现质量与合规性。
- 依赖 MAPE 已过时,且 README 建议固定 PyTorch 1.4.0,存在环境兼容风险。
- 发布者身份未经验证,不应据此推断可靠性或安全性。