OpenAI Gym은 강화 학습 알고리즘을 개발하고 비교하는 데 특화된 오픈 소스 Python 라이브러리입니다. 표준화된 API를 제공하여 학습 알고리즘과 환경을 연결하고, 해당 API 표준을 준수하는 환경 집합을 제공합니다. 출시 이후 Gym의 API는 강화 학습 분야의 표준이 되었습니다.
프로젝트 유지 관리 상태 변경: 2021년부터 Gym을 유지 관리해 온 팀은 모든 향후 개발 작업을 Gymnasium으로 이전했습니다. Gymnasium은 Gym의 직접적인 대체품이며 (import gymnasium as gym
을 사용하여 접근 가능합니다). Gym은 더 이상 업데이트를 받지 않으므로 사용자는 가능한 한 빨리 Gymnasium으로 전환하는 것이 좋습니다.
pip install gym
# Atari 환경 의존성 설치
pip install gym[atari]
# 모든 환경 의존성 설치
pip install gym[all]
# MuJoCo 환경 의존성 설치 (최신 버전)
pip install gym[mujoco]
# MuJoCo 환경 의존성 설치 (구 버전)
pip install gym[mujoco_py]
import gym
# 환경 생성
env = gym.make("CartPole-v1")
# 환경 초기화
observation, info = env.reset(seed=42)
# 환경 상호 작용 루프
for _ in range(1000):
# 무작위 동작 선택
action = env.action_space.sample()
# 동작 실행
observation, reward, terminated, truncated, info = env.step(action)
# 재설정 필요 여부 확인
if terminated or truncated:
observation, info = env.reset()
# 환경 닫기
env.close()
CleanRL - Gym API 기반 학습 라이브러리
Tianshou - 경험이 풍부한 사용자 대상 학습 라이브러리
RLlib - 분산 훈련 지원 학습 라이브러리
PettingZoo - 다중 에이전트 환경 라이브러리
Gym은 재현성을 보장하기 위해 엄격한 버전 관리를 채택합니다.
mujoco-py
에 의존하지 않음mujoco
를 필수 의존성으로 사용하도록 변경프로젝트 백서는 arXiv에서 확인할 수 있으며, 인용 형식은 다음과 같습니다.
@misc{1606.01540,
Author = {Greg Brockman and Vicki Cheung and Ludwig Pettersson and Jonas Schneider and John Schulman and Jie Tang and Wojciech Zaremba},
Title = {OpenAI Gym},
Year = {2016},
Eprint = {arXiv:1606.01540},
}
OpenAI Gym은 강화 학습 분야의 선구적인 도구로서 업계 표준을 수립하고 방대한 생태계를 육성했습니다. 원래 프로젝트는 더 이상 적극적으로 유지 관리되지 않지만, 후속 프로젝트인 Gymnasium이 모든 핵심 기능을 계승하여 커뮤니티의 지속적인 발전을 보장합니다. 새로운 프로젝트의 경우 최신 기능과 지속적인 지원을 위해 Gymnasium을 직접 사용하는 것이 좋습니다.