バックプロパゲーション
出典: フリー百科事典『ウィキペディア(Wikipedia)』
バックプロパゲーション(Backpropagation、誤差逆伝播法(ごさぎゃくでんぱほう)とも呼ばれる)は、ニューラルネットワークを訓練するために使われる教師あり学習技術である。それは、フィードフォワードネットワーク(フィードバックを持たない、あるいは単にループするコネクションを持たないネットワーク)で最も効果を発揮する。この用語はbackwards propagation of errors(後方への誤差伝播)の略である。バックプロパゲーションでは、人工ニューロン(または「ノード」)で使われる伝達関数が可微分でなければならない。
技術の要約は次の通りである:
- ニューラルネットワークに学習のためのサンプルを与える。
- ネットワークの出力とそのサンプルの最適解を比較する。各出力ニューロンについて誤差を計算する。
- 個々のニューロンの期待される出力値と倍率(scaling factor)、要求された出力と実際の出力の差を計算する。これを局所誤差と言う。
- 各ニューロンの重みを局所誤差が小さくなるよう調整する。
- より大きな重みで接続された前段のニューロンに対して、局所誤差の責任があると判定する。
- そのように判定された前段のニューロンのさらに前段のニューロン群について同様の処理を行う。
このアルゴリズムの名が暗示するように、エラー(および学習)は出力ノードから後方のノードへと伝播する。技術的に言えば、バックプロパゲーションはネットワーク上の変更可能な重みについて、誤差の傾斜を計算するものである。この傾斜はほとんどの場合、誤差を最小にする単純なアルゴリズムである確率的最急降下法で使われる。「バックプロパゲーション」という用語はより一般的な意味でも使われ、傾斜を求める手順と確率的最急降下法も含めた全体を示す。バックプロパゲーションは通常すばやく収束して、対象ネットワークの誤差のローカルミニマム(区間を限定したときの極小値、極値参照)を探し出す。