忍者ブログ

Memeplexes

プログラミング、3DCGとその他いろいろについて

1次元の体性感覚野シミュレーション

脳が身体をコードしている部分である、体性感覚野のシミュレーションを行いました。
あの気持ち悪いペンフィールドのホムンクルスみたいなあれです。


デモ

1次元の生物の体

1次元の生物の脳

学習率 :
集中力 :
シミュレーション速度 :
ユーザー入力有効

遊び方

学習が遅いのでまず「シミュレーション速度」を上げまくってください。
100くらいまで上げて大丈夫です。
線がスムーズに並んでいるようなら学習終了です。

学習が終わったら、ユーザー入力を有効にしてください。
チェックを入れるのです。
すると上のキャンバスにマウスで入力を入れられるようになります。

マウスでごちゃごちゃやると、下の体性感覚野が反応します。
人間で言うと、手を触って脳の手をつかさどる部分が反応しているわけです。

意味

上は身体で、下は脳の体性感覚野です。
身体は1次元の単純な生物を想定しています。
下の体性感覚野はSOM(自己組織化マップ)です。
たくさんのニューロンが縦に並んでいます。
(1つのニューロンが持っているデータは横に長い身体のデータです。)

ニューロンの発火

白くふちが光っているのは、発火しているニューロンです。
発火の条件は、「身体の状態を表すデータとニューロンが持っているデータが近い」こと。
ただし一番近いのが必ず発火するわけではなく、ときどきあまり似ていないデータを持つニューロンも発火します。
いわゆるボルツマン選択です。
(「集中力」はボルツマン選択の逆温度)

基本的要素をマップ

このSomは入力データそのものではなく、入力データの基本的要素をマップしています。

「シミュレーション速度」を0にして入力データに注目してください。
入力データの方には実は黒い領域は一つだけではなく、2つあることがわかると思います。
2つの黒い点が入力なのです。
にもかかわらず、Somの方では黒い領域は1か所にだけあるのです。

これは入力データの基本的要素が「ある1か所にある黒い領域」だからです。
入力データそのものには2ヶ所に黒い領域があります。
でも、この基本的要素を2つ組み合わせることによっていかなる入力データも表すことが出来ます。
入力データが「3つの黒い領域をもつデータ」だったとしても、大して学習結果は変わらないでしょう。

基本的要素がマップされる条件

この現象はボルツマン選択で起こりやすい現象のようです。
「集中力」を上げてみてください。
「集中力」が大きいと、ボルツマン選択らしさは消えていき、決定論的な選択に近づいていきます。
そうすると入力データの基本要素ではなく、入力データそのものがマップされやすくなります。

しかしそうするといろんな組み合わせの入力データをマップしなければならず、たくさんのニューロンを必要としてしまいます。
「集中力」が2くらいのボルツマン選択ならたくさんデータを詰め込めそうですね。
たぶん人間の脳も決定論的な選択ではなくボルツマン選択に近いのでしょう。

追記

学習率 0.04
集中力 5.5
なんかにしても面白いですね。

拍手[0回]

PR