1個のニューロンの学習(9)
パーセプトロンとしての1個のニューロンが学習する能力があることが分かりましたが、これを応用してどのようなことが出来るか考えてみたいと思います。
上の図のようなニューラルネットワークの構成を考えます。ニューロンは5つあり、その全てのニューロンが左側のパネル(入力部)の全てのマス目からの入力信号を受けるものとします。入力パターンとして数字の「1」〜「5」までの数字を考えます。それらは以下のようなパターンになっているとします。
これら5つのパターンを繰り返し見せて、ニューロンならば「1」のパターンを入力された時にのみ出力が1になるように学習させます。同時に、ニューロンならば「2」のパターンを入力された時にのみ出力が1になるように、ニューロンならば「3」のパターンを入力された時にのみ出力が1になるように、というふうに各ニューロンがそれぞれ1つのパターンのみに反応するように学習させます。それぞれのニューロンは1つのパターンを他のパターン群から区別するだけですからこれは線形分離可能なパターン群になり、学習は成功します。学習が完了すると、上記の5パターンのうち1つを入力されたらそれに対応するニューロンだけが1を出力するようになります。これはあたかも数字を読んで認識しているように見えます。
もう少しこのニューラルネットワークの認識能力を調べてみましょう。上のような学習を完了したニューラルネットワークに下の図のような数字の「6」
を見せたら(入力したら)、どのように反応するでしょうか? これは推論することが出来ません。どのニューロンが反応する(1を出力する)かは、学習を始める際の初期条件にもよりますしパターンを見せる順序にもよります。そこで、今度は学習内容を変えます。学習時に上の数字の「1」から「5」までのパターンだけを見せるのではなく、上の「6」とか、あるいは、まったく何なのかわからない
のようなパターンも見せることにします。そしてこのような「1」〜「5」以外のパターンを見せた時には「これは不正解である()」という教師信号を5つのニューロンの全てに送ることにします。つまり、図7や8のパターンを見せられた時にはどのニューロンも反応しないようにします。この学習も成功します。
では、このニューラルネットワークの学習能力の限界はどこにあるのでしょうか? それは「パターン認識(2)」で述べたように、このニューラルネットワークに
や
も「1」であると認識させようとした時に明らかになります。ニューロンに図9と10を「1」であると学習させ
を「1」ではないと学習させても、この学習は成功しません。図9、10と図11は線形分離可能ではないのです。このニューロンへの入力は7×5=35個あって、1つのパターンは35次元空間上の点として表されるので、線形分離不可能といっても「パターン認識(4)」で説明したような図で説明することは出来ませんが、図9、10と図11は線形分離不可能です。