Weitere ähnliche Inhalte
Mehr von KCS Keio Computer Society (20)
ゼロから作るDeepLearning 5章 輪読
- 4. 誤差逆伝播法とは
• ニューラルネットワークの学習手順
Step1 : 訓練データの中からランダムに一部のデータを選び出す
(ミニバッチ学習)
Step2 : 各重みパラメータに関する損失関数の勾配を求める。
(ここで今回のテーマである誤差逆伝播法を利用する)
Step3 : 重みパラメータを勾配方向に微小量だけ更新する
Step4 : Step1 ~ Step3 を loop
- 9. 連鎖律と逆伝播
• 𝑧 = 𝑥 + 𝑦 2という式は以下2つの構成式で表される。
𝑧 = 𝑡2
𝑡 = 𝑥 + 𝑦
ここで、𝑧の𝑥での微分値は
𝜕𝑧
𝜕𝑥
=
𝜕𝑧
𝜕𝑡
𝜕𝑡
𝜕𝑥
と表せる。
これを計算グラフでの逆伝播で𝑧の𝑥での微分値は以下のように求められる。
𝑥
𝑦
𝑡 𝑧
𝐸
^2+
𝐸
𝜕𝑧
𝜕𝑡
𝐸
𝜕𝑧
𝜕𝑡
𝜕𝑡
𝜕𝑥
- 10. 逆伝播の計算グラフ上のルール1
• 加算ノードの逆伝播
𝑧 = 𝑥 + 𝑦 という式の𝑥, 𝑦それぞれ微分値を考えると、
𝜕𝑧
𝜕𝑥
= 1,
𝜕𝑧
𝜕𝑦
= 1
どちらも1になる。つまり計算グラフ上では+のノードはそのまま1を掛けて左に流せば良
い。
𝑥
𝑧
𝑦
+
𝜕𝐿
𝜕𝑧
𝜕𝐿
𝜕𝑧
∙1
𝜕𝐿
𝜕𝑧
∙1
- 16. • さらに、
𝜕𝐿
𝜕𝑦
𝑦2 exp −𝑥 は以下のように簡略化できる。
𝜕𝐿
𝜕𝑦
𝑦2
exp −𝑥 =
𝜕𝐿
𝜕𝑦
1
1 + exp −𝑥 2
exp −𝑥
=
𝜕𝐿
𝜕𝑦
1
1 + exp −𝑥
exp −𝑥
1 + exp −𝑥
=
𝜕𝐿
𝜕𝑦
𝑦 1 − 𝑦
𝜕𝐿
𝜕𝑦
sigmoid
𝑥 𝑦
𝜕𝐿
𝜕𝑦
𝑦 1 − 𝑦