妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

Sonyのなんか凄そうなディープラーニングツールを使ってみる

dl.sony.com

it.impressbm.co.jp


「よくわからないけど、マウス操作でディープラーニングのことが色々できる凄いやつが出たらしいよ」

妹「なにが凄いの?」

「それはよくわからない。でも少なくとも無料なのは凄いと思う」

妹「あ、それは凄い」

www.youtube.com

妹「見たかんじと、UE4のブループリントにちょっと似てるね」

「ノードの種類とかつなぎ方は違うけど、イメージとしてはそんな感じ」

f:id:una_unagi:20170821232049p:plain

f:id:una_unagi:20170821232100p:plain

「ソフトは英語だけど、マニュアルは日本語がついてたから、そこに書いてあるチュートリアルどおりに、まずサンプルプロジェクトを開いてみる」

妹「4と9?」

「数字が手書きされた画像を自動で分別するという、従来式のやり方だけど、ディープラーニングだとわりと精度になるということで、ディープラーニング初心者用の題材としてよく使われてる。それ用のデータもたくさんあるから、いちいち自分で手書きしなくてもいい」

f:id:una_unagi:20170821232438p:plain

「4と9の数字を250個学習して、そのだいたいの特徴を覚えさせる。教師あり学習というやつで、画像ごとにこれは4だとか、9だとか、正しい答えがあらかじめわかってる画像を学習させる」

妹「わからないやつもあるの?」

「ある。人間にはベストな方法がわからないから、コンピュータの方でいい感じの方法を考えてくれってやつ」

妹「考えてくれた方がいいけど、それどうやって考えるんだろ……」

「教師ありの方は学習の理屈はわかりやすい。その教師から画像の傾向を学習したら、次はその判断基準で250個の画像を教師の方見ないで分析してみて、結果が合ってるか試す。横に出てる、0.00とか、0.9とかの数字が判断結果。"4"が0、"9"が1と設定してあるから、"9"っぽい字ほど1に近くなる」

妹「ぽいというのは?」

「両方の特徴を備えてたりするから、判断がむずかしいやつがどうしてもでてくるんだよ」

f:id:una_unagi:20170821232917p:plain

「例えばこういうの」

妹「……どっち?」

「このデータを作成した人は、これが9のつもりらしく、それで学習させてる。判定結果は0.6だから、どちらかというと9かもしれないという感じ

f:id:una_unagi:20170821234944p:plain

「これは"4"だと判断すべきところが、"9"と判断してしまってるので、判定を間違ってる。他にも間違いが250件中12件ある」

妹「それはちゃんと学習できてないのでは?」

人工知能の作り方もあるだろうけど、間違えるのは人間にもよくわかんないやつだからね。実際に人工知能に判定してほしいのは、この250個以外の別の数字だから、この250個に限定しすぎた学習をさせてもよくない」

妹「これって4でも9でもない絵を見せたらどうなるんだろ?」

「その場合も絵の特徴から判断して、どっちなのか無理やり考えて結果を出すことになる。どちらでもない物を別にしたいなら、2択じゃなくて3択のデータとして学習させないといけない」

妹「わたしとしては絵の分別とかじゃなくて、ゲーム用の適度にすごいAIとかが欲しいんだけど」

「これを使って作ったやつをゲームに組み込むというのもできるらしい。C++使わないと駄目そうではあるけど。とにかくディープラーニングがどんなものかっていうのを、マウス操作で試せるっていうだけでも面白いツール」