認知心理学演習レジュメ(01.5.2)                                          担当:小島

 

 代表的な階層型ニューラルネットワークモデルの基本アルゴリズム

 

0 はじめに

 心理学に限らず、神経系の学習パターンを模して作られたニューラルネットワークは工学を始め様々な分野で用いられている。今回の発表では、代表的な階層型ニューラルネットワークであり、心理学でも頻繁に用いられているパーセプトロンと誤差逆伝播法を中心に、そのネットワークモデルの基本的なアルゴリズムを概観したい。

 

1 マカロック(McCulloch)とピッツ(Pitts)によるニューロンのモデル化(1943)

 生物の神経系は多数のニューロンから成るが、生体はこのニューロンを複雑に組み合わせて並列的に情報処理を行っていると考えられる。ニューロンは図1のように、入力端子である樹状突起(dendrite)、出力端子である軸索(axon)、そして細胞体(soma)から形成される。各ニューロンの樹状突起は、他のニューロンの軸索の末端部分であるシナプス(synapse)を介して神経伝達物質により入力を受け取る。この入力信号は微弱な電気信号であり、興奮性のもの(電圧を上げるもの)と抑制性のもの(電圧を下げるもの)がある。信号の受け手側のニューロンへは、こうした様々なニューロンからの電気的な出力に正負の重み付けが行われたものを入力として受け付け、その総和を計算し、その総和がある閾値を越えると発火するという振る舞いを示すとされる。ここで発火とは、通常ニューロン内部は、外部に比べて電位が低いが、入力信号を受け取り、それを処理した結果電位が変動し外部より電位が高くなることを言う。この発火の結果をまた他のニューロンに興奮性あるいは抑制性の入力信号として伝達するのである。

   

      

                     図1

 簡単に言えば、ニューロンは、他のニューロンからの入力信号に重み付けされたものを受け取り、その総和を計算し、その結果発火するか否かを決定しているのである。この事実を簡潔に数理モデルとして次のように記述したのが、マカロック(McCulloch)とピッツ(Pitts)であった(式1.1)。

 

              (式1.1)

 ここで、xiはニューロンiからの信号をwijはニューロンjからニューロンIへの結合強度(重み)を示し、θiはニューロンiの閾値を示す。1[x]という関数は、x≧0で1、x<0で0となるような関数を表わすものとする。式1.1は、時刻tにおけるニューロンiの出力を示すことになる。

 また、この場合のニューロンの出力関数のプロファイルは図2のようになる。

    

       

                     図2

                                          

                           *θは閾値

 

 ところが、通常は、次のようなシグモイド関数(図3)がよく利用される。これは、このような連続関数であれば微分可能であるから、後述の誤差逆伝播法において重み変化(導関数)の計算を簡便にする為である。

                                     

                     図3

 

 

また、対象とする事象によっては、出力関数に線型関数(一次関数)や三角関数を用いる場合もある。

 ニューラルネットでは、一般にこうしたモデル化されたニューロンモデル(人工ニューロン)を基にして様々なアルゴリズムを形成するのである。

 

2 パーセプトロン

 ニューロンがモデル化された後、この人工ニューロンを構成要素としたネットワークモデルが登場した。その最初のものとされるのが、ローゼンブラット(Rosenblatt)のパーセプトロンである。

 

         

                    図4

 

  このパーセプトロンの基本型は図4に示されるような、3層構造の単純パーセプトロンである。

 入力層には処理の対象となるパターンが入力される。その入力は中間層で重みを付けられて出力層に伝達されるが、その伝達総量ojは以下の形(式2.1)で表わされる。ここで、xiは中間層からの入力信号(つまり、中間層から出力層への出力信号)、Wijは重みを表わす。

 中間層は入力層からの入力を受け、出力層に信号を出す。そして、出力層は複数の中間層からの信号を受けて反応し、最終的な出力を行うというものである。ここで注意すべきは、3層構造を取ってはいるが、事実上の処理は2層構造であるということであろう。入力層と中間層との結合は、単純な刺激の入力であり、結合強度に変化はないとされる。結合強度が可変であるのは中間層と出力層の間だけなのである。また、パーセプトロンでは、ニューロンモデルはマカロックらのステップ関数によるものであることも重要である。つまり、ニューロンからの出力は二値である。さらに、重み付けの規則は、教師信号ti(=正解)と出力が同じであれば重み付けを変化させないが、異なる場合はデルタルール(式2.2)によって修正される。ηは学習係数である。

                               

                      (式2.1)

                    (式2.2)

 こうしたパーセプトロンの最大の問題点は、出力信号空間に対して、超平面で出力が線形分離不可能な場合は学習ができないというものである。具体的には、いわゆる排他的論理和を十全に学習できないことが上げられる。

 

3 誤差逆伝播法(バックプロパゲーション)

 パーセプトロンで問題となった非線形分離問題を解決し、より柔軟な学習を可能にするアルゴリズムが逆誤差伝播法である。これは、1986年にラメルハート(Rumelhart)らによって開発された。

 逆誤差伝播法は各層でのニューロンの出力を連続関数(たいていはシグモイド関数)で表現し、パーセプトロンでの中間層に相応する部分への入力にも重みの変化を持たせ、また、学習すべき教師信号の他に、学習中の誤答を内的な教師信号として利用することで一つ手前の層で重み付けを修正して行く(例えば、出力層から得られる誤差情報から中間層~出力層間での重み付けを修正し、中間層から得られる誤差情報から入力層~中間層での重み付けを修正するという具合である)。

 誤差逆伝播法で重要なことは、この誤差を最小化するということであるが、その際誤差関数に関して微分(偏微分)を行い、得られた勾配ベクトルの逆方向に重みを修正することを行う。つまりいわゆる最急降下法のアルゴリズムに従う。

 以下、出力層から中間層への重み付けの変化を簡単に数式で示す。

 誤差Eを以下の式で定義する。tiは教師信号(正解)とし、oiは出力とする。

 

                        (式3.1)

 

ここで、重みの修正量は、k層(出力層)j番目のニューロンにかかる重みの修正量をΔWkjとし、ηを学習係数(任意の定数)、okを出力、Uを入力の総和とすれば、Xを中間層からの出力として、

 

                    

                                (式3.2)

 

 入力層から中間層での重み付けの変量計算も基本的には同じである。ただ、中間層への入力は、基本的に入力層でのニューロン一つが出力層へn個の出力を行うので、この点が変更となるだけである。

 以上のような誤差逆伝播法は、誤差関数の勾配ベクトルを逆方向に修正するという性質上、場合によっては、最小値ではなく、極小値に向かう可能性がありうることが大きな問題とされる。

 

4 その他のニューラルネットワーク

 3で見た誤差逆伝播法がもっとも有名な手法ではあるが、ニューラルネットには他にもいくつもの方法がある。

 そもそも、パーセプトロンや逆誤差伝播法は、いわゆる階層型ネットワークであるが、相互結合型ネットワークも存在する。

 後者の例であるホップフィールドネットやボルツマンマシンは組み合わせ最適化問題などによく用いられるネットワークで、また、ヘッブルールに従う教師なし学習の代表である。

 いずれにせよ、万能なニューラルネットワークモデルというものは存在しないと言って良い。しかし、人間の神経系が創発的にシステムを形成し、結果としてモジュール化されるという考えを取れば、ニューラルネットが複数存在し、対象となる問題に応じた解決を行うのは不自然なことではない。むしろ、これら複数のネットワークの統合がいかになされるかといったことが重要である。

 

              相互結合型ネットワーク