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