前回ACKTRアルゴリズムで学習モデルを作成しました。
今回はそのモデルを読み込んで、ちょっとだけ複雑にしたマップを攻略できるかどうか確認します。
ACKTR学習済みモデルを使って攻略
ACKTRアルゴリズムで学習したモデルを読み込んで、カスタム環境にて実行させます。
[ソース]
1 | # 警告を非表示 |
実行結果は以下のようになりました。
[結果]
Loading a model without an environment, this model cannot be trained until it has a valid environment. ☆山山 山 山G 山 山 山 山 山 山山山 山 山 山 山 山 山山 山山 山山山 山山 山 reward: [-1.] total_reward [-1.] ----------- S山山 山 山G ☆山 山 山 山 山 山山山 山 山 山 山 山 山山 山山 山山山 山山 山 reward: [-1.] total_reward [-2.] ----------- S山山 山 山G 山 山 山 ☆ 山 山 山山山 山 山 山 山 山 山山 山山 山山山 山山 山 reward: [-1.] total_reward [-3.] ----------- S山山 山 山G 山 山 山 ☆ 山 山 山山山 山 山 山 山 山 山山 山山 山山山 山山 山 reward: [-1.] total_reward [-4.] ----------- S山山 山 山G 山 山 山 山 山☆山山山 山 山 山 山 山 山山 山山 山山山 山山 山 reward: [-1.] total_reward [-5.] ----------- S山山 山 山G 山 山 山 山 山 山山山 山 山☆山 山 山 山山 山山 山山山 山山 山 reward: [-1.] total_reward [-6.] ----------- S山山 山 山G 山 山 山 山 山 山山山 山 山 山 ☆ 山 山 山山 山山 山山山 山山 山 reward: [-1.] total_reward [-7.] ----------- S山山 山 山G 山 山 山 山 山 山山山 山 山 山 ☆ 山 山 山山 山山 山山山 山山 山 reward: [-1.] total_reward [-8.] ----------- S山山 山 山G 山 山 山 山 山 山山山 山 山 山 ☆山 山 山山 山山 山山山 山山 山 reward: [-1.] total_reward [-9.] ----------- S山山 山 山G 山 山 山 山 山 山山山 山 山 山☆ 山 山 山山 山山 山山山 山山 山 reward: [-1.] total_reward [-10.] ----------- S山山 山 山G 山 山 山 山 山 山山山 山 山 山 ☆ 山 山 山山 山山 山山山 山山 山 reward: [-1.] total_reward [-11.] ----------- S山山 山 山G 山 山 山 山 山 山山山 山 山 山 ☆ 山 山 山山 山山 山山山 山山 山 reward: [-1.] total_reward [-12.] ----------- S山山 山 山G 山 山 山 山 山 山山山☆ 山 山 山 山 山 山山 山山 山山山 山山 山 reward: [-1.] total_reward [-13.] ----------- S山山 山 山G 山 山 山 山☆ 山 山山山 山 山 山 山 山 山山 山山 山山山 山山 山 reward: [-1.] total_reward [-14.] ----------- S山山 山 山G 山 山 山 山 ☆ 山 山山山 山 山 山 山 山 山山 山山 山山山 山山 山 reward: [-1.] total_reward [-15.] ----------- S山山 山 山G 山 山 山 山 ☆ 山 山山山 山 山 山 山 山 山山 山山 山山山 山山 山 reward: [-1.] total_reward [-16.] ----------- S山山 山 山G 山 山 山☆ 山 山 山山山 山 山 山 山 山 山山 山山 山山山 山山 山 reward: [100.] total_reward [84.] ----------- total_reward: [84.]
まっすぐにスタート地点からゴールまで進んでいることが分かります。
少しだけ複雑にしたマップでもきちんと学習できるようになりました。改善したは次の2点です。
- 学習済みアルゴリズムを変更
PPO2からACKTRに学習アルゴリズムを変更しました。 - 学習ステップ数を5倍に変更
学習ステップ数を128000から128000*5に変更しました。
カスタム環境を変えて、うまく学習できなくなった場合はこのような変更を行って試行錯誤することが必要になるようです。
また、まったく同じ条件で学習してもうまく学習できる場合とそうでない場合があります。
何度か実行してみて平均報酬や平均エピソード長などをグラフ化しきちんと収束(学習)できているかどうかを確認する必要もあります。
AI全般そうかと思いますが、強化学習に関する作業もなかなか地道なものが多いですね😌