実際にバックプロパゲーションを適応させる場合について説明する。
いくつかの中間層を持つ階層型のネットワークを考える。
同じ層の素子間に結合はなく、どの素子も1つ前の層からのみ入力を受け、次の層へのみ出力を送るものとする。
このようなネットワークの中間層に対して学習則を導くとき、
(学習信号)の値は すぐには求めることが出来ない。
そのため、この学習信号を出力層から逆向きに順々に計算していく。
すなわち出力の誤差を前の層へ、前の層へと伝えていく。学習の評価基準として、次のような誤差関数Eを定義する。
式 (4.3)での とは、ある入力
に対して出力素子
がすべき望ましい出力、
はそのときの出力を指している。
この誤差を
について微分をすると
よって、ある層の素子 の
の計算は、次の層の素子
の
を用いて
と展開することができる。 また、出力 と結合荷重
の積和が入力総和
であることから
となる。そして、この関係式を 代入すれば式 (4.5)は
となる。 これがバックプロパゲーションのアルゴリズムである。
バックプロパゲーションは、いかなる重みの初期値からでも誤差が極小となる (最小ではない)ことが保証されるわけだが、
一般に誤差曲面は極小値の近くでは非常に緩やかな谷底をもつため、学習は非常に遅くなる。
しかし、学習係数の を大きくすると、学習は振動してしまう。
を振動させずに学習を早めるため幾つかの方法が提案されている。例えば、誤差曲面の傾きを結合荷重空間の位置でなく速度の変化に利用させている。即ち、
という形の加速法がよく使われる。
ここで は安定化定数であり、
は学習の回数を表す。また重みが最初すべて0であると、中間層の素子に個性が現れず中間層を用いる意味がなくなってしまう。
この対称性を破るために、重みに小さなランダム値を与えることが必要である[5]。
図 4.2に誤差逆伝播法のネットワーク図を示す。 誤差逆伝播法の特徴としては、
ということが挙げられる。 すなわちある素子の学習に使われている情報は、あとの素子から得られる情報のみであり、学習の局所性が保たれていることになる。
この学習の局所性は、人工的な神経回路型計算機をハードウェア化する時の学習則に要求される性質である。
実際の生体における神経回路においては、
といった学習信号が神経軸索を通って逆向きに伝わることはない。
誤差逆伝播法は実際の脳の学習則の生理学的モデルにはなりえないことになる。 実際の脳の多層神経回路において、どのような学習則が用いられているのかは今だ解明されていない。