Stable Baselines Zoo - 学習アルゴリズムACKTRでシークエスト(SeaquestNoFrameskip-v4)を攻略

インベーダーゲームで一番成績の良かった学習アルゴリズム 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つの目的を最適化するのは難しいという事でしょうか。。。

Stable Baselines Zoo - 学習アルゴリズムACKTRでQバート (QbertNoFrameskip-v4)を攻略

インベーダーゲームで一番成績の良かった学習アルゴリズム ACKTR をいろいろな環境で実行してみます。

今回は Qバート (QbertNoFrameskip-v4) を攻略します。

この環境は主人公の「Qバート」を操作し、敵を避けてブロックの山をジャンプして色を付けていき、全てのブロックに色をつければステージクリアとなる環境です。

QbertNoFrameskip-v4を攻略

ACKTR の学習済みモデル(Stable Baselines Zoo提供)を使ってQbertNoFrameskip-v4を実行し、その様子を動画ファイルに出力します。


各オプションは以下の通りです。

  • 環境(env)
    QbertNoFrameskip-v4
  • 学習アルゴリズム(algo)
    ACKTR
  • ステップ数(n)
    3000

[コマンド]

1
python3.7 -m utils.record_video --algo acktr --env QbertNoFrameskip-v4 -n 3000

実行結果は以下のようになりました。(Ubuntu 19.10で動作確認しています。)


実行結果


敵をよけるのは苦手なようですが、3面までさくさくクリアすることを確認できました。

Stable Baselines Zoo - 学習アルゴリズムACKTRでピンポン(PongNoFrameskip-v4)を攻略

インベーダーゲームで一番成績の良かった学習アルゴリズム ACKTR をいろいろな環境で実行してみます。

今回は ピンポン(PongNoFrameskip-v4) を攻略します。この環境は画面左右に分かれてボールを打ち合うゲームとなります。

PongNoFrameskip-v4を攻略

ACKTR の学習済みモデル(Stable Baselines Zoo提供)を使ってPongNoFrameskip-v4を実行し、その様子を動画ファイルに出力します。


各オプションは以下の通りです。

  • 環境(env)
    PongNoFrameskip-v4
  • 学習アルゴリズム(algo)
    ACKTR
  • ステップ数(n)
    3000

[コマンド]

1
python3.7 -m utils.record_video --algo acktr --env PongNoFrameskip-v4 -n 3000

実行結果は以下のようになりました。(Ubuntu 19.10で動作確認しています。)


実行結果


画面左が対戦相手のコンピュータで画面右がACKTR学習済みモデルとなりますが、ACKTRの圧勝となりました。

ただ対戦相手のコンピュータが弱すぎるような気がしますが。。。

Stable Baselines Zoo - 学習アルゴリズムACKTRで倒立振り子(Pendulum-v0)を攻略

インベーダーゲームで一番成績の良かった学習アルゴリズム ACKTR をいろいろな環境で実行してみます。

今回は 倒立振り子(Pendulum-v0) を攻略します。振り子へ適切にトルクを与えることで、垂直に振り上げた状態を維持することが目的です。

Pendulum-v0を攻略

ACKTR の学習済みモデル(Stable Baselines Zoo提供)を使ってPendulum-v0を実行し、その様子を動画ファイルに出力します。


各オプションは以下の通りです。

  • 環境(env)
    Pendulum-v0
  • 学習アルゴリズム(algo)
    ACKTR
  • ステップ数(n)
    3000

[コマンド]

1
python3.7 -m utils.record_video --algo acktr --env Pendulum-v0 -n 3000

実行結果は以下のようになりました。(Ubuntu 19.10で動作確認しています。)


実行結果


体操選手を思わせるほど完璧に倒立状態を維持してくれています。さすがのACKTRです。

Stable Baselines Zoo - 学習アルゴリズムACKTRでパックマン(MsPacmanNoFrameskip-v4)を攻略

インベーダーゲームで一番成績の良かった学習アルゴリズム ACKTR をいろいろな環境で実行してみます。

今回は パックマン(MsPacmanNoFrameskip-v4) を攻略します。

MsPacmanNoFrameskip-v4を攻略

ACKTR の学習済みモデル(Stable Baselines Zoo提供)を使ってMsPacmanNoFrameskip-v4を実行し、その様子を動画ファイルに出力します。


各オプションは以下の通りです。

  • 環境(env)
    MsPacmanNoFrameskip-v4
  • 学習アルゴリズム(algo)
    ACKTR
  • ステップ数(n)
    3000

[コマンド]

1
python3.7 -m utils.record_video --algo acktr --env MsPacmanNoFrameskip-v4 -n 3000

実行結果は以下のようになりました。(Ubuntu 19.10で動作確認しています。)


実行結果


なんとか1面クリアくらいまでは頑張ってほしいのですが、そこまでうまくはプレイしてくれません。

Stable Baselines Zoo - 学習アルゴリズムACKTRでマウンテンカー(MountainCar-v0)を攻略

インベーダーゲームで一番成績の良かった学習アルゴリズム ACKTR をいろいろな環境で実行してみます。

今回は マウンテンカー(MountainCar-v0) を攻略します。車を前後に移動させて山の上のゴールを環境です。

車は速度が0、位置は-0.6~-0.4のランダム位置で開始します。ステップ毎に報酬は-1が与えられます。

右の山の上(位置0.5)に到達するとゴールで、エピソード完了になります。200ステップに達した時もタイムオーバーでエピソード完了となります。

MountainCar-v0を攻略

