ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Gymnasium (강화학습 라이브러리)
    Deep Learning 2025. 5. 20. 22:09

    Imitation Learning 때 잠깐 언급했었던 Gymnasium에 대해서 알아보자. 

    사실 Gymnasium은 Imitation Learning 보다는 Reinforcement Learning에 활용되는 라이브러리이다. 

    좀 더 말하자면.. Imitation Learning 자체가 거의 안쓰이고 Reinforcement Learning이 많이 연구되고 있어서... 

     

    Gymnasium 이전에 OpenAI Gym이 있었다. Gym 은 OpenAI 에서 Reinforcement Learning(강화학습) 연구에 활용할 목적으로 환경을 제공해주는 라이브러리이다. 그런 OpenAI Gym 이 v0.21 이후에 거의 유지보수가 안되어서 2022년 정도부터 Gym 커뮤니티에서 주도하여 Farama Foundation 라는 비영리 프로젝트를 만들어서 Gymnasium으로 정리해서 개발중이다. 

     

    OpenAI Gym과 Gymnasium의 간략한 차이는 아래와 같다. 

    OpenAI Gym vs. Gymnasium

    구분 OpenAI Gym Gymnasium
    출시 주체 OpenAI Farama Foundation (Gym의 커뮤니티 주도 fork)
    최초 릴리즈 2016년 2022년 (OpenAI Gym이 사실상 유지보수 종료된 이후 등장)
    설치 방법 pip install gym pip install gymnasium 또는 pip install gymnasium[box2d]
    환경 인터페이스 env.reset(), env.step(action) 반환값: (state, done, info) Gym v0.26부터 env.reset() → (obs, info), env.step() → (obs, reward, terminated, truncated, info)
    환경 호환성 일부 오래된 환경 유지 최신 강화학습 라이브러리 (Stable Baselines3, CleanRL 등)와 호환성↑
    커뮤니티 지원 더 이상 공식 업데이트 없음 활발한 업데이트와 버그 수정, 신규 환경 추가 중

    📌 왜 gymnasium이 나왔을까?

    • OpenAI가 Gym v0.21 이후로 거의 유지보수를 안 했어요.
    • 그 사이에 API 호환성과 버그, Box2D 같은 의존성 문제들이 쌓임
    • 커뮤니티에서 Farama Foundation이라는 비영리 프로젝트를 만들어 gymnasium으로 정리해서 다시 안정적으로 개발 중

    쉽게 말하면 gymnasium은 gym의 더 현대적이고 정리된 버전이라고 보면 돼요.

     

    📌 주요 차이점 요약

    • reset() / step() 반환 값이 다름
    • gymnasium은 Gym v0.26 이후 인터페이스를 표준화하고 강화학습 라이브러리와 호환성 개선
    • 환경 설치와 Box2D 같은 추가 패키지가 더 안정적으로 관리

    그러면 Gymnasium과 같은 강화학습용 라이브러리로 다른 것은 뭐가 있을까? 사실 강화학습용 시뮬레이션/환경 라이브러리는 여러가지가 있다. 사람들이 많이 쓰는 강화학습 환경 라이브러리를 지피티에게 물어보니 아래와 같이 알려준다. 

    📊 사람들이 많이 쓰는 강화학습 환경 라이브러리 순위 (2025년 기준)

    🔥 1️⃣ Gymnasium

    • OpenAI Gym의 사실상 표준 후속.
    • 범용성 가장 뛰어남.
    • 다양한 환경 + 커스텀 환경 제작 용이.
    • Stable-Baselines3, CleanRL, TorchRL 등 주요 라이브러리와 연동 최적화.

    🔥 2️⃣ DeepMind Control Suite

    • DeepMind에서 만든 물리 기반 RL 환경 모음.
    • MuJoCo 엔진 기반으로 실제 로봇/컨트롤 환경에 적합.
    • OpenAI Gym 스타일 API와 유사.
    • 고품질 물리 시뮬레이션을 원할 때 많이 사용.

    🔥 3️⃣ PettingZoo

    • 멀티에이전트 강화학습(MARL)용 환경 라이브러리.
    • Gymnasium과 인터페이스 유사.
    • 다양한 멀티에이전트 환경 (체스, 포커, 택틱스 등) 제공.
    • Stable-Baselines3와 함께 연동해도 편리.

    🔥 4️⃣ Procgen Benchmark

    • OpenAI에서 만든 프로세듀럴 생성 환경.
    • RL 일반화(Generalization) 실험에 적합.
    • 매번 랜덤하게 생성되는 레벨 제공.

    🔥 5️⃣ Isaac Gym (NVIDIA)

    • GPU 가속 강화학습 물리 시뮬레이션 환경.
    • 수천 개의 병렬 환경을 GPU에서 동시에 실행 가능.
    • 로봇/컨트롤 환경을 대규모로 학습할 때 사용.

    🔥 6️⃣ Unity ML-Agents

    • Unity 엔진 기반 3D 시뮬레이션 환경.
    • 커스텀 환경 제작 자유도가 매우 높음.
    • 비디오 게임, 드론 시뮬레이션, 자동차 제어 등 복잡한 환경에서 주로 활용.

    🔥 7️⃣ BraX (by Google)

    • Google이 만든 JAX 기반 고속 RL 시뮬레이터.
    • 매우 빠른 학습 속도.
    • TPU / GPU 가속 가능.
    • MuJoCo 스타일 환경.

    흠.. 이렇게나 많았나 싶다.. 가능하다면 Gymnasium 을 사용하는게 좋을 듯 싶다. 

     

    참고로 MuJoCo 란... Multi-Joint dynamics with Contact 의 약어로, 말 그대로 멀티 조인트를 가진 로봇팔/다리/2족보행/4족보행 등에 대한 시뮬레이션을 제공하는 것을 말한다. 접촉(contact), 마찰(Friction), 관절(Joint) 에 대한 물리현상에 대한 시뮬레이션을 제공한다. 

     

    일단 강화학습을 공부하고자 한다면 Gymnasium을 보는 것이 좋을 듯 하다. 

     

    그럼 이만~

    'Deep Learning' 카테고리의 다른 글

    강화학습 on-policy vs off-policy  (0) 2025.05.23
    Imitation Learning에서 DQN 으로.  (0) 2025.05.21
    Imitation Learning - gymnasium  (0) 2025.05.19
    Classification with unknown  (1) 2025.05.18
    PyTorch with GPU 설치하기  (0) 2025.05.16
Designed by Tistory.