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

デルタルール

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

  equation2141

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

  equation2145

ただし、閾値は結合加重の1つとして含まれていると考える。ここで関数fとして、 式 (2.5)のようなシグモイド関数を用いる。 これは微分可能な関数であるから、以下で解析的に問題を解くことができる。

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

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

  equation2152

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

  equation2165

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

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

  equation2175

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

  equation2188

equation2194

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

  equation2200

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

equation2211

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

equation2219

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

equation2229

より

  equation2231

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

  equation2243

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



Toshinori DEGUCHI
2003年 4月23日 水曜日 17時55分23秒 JST