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,並與可重現的基準測試工具整合。
相關
- 專案
- 專案
- 專案
- 專案
- 專案