まず、バックプロパゲーションのプロセスを以下に挙げ、それを順に追ってみる。
初めに第1プロセスとして、誤差関数 を式 (3.1) で定義する。
これは、出力層に属する各ニューロンの出力
とそれに対する教師信号
との
自乗平均である。すなわち、ネットワーク全体としての、現在の能力とそれに対する
目標とのギャップを示す一つの指標となることを意味する。最終的に
を零に
することが理想であるが、実用的には
がある小さな範囲内に入れば学習が
完了したものとできる。誤差関数
は、直接的には
の関数であるが、
間接的にはネットワーク内の全ニューロンの各パラメータ全ての陰関数となっており、
誤差曲面を作っている。図 3.5 にその例を示す。
次に第2プロセスとして、中間層のニューロン j と出力層のニューロン i の間の
結合荷重 についてその微小変化に対する誤差関数の変化分を
求めてみるが、その前にあらかじめ出力層のニューロン出力
に対する誤差関数の
微分を式 (3.2) で求めておく。
すると、結合荷重 に対する微分は式 (3.3) の
ようになる。
最後に第3プロセスとして、誤差関数が減少する方向に変化させるために、
ある定数 を掛けて式 (3.4) のように結合荷重
を
変化させる。
この式を用いると誤差関数の値は常に小さくなり、傾きが最も急な方向へパラメータが 移動していくので、この方法を最急降下法という。ただし、図 3.5 に 示すような誤差曲面のくぼみに収束することは保証されるが、そこが最小値とは限らず 極小値となる場合もある。誤差曲面において、極小値付近は傾きが緩やかなために収束が 非常に遅くなる。したがって、定数 a を大きくしてパラメータが誤差曲面上を 移動する速度を大きくすれば、一般には学習の速度は速くなるが、逆に学習終了に 近づくにつれて極小点を飛び越えてそのまわりを行き来するようになるので、 結果的に収束が遅くなってしまう。これらのことを考え、両者の兼ね合いによって その値を経験的に決定しなければならない。
より収束が速い方法として 式 (3.5) に示す加速法がよく用いられる。 これは、誤差曲面の傾きをパラメータが移動する速さとしてではなく、移動する速さの 変化分として用いるものである。
以上のプロセスがバックプロパゲーションの基本となる学習法である。