2026.02.15 17:40
2層化は行列演算で考えよう
・とりあえず積和+活性化関数のニューロン1個だけ動いたのだけど、これではORが実現できない。これが1960年代にパーセプトロン・・・1層(入力層と出力層のみ)のニューラルネットだと駄目だということで、第一次のAIブームを終焉に追い込んだという。
・現在から過去に向かって「天の声」を下ろすなら、1個のニューロンでNORは実現できるし、NORを組み合わせればXORは実現できるんだから…ということになるけど、当時はここで行き詰まったらしい。
・ということで、こちらも多層化してXORを解いてみよういうところだけど、その前にまとめて行列演算で片付けることを考えてみる。
・以前はとにかく先に進みたくてニューロンのオブジェクトを一つずつ並べてループで回して処理してみたのだけど、コードがやたらと多くなってうっとおしくて仕方なかった。やはり複数の入力を行列で処理するほうがずっと美的だろう。
・たとえば2入力のセルを2個をまとめたものを1つのオブジェクトにして2つのオブジェクトに4パターン([0,0][0,1][1,0][1,1])を入れた時の答え(合計8個)を一回の行列演算で得てみようということ。数学的な式としては簡単だけど、プログラムはなにせ1次元的な文字列の並びなので書き方にちょっと気を使う。
・もちろん、教師データセットが膨大になるとメモリも食いそうだけど、今はとりあえず2入力でXORが解けるかということだしな。