next up previous contents
Next: 3.3 バックプロパゲーション Up: 第3章 ニューラルネットワークの学習則 Previous: 3.1.3 学習の分類

3.2 一般化デルタルール

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

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

  equation82

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

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

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

  equation97

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

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

  equation104

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

  equation109

ここで、シグモイド関数とは図(3.3)のような関数であり、式(3.5)で表される。

   figure114
図 3.3: シグモイド関数

  equation121

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

  equation127

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

   eqnarray140

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

  equation149

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

  equation156

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

  equation163

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

  equation169

これを式(3.11)に代入して

  equation173

という形になる。

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

  equation179

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



Deguchi Toshinori
1996年10月17日 (木) 12時31分30秒 JST