next up previous contents
Next: 2.4.2 バックプロパゲーション Up: 2.4 バックプロパゲーション(逆伝播誤差法) Previous: 2.4 バックプロパゲーション(逆伝播誤差法)

2.4.1 デルタルール

まず素子の特性を一般化する。ある素子jは他の素子iの出力 tex2html_wrap_inline1190 を入力として受け、 結合加重 tex2html_wrap_inline1212 を掛けて加えたものを入力の総和 tex2html_wrap_inline1214 とする。

  equation54

そして、出力 tex2html_wrap_inline1190 は入力の総和に単調増加関数fを施したもので表されることにする。

  equation58

ただし、閾値は結合加重の1つとして含まれていると考える。ここで関数fとして、

  equation61

といった形の0から1までの連続した値をとる関数を用いる。これはシグモイド関数と呼ばれ、微分可能な関数であるから、以下で解析的に問題を解くことができる。(図 ##66>)

   figure67
図 2.4: シグモイド関数

次に、神経回路における学習を一般化して考える。 パーセプトロンでは、入力されるベクトルを2つのグループに分け、それぞれ 0か1かの出力をもって判定することを目的としたが、 これはそれぞれの入力ベクトルを0か1に対応させる写像であると見ることができる。 もし、パターンベクトルの要素が0か1であれば、これは1つの論理回路関数である。 つまりパターン認識問題は、1つの論理関数を作り上げる問題に一般化できる。 そこで、以下では、パターン認識に限らず、一般に1つ1つの入力ベクトルに対して、 何らかのスカラ値を(出力が複数であるならベクトルを)対応させる写像を 神経回路に学習させることを考える。

ある入力ベクトル(パターン)cに対して出力素子jが出すべき出力を tex2html_wrap1196 とし、 その時の出力素子の実際の出力を tex2html_wrap_inline1226 としたとき、 学習の評価として、次のような``誤差関数''Eを考える。

  equation78

このような形の誤差関数を極小にする操作を一般に ``最小2乗平均誤差''(least mean spuare, LMS)法という。 tex2html_wrap_inline1226 はそのときの素子間の結合の重み tex2html_wrap_inline1212 で決まるため、 誤差平均も重みに関して陰(implicit)に定義された関数となる。 したがって、各重みの値を軸としてできる超空間を考え、 さらにこの誤差関数Eによって決まる値を高さだと考えれば、 Eは重み空間上の超曲面として``誤差曲面''を与えることになる。 任意の重み状態から、この誤差曲面の極小値に達するには、 tex2html_wrap1197 に比例した量、

  equation91

づつ変化させていけばよいことになる。 これは、誤差曲面上を最も急な傾斜方向に進んでいくことに相当する。 このような学習法を一般に、最急降下法(gradient decent method)という。

さて、式( ##98>)、 ( ##99>)のように素子の性質が定義されていれば、 tex2html_wrap1197 は合成関数の微分公式により、

  equation101

と展開できる。 式( ##112>)、 ( ##113>)を微分して代入すれば、

  equation114

equation120

であるので、結局式( 2.8)は

  equation126

となる。 tex2html_wrap1199 の項は 式( ##136>)を微分することにより、

equation137

と求められるので、これを式( 5.4)に代入して、

equation145

という学習則が得られる。これを、デルタルールと呼ぶ。 fが式( ##154>)で与えられているので、

equation155

より

  equation157

という形になる。 この方法は、全ての入出力パターンが与えられた後に始めて結合加重を変化させることになり、多くのメモリが必要になる。 そこで tex2html_wrap1200 が十分に小さければ 式( ##168>)を、

  equation169

とする。 これなら各入出力が与えられるごとに結合加重を反復的に変化させれば 最急降下法とほぼ等しくなり、メモリも少なくて済むことになる。


Deguchi Toshinori
Wed May 15 11:03:10 JST 2002