本記事は制作物の説明です。
実装方法は後日、別記事で作成予定です。
本記事のテーマ
- MNIST「手書き数字」認識をUnityで表現してみた感想
- システムの紹介
製作期間2ヶ月!(当初予定は1ヶ月でした(2ばいっ!!))
コーディングに1.5ヶ月、動画制作と微調整などで0.5ヶ月ほどです。
Unityも動画制作も初めてでしたのですごく良い経験になりました!
(仕事も予定通りには終わらない派です笑!)
AIの学習過程をUnityで表現した動画
制作に用いた技術、ライブラリなど
【ゲーム】
【Unity】
■技術
・Http通信
・Callback(同期処理)
・Timeline
・JsonConvert
・Serializable
・継承 C#
・多重継承 C#
・デュアルショック4(ps4コントローラ)
・BGM,効果音の再生
・AI -> htm.core
■ライブラリ
・Fungus(メッセージ)
【動画制作と音】
・ユニティちゃん:cUTJ/UCL
・声:CoeFontSTUDIO
・BGM:
PeriTune
MusMus
・効果音:効果音ラボ
実装方法についてはこれからBlogとGithubにまとめていく予定です。
最後になぜわざわざUnityで手書き数字を行ったかについて「筆者の思い」として書いてみたので興味のある方はご覧ください!
筆者の思い
私はアニメ「ソードアート・オンライン」に出てくるユイちゃんのようなAIと会話することが夢の一つです。
ですが、今のニューラルネットワークでは、言葉の意味まで理解できていなかったり、感情や考えるといった処理はおこなえていません。
また、私はユイちゃんのようなAIを作成できるとしたら、データを大量に与えて必要な情報を最適化させるのではなく、人間の赤ちゃんと同じように、体験を通して何が危険で何をすればお母さんが喜んでくれるのかなど、自分が行動した結果、どんなフィードバックが返ってくるかを様々なセンサを通して学習すべきだと考えています。
そこで、どうすればAIに様々なセンサから入力を与えることが出来るのだろうかと考えた結果が、GAME、つまりUnityでした。
Unityではカメラやマイクで視覚、聴覚情報を入力できます。また、キャラクターにパラメータを持たせることでオブジェクトに衝突したときにダメージを受けることが出来ます。(触覚)
今回はその第一歩としてUnityとhtm.coreと呼ばれるAIで機械学習の入門であるMNIST「手書き数字」を認識しました。
これから、物体検出や迷路自動探索などをユニティちゃんを通して表現して行きたいと思っております。
※その前にMNISTの実装方法などを的豆ますので数ヶ月後になるかと思います。
以上が今回の制作の経緯になります。
自分への備忘録のためにも書き残しておきたいと思い記載しましたが共感してくださる方がいると嬉しいです!
... あと「AI × アート」みたいなことをしてみたかった。というのもあります。
私もこれがアート?ってなってますが、キャラクターが自律的に成長していく過程を通して見る方が様々な感情を抱いていただけるようなものが出来たら、一つの到着点な気がしてがんばております。