誤差逆伝播法は「誤差を後ろから伝える」って説明されるけど、何を伝えてるんか分からん
信用割当問題って言葉も出てくる
【疑問】誤差逆伝播法の「信用割当問題」って何?連鎖律で2層ぶん手計算してみた【G検定】
1: 名無しさん
2: 名無しさん
前提のおさらい。偏微分は、ほかの変数を止めて1つだけ動かしたときの傾き。勾配の逆向きにパラメータを少し動かせば誤差が下がる
3: 名無しさん
>>1
信用割当問題は「出力が外れたとき、どの重みにどれだけ責任があるか」という問題
出力層の重みなら誤差との関係が見えやすいけど、前の層の重みは、あいだの層を何段も通ってから出力に効く。どれをどれだけ直せばええか、そのままでは分からん
4: 名無しさん
>>3
それを解くのが連鎖律。「 が を動かし、 が を動かす」なら
途中の傾きを掛け算すれば、遠くの重みの責任も出せる
5: 名無しさん
>>4
2層の小さい例で手計算する。入力 、重み 、、正解
、、誤差
6: 名無しさん
>>5
後ろから順に出す
を一度出したら、 の計算にそのまま使い回せる。これが「後ろから伝える」の中身
7: 名無しさん
>>6
ほんまに12になるか確かめる。 を0.001だけ増やすと、、、
増え方は で一致する
8: 名無しさん
>>7
それやったら、全部の重みをちょっとずつ動かして確かめるやり方でもええやん
9: 名無しさん
>>8
重みが100万個あったら、100万回それぞれ動かして出力を計算し直さなあかん
誤差逆伝播法なら、前向きに1回、後ろ向きに1回計算するだけで、全部の重みの勾配がそろう。この差が大きい
10: 名無しさん
ニューラルネットワークの学習に誤差逆伝播法が広まったきっかけは、ラメルハート、ヒントン、ウィリアムズの1986年の論文
11: 名無しさん
>>6
途中の傾きを掛け算していくってことは、傾きが小さい層が続いたら、前の層ほど勾配がどんどん小さくなるんちゃう?
12: 名無しさん
>>11
なる。それが勾配消失問題。逆に1より大きい傾きが続くと勾配が爆発する。掛け算でつながってるから起きる、誤差逆伝播法のいちばん大きな弱点
管理人のひとこと
- 信用割当問題は、出力が外れたときどの重みにどれだけ責任があるかという問題。連鎖律 で途中の傾きを掛けて解く。
- なら 、、。 を0.001動かすと増え方は約12.0で一致する。
- 後ろの層で出した を前の層で使い回すので、前向き1回・後ろ向き1回で全部の勾配がそろう。
- 掛け算でつながるため、傾きが小さいと勾配消失、大きいと勾配爆発が起きる。