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] |
| Envelope Q‑Learning | 멀티 | SER | 연속 | [arXiv:1908.08342] |
| CAPQL | 멀티 | SER | 연속 | [OpenReview] |
| PGMORL | 멀티 | SER | 연속 | [MIT 논문] |
| 파레토 조건부 네트워크 (PCN) | 멀티 | SER/ESR* | 연속 | [AAMAS 2022] |
| 로렌츠 조건부 네트워크 (LCN) | 멀티 | SER/ESR* | 연속 | [JAIR] |
| 파레토 Q‑Learning | 멀티 | SER | 이산 | [JMLR 2015] |
| MO Q‑Learning | 싱글 | 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와 호환되며 재현 가능한 벤치마킹 도구와 통합되어 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트