ML-Agent研究レポート~その2~
Unityで提供されるML-Agentsを利用した機械学習を実際に走らせた結果などをまとめる企画その2。
Wall Jumpモデルの場合
この学習モデルもかなり複雑なケースを想定。用意されたステージは以下の通り。
- 四角いステージ
- ゴールを奥側に配置
- 追跡者を手前側に配置
- 追跡者とゴールの間に高い壁と低い壁からいずれか1個を配置
- 追跡者側には移動可能で大きさ&高さ固定な台を配置する
追跡者のふるまいとしては以下を想定
- ステージから落ちたらペナルティ
- 目標位置にたどり着いたら+1.0
- 運動機能にジャンプを加える
- 一定時間内にゴールたどり着けなかったらリスタート
- 台をはじき出したらリスタート
つまり以下の二段階学習を想定している。
- 壁は越えられる事を第一段階で学ぶ
- 次に越えられぬ壁は台を利用して越えられる事を学ぶ
※低い壁が乗り越えられる事はかなり初期に学ぶ
※100万回リトライ繰り返すも高い壁は文字通り高い壁。
※リスタート時にゴールと台が一直線になるケースに於いて越えられケースを体験するが台を積極的に利用するまでには至らず、ゴールにまっしぐらに向かう報酬が強すぎる印象ある
※120万回。台を壁に近づけると良いことあるかも?と気づいた節はある
※150万回。遅々として進まぬ学習。到達高さに報酬を与えるのは?
※200万回。ほんの微かに台を使えば越えられるんぢゃね?のそぶりが伺えだす。壁ドンからのバックステッポを覚えてそこに台があればワンチャンパターン。壁際に台があると逆に良くない感じ。そして壁際でのサイドステッポも混じりだす。
※250万回。壁ドン繰り返しは減り、盲目に前後左右ドリブルすると飛べることあるんぢゃね?と言う段階。台を自分で反対から動かすような挙動はまだないw
※300万回。進化停止の気配。台を動かす事を覚えれば一気だとは思われる。
変化がなさ過ぎて放置w
※ログを見ると600万回を超えた辺りで何かつかんだようで報酬がプラスに転じる。
※700万回にて台使った壁超えを会得し、ロスもほぼ無くなり残るは効率学習のみとなった模様。
総論としては500万回を超えないと台を使った壁ジャンプが学習されないのは報酬設定がまだ詰められると思われる。また同様に以下に学習結果の動画と経過グラフを公開しておく。