next up previous contents
Next: バックプロパゲーション [#nakano##1#] Up: 第3章 ニューロンの学習 Previous: 3.1 学習の分類

一般化デルタルール [4]

バックプロパゲーションについて説明する前に、その考えの基となる一般化デルタルールについて説明する。

まず、ニューラルネットワークを学習させることを考える。 ある入力パターンを与えた時、そのネットの出力とそのネットが出力すべき望ましい出力とを用いて学習の評価となる次のような誤差関数 E を考えると

  equation161

tex2html_wrap_inline1269     :ある入力パターン c に対する出力素子 j の出力。

tex2html_wrap_inline1275     :出力素子 j が出力すべき望ましい出力。

となる。 このような形の誤差関数を最小にする手続きを一般に最小自乗平均誤差法という。 tex2html_wrap_inline1269 はその時の素子間の結合荷重 tex2html_wrap_inline1281 で決まるため誤差関数も重みに対して陰に定義された関数となる。 従って、それぞれの重みと E によって定義される値を軸とした重み空間上の超曲面としての誤差曲面を E は与えることになる。 任意の重みの状態から、この誤差曲面の極小値に達するには、例えば各重みを tex2html_wrap_inline1287 に比例した量

  equation176

ずつ変化させていけば良いことになる。 これは、誤差曲面上をもっとも急な傾斜方向に進んでいくことに相当し、このような学習則を一般に最急降下法という。

さて、ある素子(ニューロン) j は他の素子 i の出力 tex2html_wrap_inline1293 を入力として受け、結合荷重 tex2html_wrap_inline1281 をかけたものの総和を tex2html_wrap_inline1297 とする。

  equation183

そして、出力 tex2html_wrap_inline1299 は入力の総和にシグモイド関数 f を施したもので表されることにする(但し閾値も一つの重みとして含まれると考える)。

  equation188

  equation191

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

  equation197

と展開できる(添字 c は省略した)。 式(3.3),(3.4)を微分して代入すれば

   eqnarray210

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

  equation219

となる。 パーセプトロンのように中間層が学習しない場合、 tex2html_wrap_inline1305 の項は 式(3.1) を微分することより簡単になり

  equation226

と求めることができるので式(3.9)より

  equation233

という学習則が得られる。 これを一般化デルタルールと呼ぶ。 ここでシグモイド関数(式(3.5))を微分し

  equation239

これを式(3.11)に代入すると

  equation243

という形になる。

式(3.13)の方法では、全ての入出力パターンが与えられた後にはじめて結合荷重を変化させることになるが、 tex2html_wrap_inline1223 が十分に小さければパーセプトロンのように各入出力が与えられるごとに結合荷重を変化させる。 すなわち

  equation249

としても全体の変化量は最急降下法とほぼ等しくなる。



Deguchi Toshinori
Thu Mar 4 14:22:36 JST 1999