LucasAlegre/morl-baselines
Multi-Objective Reinforcement Learning algorithms implementations.
MORL‑Baselines – 多目标强化学习库
是什么 – 一个 Python 包(PyTorch),实现了不断增长的前沿多目标强化学习(MORL)算法集合。它遵循 MO‑Gymnasium 环境 API,是 Gymnasium 的即插即用替代品,其中奖励以向量形式返回(每个目标一个条目)。
为何重要 – MORL 解决的是智能体必须权衡多个常相互冲突的目标的问题(例如:速度 vs. 安全性,能耗 vs. 性能)。研究人员需要可靠的基准实现来比较新想法,而 MORL‑Baselines 提供了一套经过筛选、测试和基准测试的实现。
核心功能(如 README 所列)
- 支持 标量化期望回报(SER)和 期望标量化回报(ESR)标准的 单策略与多策略算法。
- 严格遵循 MO‑Gymnasium 兼容性 – 无需修改代码即可替换任意 MO‑Gymnasium 环境。
- 自动将实验日志记录到 Weights & Biases 仪表板,实现可复现的性能追踪。
- 预提交钩子 强制执行 black 格式化、isort 导入和代码检查。
- 实用模块(帕累托剪枝、经验回放缓冲区、神经网络辅助工具)以避免样板代码。
- 开箱即用的 超参数优化 支持。
- 完整的 测试套件 和持续集成徽章。
已实现算法(快照)
| 算法 | 策略类型 | 准则 | 观测/动作空间 | 参考 |
|---|---|---|---|---|
| GPI‑LS / GPI‑PD | 多 | SER | 连续观测,离散/连续动作 | [arXiv:2301.07784] |
| GPI‑LS (Jax) | 多 | SER | 连续 | [Springer 链接] |
| MORL/D | 多 | SER / ESR | 离散/连续 | [JAIR 2022] |
| 包络 Q‑学习 | 多 | SER | 连续 | [arXiv:1908.08342] |
| CAPQL | 多 | SER | 连续 | [OpenReview] |
| PGMORL | 多 | SER | 连续 | [MIT 论文] |
| 帕累托条件网络(PCN) | 多 | SER/ESR* | 连续 | [AAMAS 2022] |
| 洛伦兹条件网络(LCN) | 多 | SER/ESR* | 连续 | [JAIR] |
| 帕累托 Q‑学习 | 多 | SER | 离散 | [JMLR 2015] |
| MO Q‑学习 | 单 | SER | 离散 | [ResearchGate] |
| MPMOQL(外层 MOQL) | 多 | SER | 离散 | [ResearchGate] |
| 乐观线性支持(OLS) | 多 | SER | – | 博士论文章节 |
| 期望效用策略梯度(EUPG) | 单 | ESR | 离散 | [ResearchGate] |
| 迭代帕累托参考优化(IPRO / IPRO‑2D) | 多 | SER | 连续 | [arXiv:2402.07182] |
| 非线性多目标 PPO(NLMOPPO) | 单 | SER | 连续 | 由 [VUB 论文] 推导 |
*PCN 假设确定性转移;IPRO‑2D 仅适用于恰好两个目标。
基准测试与可复现性
- 与 Open RL Benchmark 套件集成,可与 CleanRL、Stable‑Baselines3 等并行比较。
- 实验结果在 Weights & Biases 项目中公开: https://wandb.ai/openrlbenchmark/MORL-Baselines。
- 详细协议和设置在仓库的议题追踪器(#43)和项目网站中有文档说明。
快速入门(开始使用)
# 克隆并安装(需要 Python ≥3.9)
git clone https://github.com/LucasAlegre/morl-baselines.git
cd morl-baselines
pip install -e . # 安装包及其依赖
运行示例(例如:在连续控制 MO‑Gymnasium 环境中运行 GPI‑LS):
python -m examples.run_gpi_ls --env mo_gymnasium:HalfCheetah-v0 --weights-and-biases
README 中链接了 Colab 笔记本,用于交互式演示。
社区与贡献
- Discord 用于讨论: https://discord.gg/ygmkfnBvKA
- 欢迎提交拉取请求 – 新算法、错误修复或文档改进均受鼓励。
- 维护者:Florian Felten(ffelten)和 Lucas N. Alegre(LucasAlegre)。
许可与引用
- MIT 许可证(宽松,适合商业用途)。
- 若在研究中使用该库,请引用 NeurIPS‑2023 论文:
@inproceedings{felten_toolkit_2023,
author = {Felten, Florian and Alegre, Lucas N. and Nowé, Ann and Bazzan, Ana L. C. and Talbi, El Ghazali and Danoy, Grégoire and Silva, Bruno Castro da},
title = {A Toolkit for Reliable Benchmarking and Research in Multi-Objective Reinforcement Learning},
booktitle = {NeurIPS 2023},
year = {2023}
}
TL;DR
MORL‑Baselines 是一个维护良好、测试覆盖全面的 PyTorch 库,为研究人员提供数十种多目标 RL 算法的即开即用实现,全部兼容 MO‑Gymnasium API,并与可复现的基准测试工具集成。
相关
- 项目
- 项目
- 项目
- 项目
- 项目