ACKTR の学習済みモデル(Stable Baselines Zoo提供)を使ってMountainCar-v0を実行し、その様子を動画ファイルに出力します。


各オプションは以下の通りです。

  • 環境(env)
    MountainCar-v0
  • 学習アルゴリズム(algo)
    ACKTR
  • ステップ数(n)
    3000

[コマンド]

1
python3.7 -m utils.record_video --algo acktr --env MountainCar-v0 -n 3000

実行結果は以下のようになりました。(Ubuntu 19.10で動作確認しています。)


実行結果


前後に車を移動させて勢いをつけて、山の上のゴールに達している様子が確認できます。学習アルゴリズム ACKTR であれば余裕で攻略できるといった感じです。

Stable Baselines Zoo - 学習アルゴリズムACKTRで月面着陸(LunarLander-v2)を攻略

インベーダーゲームで一番成績の良かった学習アルゴリズム ACKTR をいろいろな環境で実行してみます。

今回は 月面着陸(LunarLander-v2) を攻略します。宇宙船を操作して旗と旗の間にうまく着陸できるように操作するゲームです。

カーソルキーで宇宙船の方向を操作し機体を水平に保ち、スペースキーでエンジン噴射を行います。

LunarLander-v2を攻略

ACKTR の学習済みモデル(Stable Baselines Zoo提供)を使ってLunarLander-v2を実行し、その様子を動画ファイルに出力します。


各オプションは以下の通りです。

  • 環境(env)
    LunarLander-v2
  • 学習アルゴリズム(algo)
    ACKTR
  • ステップ数(n)
    3000

[コマンド]

1
python3.7 -m utils.record_video --algo acktr --env LunarLander-v2 -n 3000

実行結果は以下のようになりました。(Ubuntu 19.10で動作確認しています。)


実行結果


問題なく旗と旗の間に着陸できる様子が確認できます。たまには失敗することもありましたが十分な結果を出していると思います。

Stable Baselines Zoo - 学習アルゴリズムACKTRでハーフチータバレット(HalfCheetahBulletEnv-v0)を攻略

インベーダーゲームで一番成績の良かった学習アルゴリズム ACKTR をいろいろな環境で実行してみます。

今回は ハーフチータバレット(HalfCheetahBulletEnv-v0) を攻略します。ハーフチータバレットはチータを半分にしたような物体を前に進むように調整する環境です。

HalfCheetahBulletEnv-v0を攻略

ACKTR の学習済みモデル(Stable Baselines Zoo提供)を使ってHalfCheetahBulletEnv-v0を実行し、その様子を動画ファイルに出力します。


各オプションは以下の通りです。

  • 環境(env)
    HalfCheetahBulletEnv-v0
  • 学習アルゴリズム(algo)
    ACKTR
  • ステップ数(n)
    3000

[コマンド]

1
python3.7 -m utils.record_video --algo acktr --env HalfCheetahBulletEnv-v0 -n 3000

実行結果は以下のようになりました。(Ubuntu 19.10で動作確認しています。)


実行結果


前には進んでいますが、走るというよりぴょんぴょんと飛び跳ねています。前足は使わない方が効率的だと学習したんでしょうか。。。ちょっと気持ち悪い動きです。(;^_^A

Stable Baselines Zoo - 学習アルゴリズムACKTRでカーレースゲーム(EnduroNoFrameskip-v4)を攻略

インベーダーゲームで一番成績の良かった学習アルゴリズム ACKTR をいろいろな環境で実行してみます。

今回は カーレースゲーム(EnduroNoFrameskip-v4) を攻略します。相手の車を抜いていくことを目的とする単純なゲームです。

EnduroNoFrameskip-v4を攻略

ACKTR の学習済みモデル(Stable Baselines Zoo提供)を使ってEnduroNoFrameskip-v4を実行し、その様子を動画ファイルに出力します。


各オプションは以下の通りです。

  • 環境(env)
    EnduroNoFrameskip-v4
  • 学習アルゴリズム(algo)
    ACKTR
  • ステップ数(n)
    3000

[コマンド]

1
python3.7 -m utils.record_video --algo acktr --env EnduroNoFrameskip-v4 -n 3000

実行結果は以下のようになりました。(Ubuntu 19.10で動作確認しています。)


実行結果


相手の車を抜かすどころか抜かれまくってます。。。

後ろからくる車にぶつからないようにするゲームだと勘違いしてるんでしょうか。。。(;^_^A)

以前、同じ環境を学習アルゴリズム DQN で実行したときも同じような結果となりました。カーレースの攻略は意外と難しいものなんですね。

Stable Baselines Zoo - 学習アルゴリズムACKTRで倒立ふりこ(CartPole-v1)を攻略

インベーダーゲームで一番成績の良かった学習アルゴリズム ACKTR をいろいろな環境で実行してみます。

今回は 倒立ふりこ(CartPole-v1) を攻略します。倒立ふりこは、板の上に立っている棒を倒さないように、板を左右に動かしバランスをとる環境です。

CartPole-v1を攻略

ACKTR の学習済みモデル(Stable Baselines Zoo提供)を使ってCartPole-v1を実行し、その様子を動画ファイルに出力します。


各オプションは以下の通りです。

  • 環境(env)
    CartPole-v1
  • 学習アルゴリズム(algo)
    ACKTR
  • ステップ数(n)
    3000

[コマンド]

1
python3.7 -m utils.record_video --algo acktr --env CartPole-v1 -n 3000

実行結果は以下のようになりました。(Ubuntu 19.10で動作確認しています。)


実行結果


このくらいの簡単な環境であれば ACKTR アルゴリズムは完璧に攻略できますね。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×