逆伝播法
【英】:back propagation
階層型ニューラルネットワークにおいて, 教師信号とネットワーク出力の誤差2乗和を最小にするために勾配降下法を用いた場合のアルゴリズム. 誤差信号がネットワークの出力層から入力層に逆向きに用いられることからこの名称が用いられる. なお, 逆伝播アルゴリズムは, 階層型ネットワークだけでなくさらに広いクラスのネットワークにおいて, ヤコビアン(Jacobian)やヘッセ行列(Hessian)を用いる場合にも導出される.
| 近似・知能・感覚的手法: | 識別不能性 近似アルゴリズム 逆伝播学習アルゴリズム 逆伝播法 進化的計算 遺伝アルゴリズム 集合カバー問題 |
バックプロパゲーション
(back propagation から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/12/03 03:51 UTC 版)
| 機械学習および データマイニング |
|---|
| |
バックプロパゲーション(英: backpropagation, backprop)または誤差逆伝播法(ごさぎゃくでんぱほう、英: error backpropagation)[1]とは、ニューラルネットワークの損失関数のパラメータに関する偏微分を、自動微分のトップダウン型(リバース・モード)と同様の手法により、出力側から偏微分を計算し、誤差を伝播させる方法で、効率よく計算する手法である。一般的には、ここで計算した偏微分を使用し、確率的勾配降下法でニューラルネットワークを学習させる。用語は曖昧に使用されていて、バックプロパゲーションに確率的勾配降下法まで含んで使われている事も多い。[2]
概要
バックプロパゲーションは数理モデルであるニューラルネットワークのパラメータに関する偏微分を計算する手法で、確率的勾配降下法はパラメータを更新する(学習する)手法である。
バックプロパゲーションおよび確率的勾配降下法は次の通りである:
- ニューラルネットワークに学習のためのサンプルを与える。
- ネットワークの出力を求め、出力層における誤差を求める。その誤差を用い、各出力ニューロンについて誤差を計算する。
- 個々のニューロンの期待される出力値と倍率 (scaling factor)、要求された出力と実際の出力の差を計算する。これを局所誤差と言う。
- 各ニューロンの重みを局所誤差が小さくなるよう調整する。
- より大きな重みで接続された前段のニューロンに対して、局所誤差の責任があると判定する。
- そのように判定された前段のニューロンのさらに前段のニューロン群について同様の処理を行う。
誤差逆伝播法という名称が示唆するように、誤差(および学習)は出力ノードから入力ノードへと逆向きに伝播する。技術的に言えば、バックプロパゲーションはネットワーク上の変更可能なパラメータについて、誤差の傾斜、つまり損失関数の偏微分を計算するものである[3]。数式での実際の計算方法は後述する。
出力側から偏微分を計算すると計算効率が良くなる理由は、損失関数の出力がスカラーであることに起因するのだが、詳細は自動微分を参照。
確率的勾配降下法
バックプロパゲーションで計算した偏微分値は、ほとんどの場合、損失関数の誤差を最小にするアルゴリズムである確率的勾配降下法と共に使用される。
- back propagationのページへのリンク