![スクリーンショット_2018-12-15_15](https://assets.st-note.com/production/uploads/images/8941392/rectangle_large_type_2_a6b113796857078a5f162dd4ecacce03.jpg?width=1200)
Unityで機械学習やってみよう #3
こんにちは(*・ω・)ノ
ゲーム開発を得意とするUnityですが、ゲーム内キャラをすべてAI(人口知能)で動かせたら面白いんじゃないかということから、ML-Agentsというライブラリを使った機械学習を始めました。
今回は、Unityで実際にサンプルゲームを動かしてみたいと思います。
Unityを使うメリットは前回の記事を参考にしてください。
サンプルアプリの紹介
今回の機械学習で使うサンプルは以下の書籍のサンプルをそのまま使いました。
実際の画面はこんな感じで操作とゲームルールは以下の通りです。
十字キー :上下左右に移動
宝箱獲得 :ポイント+1(OK)
モンスターと接触 :ポイント−1(NG)
制限時間内にどれだけポイントを稼げるか!
はっきりいって、人間がプレイするには簡単すぎるゲームです。
多分、3歳ぐらいの幼児でもすぐ理解して宝箱を撮り続けることも可能かもしれません。
人間がプレイ
まずは人がプレイして操作確認してみます。
1000回プレイしたAI
お次に、1000回プレイさせたAIキャラクターです。
AIは、宝箱へ行くと報酬として+1.0ポイントの飴をもらいます。
モンスターへ行くと-1.0の鞭を受けます。
要するに飴と鞭作戦で、「宝箱へ行くといいことあるよ」と体で教え込みます。
結果は、まだルールすら理解しておらず、道に迷いながらうろうろばかり。。
報酬が減るモンスターのところにも行ってしまいます。
1000回じゃ体で覚えきれなかったようです。。
AIの知能は1歳児レベルかなっ^^;
まとめ
Unityで機械学習をする場合は、まず極力シンプルなゲームを作ることが大事です。
複雑なゲームはAIが学習しきれないからです。
その上で、学習結果を考察していきます。
次回は、1万回、3万回、10万回と学習回数を増やしてAIの進化っぷりを考察してみたいと思います。
最後までお読みいただきありがとうございます。
スキして頂いたり、フォローして頂けると励みになります。
引き続き、よろしくお願い致しますm(_ _)m