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와 호환되며 재현 가능한 벤치마킹 도구와 통합되어 있습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트