インベーダーゲームで一番成績の良かった学習アルゴリズム ACKTR をいろいろな環境で実行してみます。
今回は シークエスト(SeaquestNoFrameskip-v4) を攻略します。
水中で敵を倒し人を救出するゲームで、シューティングの要素も含んでいます。
SeaquestNoFrameskip-v4を攻略
ACKTR の学習済みモデル(Stable Baselines Zoo提供)を使ってSeaquestNoFrameskip-v4を実行し、その様子を動画ファイルに出力します。
各オプションは以下の通りです。
- 環境(env)
SeaquestNoFrameskip-v4 - 学習アルゴリズム(algo)
ACKTR - ステップ数(n)
3000
[コマンド]
1 | python3.7 -m utils.record_video --algo acktr --env SeaquestNoFrameskip-v4 -n 3000 |
実行結果は以下のようになりました。(Ubuntu 19.10で動作確認しています。)
頑張って左右を攻撃してはいますが、人を救出しようとはしていないようです。敵を攻撃しつつ人を救出するという2つの目的を最適化するのは難しいという事でしょうか。。。