next up previous contents
Next: 第4章 連続パターンの検出 Up: 第3章 ニューラルネットワークの学習則 Previous: 3.2 一般化デルタルール

3.3 バックプロパゲーション

  いくつかの中間層を持つ階層型ニューラルネットワークを考える。このネットワークについて中間層に対する学習式を導こうとしたとき、式(3.9)の tex2html_wrap_inline989 の値はすぐに求めることはできない。 この微分値を出力層より逆向きに順々に計算していく、つまり出力の誤差を前の層へ前の層へと伝えていくというのが、バックプロパゲーションのアイデアである。すなわち、ある素子 jtex2html_wrap_inline989 の計算は、次の層の素子 ktex2html_wrap_inline1001 を用いて

  equation187

と展開することができる。式(3.3)より

  equation199

これと式(3.8)を代入すれば式(3.15)は

  equation207

となる。これがバックプロパゲーションのアルゴリズムである。 [4]

これは誤差があたかも逆方向に進んでいくように見えることから誤差逆伝搬法ともいわれている。

バックプロパゲーションでは、いかなる結合荷重の初期値からでも誤差が極小となる(最小ではない)ことが保証されるわけだが、一般に誤差曲面は極小値の近くでは非常に緩やかな谷底を持つため学習は非常に遅くなる。 しかし、式(3.2)の tex2html_wrap_inline991 を大きくすると学習は振動してしまう。振動させずに学習を早めるためいくつかの方法が提案されているが、その一つに誤差曲面の傾きを結合荷重空間の位置でなく速度の変化に用いる、

  equation217

という形の加速法が良く使われている。ここで t は学習回数を表す。

また、結合荷重が最初全てゼロであると、中間層の素子に子性が現れず中間層を用いる意味がなくなってしまう。この対称性を破るためには、各結合荷重に小さなランダム値を与えておけば良い。

注意すべきこととして、多層な階層型ネットワークにおいて式(3.1)で表される誤差曲面には複数の極小値が存在しうるということである。このため、誤差は必ずしも最小になるとは限らない。

バックプロパゲーションの特徴は、出力すべき出力を得られるように入力の特徴により中間層の結合荷重が構成されていくことである。 また、ある素子の学習に使われている情報は後の素子から得られる情報のみであり、学習の局所性が保たれていることになる。 ただし、実際の生体の神経回路においては、 tex2html_wrap_inline989 といった値が神経軸索を通って逆向きに伝わるはずもなく、バックプロパゲーションは実際の脳の学習則の生理的モデルにはなりえないことになる。 実際の脳にどのような学習則が用いられているかはまだ分かっていない。

実用上においてもバックプロパゲーションにはいくつかの問題点がある。 例えば、学習に用いる係数 tex2html_wrap_inline991 , tex2html_wrap_inline1011 の値を学習が振動しない程度に大きく選ぶためには、実際にいくつか試してみるしか方法はない。同様に、中間層のニューロンの数についても、学習させようとする問題により必要とされる数がことなるため、試行錯誤で決めるしかないという状態である。



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