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

4.2 一般化デルタルール

バックプロパゲーションについて説明する前に、その考えの基となる一般化デルタルールについて説明する。デルタルールというのは、第2章で述べたニューロンの学習則のことで、これから述べるのはそれを一般化したものである。

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

  equation171

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

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

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

  equation186

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

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

  equation193

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

  equation199

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

  equation203

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

   eqnarray216

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

  equation225

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

  equation232

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

  equation239

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

  equation245

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

  equation249

という形になる。

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

  equation255

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



Deguchi Toshinori
1996年12月18日 (水) 11時08分12秒 JST