
18.3
逆伝播誤差法(バックプロパゲーション)
■
253
18.3
逆伝播誤差法(バックプロパゲーション)
通常、ニューラルネットワークの作成を手作業では行いません。ニューラルネット
ワークは比較的大きな問題を解くために使うものだからです。数百から数千のニュー
ロンを使用する画像認識などが良い例です。また、ニューロンがどのように振る舞え
ば良いか、たいていはわからないことも、理由の
1
つです。
その代わりに、データを使ってニューラルネットワークを学習させます。勾配降下
法またはその亜流であるアルゴリズムを使用する逆伝播誤差法(バックプロパゲーショ
ン)と呼ばれる手法がよく使われます。
入力ベクトルと、それに対応したターゲットベクトルからなる学習用データを持って
いるとしましょう。例えば、
XOR
ゲートの例だと、入力ベクトルが
[1,
0]
であり、対
応する出力が
[1]
となります。また、ネットワークは重みの集合を持っており、その値
は次のアルゴリズムで調整されます。
1.
フィードフォワードを入力ベクトルに適用し、ネットワーク中すべてのニューロ
ンの出力を求める。
2.
目的とする出力がわかっているので、二乗誤差の合計として損失が計算できる。
3.
出力ニューロンの重みの関数として、この損失の勾配を計算する。
4.
隠れ層の重みに関する勾配を計算するために、勾配と誤差を後方に「伝播」させ
る。
5.
勾配を計算するステップに戻る。
この手順はニューラルネットワークが収束するまで、学習用データを使って何度も
繰り返し実