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