インベーダーゲームを各学習アルゴリズムで攻略します。
今回使用する PPO2 は、PPOのGPU対応版です。
PPOは最先端のアプローチと同等またはそれ以上の性能を発揮しながら、実装およびチューニングを容易にしています。
また、各ステップでの計算コスト関数を最小限に抑えながらも、ポリシーからの逸脱を比較的小さく抑えることができるアルゴリズムとなっています。
使いやすさとパフォーマンスが優れているため、OpenAIが使用する強化学習アルゴリズムのデフォルトとなっています。
PPO2でインベーダーゲームを攻略
PPO2 の学習済みモデル(Stable Baselines Zoo提供)を使ってインベーダーゲームを実行し、その様子を動画ファイルに出力します。
各オプションは以下の通りです。
- 環境(env)
SpaceInvadersNoFrameskip-v4 - 学習アルゴリズム(algo)
PPO2 - ステップ数(n)
1000
[コマンド]
1 | python3.7 -m utils.record_video --algo ppo2 --env SpaceInvadersNoFrameskip-v4 -n 1000 |
実行結果は以下のようになりました。(Ubuntu 19.10で動作確認しています。)
まあまあのプレイ内容でしょうか。これまでいろいろなアルゴリズムでインベーダーゲームを攻略してみましたが ACKTR が一番優秀な結果となりました。