これまでインベーダーゲームをいろいろな学習アルゴリズムを使ってみましたが、一番成績の良かった ACKTR をいろいろな環境で実行してみます。
今回は ビームライダー(BeamRiderNoFrameskip-v4) という環境を攻略します。
ビームライダーはシューティングゲームで、円盤のような敵を15体倒せば母艦が登場し、それを撃破すればボーナス点が入って面クリアとなります。
基本操作は左右移動のみで、縦に5本走っているラインの間を行き来して攻撃もこのライン上でのみ可能となっています。
BeamRiderNoFrameskip-v4を攻略
ACKTR の学習済みモデル(Stable Baselines Zoo提供)を使ってBeamRiderNoFrameskip-v4を実行し、その様子を動画ファイルに出力します。
各オプションは以下の通りです。
- 環境(env)
BeamRiderNoFrameskip-v4 - 学習アルゴリズム(algo)
ACKTR - ステップ数(n)
2000
[コマンド]
1 | python3.7 -m utils.record_video --algo acktr --env BeamRiderNoFrameskip-v4 -n 2000 |
実行結果は以下のようになりました。(Ubuntu 19.10で動作確認しています。)
なかなかのプレイ内容になっています。やられてしまうこともありますが、一面と二面はクリアできるのを確認できました。