2021年3月のエントリ

最近ウェザタイに使うためにディープラーニング実装したり本読んだりしている。ニューラルネットを勉強してたときは脳とかけ離れているのでこれじゃあ脳を作るのは無理だな、と思ってたのが、結構面白いところまでいっているのが分かってきた。

プログラムで脳を作るのは子供の頃からの夢なのでずっと本読んだり考えたりしているのでちょっとだけメモ。

おそらく最初にキモになるのはエンコーダとデコーダで、外界の情報を主成分分析的に圧縮して、概念をベクトル化するところ。この辺りはいろいろ脳関係の本を読んでいると実際の脳でもやってそうな感じがする。たぶんニューラルネットで言う誤差逆伝播は実際にはなくて、ヘブ則と抑制性シナプスとよく分からない接続で解決しているはずなんだけど。

で、もう一つ重要なのが環境入力と動作の出力から報酬を予測するところで、こんな感じなのかな、って考えていたのはあるんだけど、最近勉強してたら出てきたディープラーニングを使った強化学習がまさにそういうことを言っている。ただ、世界に実際の身体があって生活しながら学習させないと高度な知性にはならないし、報酬を何段階にも動的に獲得していく必要があるはずなので、今の強化学習だけではダメな気はする。強化学習はそこを目指しているわけではないけど。

この辺り、いくらでも書くネタはあるけど、理解できるものにならないしただの妄想なので書いてこなかったところ。でもそろそろ何か書いていきたいなあ。例えば全身麻酔したとき、その間時間経過を感じずに一瞬で目覚める感覚になるわけだけど、それって脳が動いていない、つまり死んでいる状態を一時的に再現している、と。逆に死んだ後はそういう状態なわけで、時間経過も何もないことが分かる、とか。誰か意味分かりますかね。

土曜日にG検定を受検してみた。95%はできていると思うのでたぶん大丈夫だろう。久しぶりに試験勉強ぽいことをしてみたけど、選択式の試験はキーワードと意味を覚えるだけの表面的な勉強になるので、これ意味あるのかなあ、と思ってしまう。この後はE資格を受ければ良いんですかね。統計検定?

で、実際今やってるのはタイピングオンライン用の問題文章生成。ウェザタイではXamarinで動かすために行列計算からLSTMまで自力で実装したが、Unityではkeras使えそうな感じなのでそっちに移植中。

オンラインタイピングソフトの進捗。少し細かい実装をして最低限ゲームとして動くようになった。CPUをいくつか配置してタイピングでライフを奪っていく感じ。

実装としては、まだカスタマイズはできないけど、Advanced People Pack 2でカスタマイズしたキャラクターを使えるようになったり、Blenderで作ったキーボードと腕のモーションをUnityに取り入れてアニメーションさせてみたり、FL Studioで作った効果音を入れてみたり。いろいろベース部分を作ったので作り方には慣れてきた感じ。今は何故かCubaseで作った曲を流せるようにしている途中。

対戦は試してないけど一応動くようには作っているはず。ここからどうしようかな。