Redundanz

僕の言葉は、人と話をするためにあるんじゃない。

1107

 「ねこのどこが好きなんですか?」
 「ちょっと数理的なところとか。」

 途中でぐだぐだしつつも今朝の6時にプロトコルの下書きを書き上げてTAに送りました。それから6時間くらい寝ようと思いベッドに入ったのだけれど、起きたら2時を過ぎていて、しまったなと思いつつ駒場へ。今日は計算数学Ⅱの日です。
 この前適当に書いたコードをTAさんに見てもらいつつ修正して、ようやく数字データの学習に成功しました。だいたい9割くらいの精度では数字を判別してくれます。MNISTのランキングを見るとこのタイプのネットワークでももう少し精度を上げられるようなのだけれど、何かが邪魔しているみたい。パラメタを調整するといいのかしら。35のコンボリューションネットワークによる合議制を使って99.8%の精度をたたき出している人もいるらしくて、そのへんまで来るともはや人間より賢いんじゃなかろうか感がある。
 コンボリューションネットワークというのは、例えば画像を分割して、それぞれの部分についてネットワークをつくるような仕方で学習を行います。これの面白いところは、それぞれのネットワークがまったく同じになっているということで、つまり画像を抽象化するような働きをするのです。ううむ、自分でもよくわかっていないからうまくここで説明できないのだけれど、とにかく直観で素敵なことをやっている印象がある。
 そろそろGPUで計算させないと時間がかかりすぎるようなってきたのでそちらの環境を整備しました。今まで使ってたDebian上ではうまくいかないっぽくてUbuntuをインストール。それからAnacondaを入れてTheanoを入れて。途中で時間が終わってしまったので、来週はその続きからです。楽しい。

 ふと考えたこと。人間の脳は報酬系が作動すると直前に発火していたシナプスの結びつきを強化するのだけれど、その「直前」がどの程度のタイムスパンとして定められているかってことにはたぶん個人差があって、そのへんが一度の学習で関連付けられる物事の階層の数を規定しているのではないかな、というようなことを思いました。もちろんそのことのみが人の賢さを左右するわけではないけれども。ただ、報酬によって強化されうる神経伝達のステップ数は結構重要なファクタではないかなとも思います。如何に遠いもの同士を関連付けられるか、ということ。僕はもっと沢山の概念を結び付けて遊びたい。

 夕方からバイト。今日は久しぶりに暇でした。疲れていたので調度良かった。

 明日は何としてでも掃除をしましょう。ここはもう人の生存する空間ではない。