🚀 Stable-Baselines3によるDQNエージェント
このプロジェクトは、stable-baselines3ライブラリとRL Zooを用いて、SpaceInvadersNoFrameskip-v4ゲームをプレイするように訓練されたDQNエージェントのモデルです。RL Zooは、Stable Baselines3の強化学習エージェントを訓練するためのフレームワークで、ハイパーパラメータ最適化と事前訓練済みエージェントが含まれています。
🚀 クイックスタート
モデルのダウンロードと実行
RL Zoo: https://github.com/DLR-RM/rl-baselines3-zoo
SB3: https://github.com/DLR-RM/stable-baselines3
SB3 Contrib: https://github.com/Stable-Baselines-Team/stable-baselines3-contrib
# モデルをダウンロードしてlogs/フォルダに保存
python -m rl_zoo3.load_from_hub --algo dqn --env SpaceInvadersNoFrameskip-v4 -orga Oleg78 -f logs/
python enjoy.py --algo dqn --env SpaceInvadersNoFrameskip-v4 -f logs/
もしpip install rl_zoo3
でRL Zoo3をインストールした場合、どこからでも以下のコマンドを実行できます。
python -m rl_zoo3.load_from_hub --algo dqn --env SpaceInvadersNoFrameskip-v4 -orga Oleg78 -f logs/
rl_zoo3 enjoy --algo dqn --env SpaceInvadersNoFrameskip-v4 -f logs/
モデルの訓練
python train.py --algo dqn --env SpaceInvadersNoFrameskip-v4 -f logs/
# モデルをアップロードし、可能であればビデオを生成
python -m rl_zoo3.push_to_hub --algo dqn --env SpaceInvadersNoFrameskip-v4 -f logs/ -orga Oleg78
✨ 主な機能
- 強化学習: DQNアルゴリズムを使用して、SpaceInvadersNoFrameskip-v4ゲームでの最適な行動を学習します。
- ハイパーパラメータ最適化: RL Zooを使用して、ハイパーパラメータを最適化することができます。
📦 インストール
このプロジェクトでは、RL ZooとStable Baselines3を使用します。それぞれのリポジトリのREADMEを参照してインストールしてください。
💻 使用例
基本的な使用法
python -m rl_zoo3.load_from_hub --algo dqn --env SpaceInvadersNoFrameskip-v4 -orga Oleg78 -f logs/
python enjoy.py --algo dqn --env SpaceInvadersNoFrameskip-v4 -f logs/
高度な使用法
python train.py --algo dqn --env SpaceInvadersNoFrameskip-v4 -f logs/
python -m rl_zoo3.push_to_hub --algo dqn --env SpaceInvadersNoFrameskip-v4 -f logs/ -orga Oleg78
🔧 技術詳細
モデルの性能
属性 |
详情 |
モデルタイプ |
DQN |
訓練データ |
SpaceInvadersNoFrameskip-v4 |
平均報酬 |
347.50 +/- 111.07 |
ハイパーパラメータ
OrderedDict([('batch_size', 32),
('buffer_size', 100000),
('env_wrapper',
['stable_baselines3.common.atari_wrappers.AtariWrapper']),
('exploration_final_eps', 0.01),
('exploration_fraction', 0.1),
('frame_stack', 4),
('gradient_steps', 1),
('learning_rate', 0.0001),
('learning_starts', 100000),
('n_timesteps', 500000.0),
('optimize_memory_usage', False),
('policy', 'CnnPolicy'),
('target_update_interval', 1000),
('train_freq', 4),
('normalize', False)])