パターン認識(1)

ニューラルネットに数字を認識させることを考えてみる。たとえば、下の図のような横5マス縦7マスの格子を考える。

  • 図1


この格子を使って数字を表す。たとえば数字の3を以下の図のように表す。

  • 図2


下の図のようにこの1マス1マスが入力として、マカロック=ピッツのモデルに従う一つのニューロンに入力された場合、上記の数字の3の入力の時のみ1を出力するようにニューロンを設定することが出来るだろうか? なお、1マスが黒い場合にそのマスはニューロンに「1」の信号を伝え、白い場合は「0」の信号を伝えるとする。

  • 図3

さて、左からi番目、右からj番目の信号の値をx_{ij}で表すことにする。図2に示した数字の3は信号の組合せとしては以下のようになる。

  • x_{12}=x_{13}=x_{14}=x_{21}=x_{25}=x_{35}=x_{43}=x_{44}=x_{55}=x_{61}=x_{65}=x_{72}=x_{73}=x_{74}=1
  • それ以外のx_{ij}は0・・・・(1)


次に信号x_{ij}に対応するシナプス荷重をs_{ij}で表すことにする。すると、このニューロンの出力yは、マカロック=ピッツのモデルに従って

  • y=1\left(\Bigsum_{i=1}^5\Bigsum_{j=1}^7s_{ij}x_{ij}-h\right)・・・・(2)

で表される。ここで、

  • s_{12}=1s_{13}=s_{14}=s_{21}=s_{25}=s_{35}=s_{43}=s_{44}=s_{55}=s_{61}=s_{65}=s_{72}=s_{73}=s_{74}=1
  • それ以外のs_{ij}は-1
  • h=13.5・・・・(3)

とすれば、x_{ij}が式(1)の時に

  • \Bigsum_{i=1}^5\Bigsum_{j=1}^7s_{ij}x_{ij}-h=0.5・・・・(4)

となり、y=1となることが分かる。今、式(1)で値が0であるx_{ij}のどれか1つの値を1に変えると、それに対応するs_{ij}の値が-1なので、式(4)の値は-1されてマイナスの値になるのでy=0になる。式(1)で値が0であるx_{ij}が2つ以上1になった場合は、式(4)の値はもっとマイナスされるので、やはりy=0になる。また、式(1)で値が1であるx_{ij}のどれか1つの値を0に変えると、それに対応するs_{ij}の値が1なので、式(4)の値はやはり-1されてy=0になる。式(1)で値が1であるx_{ij}が2つ以上0になった場合も、やはりy=0になることが分かる。
以上から、出力yが1になるのは式(1)のx_{ij}の時のみであることが分かる。つまり、このニューロンは上の図2のパターンを見せられた時にのみ反応する、と言うことが出来る。