2層パーセプトロン

論理生命学の講義で重視されているのは出席でも試験でもなく課題レポートだということで、昨日から2層パーセプトロンのプログラムの実装をしている。パーセプトロンというのを手短に説明すると、ニューロンのネットワークを模式的に表したような感じで、あるニューロンに入力信号が入ってくると、それがつながっている他のニューロンに順次伝わっていくので、最終的な出力ニューロンにどういう信号が入ってきたかと実際の観測データが合うようにニューロン同士のつながり具合を適宜調節していく、といった感じ。2層パーセプトロンというのは、ニューロンの集合として入力層ニューロン、中間層ニューロン、出力層ニューロンの3つを置き、それぞれの層の間でニューロンがつながっているというモデルであり、一般には3層パーセプトロンと呼ばれているが、層の数は入力と中間の間、中間と出力の間の2層なんだから2層と呼びなさい、という通達があったので、ここでは2層パーセプトロンと呼んでみる。

訓練事例として0から9までの数字を9x9のメッシュで表現したデータを100例、それぞれ数字が10例ずつ入っているものを与えて学習するのだが、正解率10%近辺をうろうろ。そもそも完全にランダムに答えても10%当たるんだっつーの! 車の免許の試験だったら100点中90点取らないと落第だよ! とわめいていると笑われた。でも切実な話。まだ自己組織化マップ(SOM)の課題も手をつけていないし、早いところ片づけたい。

なにが問題なんだろう……。明日は SICP の予習しないといけないし、先週末風邪で倒れていたツケが今週末やってきた感じ :-(