Gymは、強化学習アルゴリズムの開発と比較のためのツールキットです。様々なシミュレーション環境において、エージェントがどのように意思決定を行うかを教えることをサポートします。
NOASSERTIONPythongymopenai 36.4k Last Updated: October 11, 2024
OpenAI Gym プロジェクト詳細
プロジェクト概要
OpenAI Gym は、強化学習アルゴリズムの開発と比較に特化したオープンソースの Python ライブラリです。標準化された API を提供することで、学習アルゴリズムと環境を接続し、その API 標準に準拠した環境の集合を提供します。リリース以来、Gym の API は強化学習分野の標準となっています。
⚠️ 重要なお知らせ
プロジェクトのメンテナンス状況の変更: 2021 年から Gym をメンテナンスしてきたチームは、今後のすべての開発作業を Gymnasium に移行しました。これは Gym の直接的な代替品です ( import gymnasium as gym
を使用できます)。Gym は今後更新を受け付けないため、ユーザーはできるだけ早く Gymnasium に切り替えることをお勧めします。
主要な特徴
標準化された API
- 強化学習アルゴリズムと環境間の通信に統一されたインターフェースを提供
- 環境の作成とインタラクションのプロセスを簡素化
- 強化学習分野の API 標準となる
豊富な環境ライブラリ
- 大量の定義済みの強化学習環境を含む
- 多様な種類のタスクと課題をサポート
- 環境は統一されたインターフェース標準に準拠
インストール方法
基本インストール
pip install gym
特定の環境ファミリーのインストール
# Atari 環境の依存関係をインストール
pip install gym[atari]
# すべての環境の依存関係をインストール
pip install gym[all]
# MuJoCo 環境の依存関係をインストール (最新バージョン)
pip install gym[mujoco]
# MuJoCo 環境の依存関係をインストール (旧バージョン)
pip install gym[mujoco_py]
システムサポート
- Python バージョン: Python 3.7, 3.8, 3.9, 3.10 をサポート
- オペレーティングシステム: 公式には Linux と macOS をサポート
- Windows: 関連する PR は受け入れるが、公式サポートは提供しない
基本的な使用例
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 に似ているが、マルチエージェント環境をサポート
バージョン管理
Gym は再現性を確保するために厳格なバージョン管理を採用しています。
- すべての環境はバージョンサフィックスで終わる (例: "_v0")
- 環境の変更が学習結果に影響を与える可能性がある場合、バージョン番号が増加する
- 実験の再現性と一貫性を確保
MuJoCo 環境の更新
- 最新の "_v4" および将来のバージョンは
mujoco-py
に依存しない - 代わりに
mujoco
を必須の依存関係として使用 - 旧バージョンの環境は引き続き保持されるが、メンテナンスは行われない
ドキュメントとリソース
- 公式ドキュメント: https://www.gymlibrary.dev/
- Discord サーバー: 開発ディスカッションコミュニティ
- GitHub リポジトリ: https://github.com/openai/gym
学術的な引用
プロジェクトのホワイトペーパーは 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 を直接使用することを強くお勧めします。