【unity・機械学習】unityと機械学習を組み合わせることができるらしいのでマサフィーも試した話!-応用編-

【unity・機械学習】unityと機械学習を組み合わせることができるらしいのでマサフィーも試した話!-応用編-

【unity・機械学習】unityと機械学習を組み合わせることができるらしいのでマサフィーも試した話!-実践編-

この記事は前回、前々回と続き、第3回目の記事です。

大したことは書いてませんが、最初から見てくれるとこんな風にやってるのか。と理解が深まると思います。

前回の続き

前回は、個人的な時間の関係上、150,000回の学習でおわってしまいましたが、時間があるときに500,000回の学習も行ってみました!
結果が以下の通りになります

リワードの標準偏差は250,000回あたりで収束していて、300,000回で0になっています。リワードに関しても300,000回で1になっているので、結果的に500,000回もやる必要はないなぁと思ったり。

表は以上のようになりました。

応用

どうやら、上記の図のようにいくつかのトレーニングエリアを設置することで、同時に学習することができるので、学習時間の短縮になります。

356秒で35万回の学習が可能になりました!
1つの時は3000秒以上かかっていたので、学習効率がかなりあがりました!

ちなみにですが、この内容はQiitaには書かれていませんが、githubの方では英語で紹介されていました。

発展

おじゃま虫を設置してみました!
このおじゃま虫に触ってしまうと報酬は-1点、また落ちてしまっても-1点、ターゲットにn回触れるたびにn点という方式にしました。

学習回数は350,000回とした結果がこちら

動画を見てもらえればわかる通り、しっかりとおじゃま虫をよけている(黒色キューブをよけている)ことが確認できると思います。
しっかりと、思い通りに動くと楽しいです!

一応、MLの結果も載せときます。

 

おわり