SlideShare a Scribd company logo
1 of 8
Download to read offline
4. 誤差逆伝播法
4章概要
勾配の計算は微分の連鎖規則を繰り返し適用する必要があり、複雑
勾配計算に頻出する𝜕𝐸 𝑛 𝜕𝑢𝑗
(∙)
� を𝛿(デルタ)と置くと、目的の勾配は
𝜕𝐸 𝑛
𝜕𝑤𝑗𝑗
(𝑙)
= 𝛿𝑗
(𝑙)
𝑧𝑖
(𝑙−1)
と計算され、このデルタは上位の層のデルタが与えられれば
𝛿𝑗
(𝑙)
= � 𝛿 𝑘
(𝑙+1)
𝑤 𝑘𝑘
(𝑙+1)
𝑓𝑓 𝑢𝑗
(𝑙)
𝑘
と求められる。つまり、出力層から辿っていけば任意の層のデルタが求められる。
このように、デルタの計算過程が順伝播と逆の向きで進むことから逆伝播法と言う。
順伝播と逆伝播によって、勾配降下法のアルゴリズムは完成した。
しかし、多層化すると勾配が消失(発散)する勾配消失問題という問題が
発生したのだった・・・
誤差逆伝播法(バックプロパゲーション)の導入
・勾配計算の難しさ
勾配降下法では誤差関数の勾配
𝜕𝐸
𝜕𝒘
を求める必要があるが、入力に近い層ほど
計算が面倒になる。例えば、二乗誤差の誤差関数を第 l 層の重みに関して勾配を
求めると、
となるが、
𝜕𝒚
𝜕𝑤 𝑗𝑗
(𝑙)を解くためには微分の連鎖規則を繰り返し適用する必要があり、
複雑になる。そこで考えられたのが誤差逆伝播法(バックプロパゲーション)で
ある。
※以下、簡略化のためにバイアスを前の層の「1」のみ出力するユニットとの
結合重み 𝑤0𝑗
(𝑙)
= 𝑏𝑗
(𝑙)
とする。
4. 誤差逆伝播法
𝜕𝐸 𝑛
𝜕𝑤𝑗𝑗
(𝑙)
= 𝒚(𝒙 𝑛 − 𝒅 𝑛) 𝑇
𝜕𝒚
𝜕𝑤𝑗𝑗
(𝑙)
𝑢𝑗
(𝑙)
= � 𝑤𝑗𝑗
(𝑙)
𝑧𝑖
(𝑙−1)
𝑛
𝑖=1
+ 𝑏𝑗 = � 𝑤𝑗𝑗
(𝑙)
𝑛
𝑖=0
𝑧𝑖
(𝑙−1)
・2層ネットワークでの計算
では、2層ネットワークでの場合で考えてみよう。
出力層の活性化関数は恒等写像、中間層は任意の f
誤差関数は二乗誤差を選ぶ。
まず、第3層の重みについての勾配を求める。
ここで、
𝜕𝒚
𝜕𝑤 𝑗𝑗
(3) = 0, ⋯ , 𝑧𝑖
2
, ⋯ , 0
𝑇
となること
から、
4. 誤差逆伝播法
𝑥1
𝑥2
𝑥3
𝑥4
+1
+1
𝒛(1)
= 𝒙
𝒛(2)
𝒚 = 𝒛(3)
𝒛(3)
𝜕𝐸 𝑛
𝜕𝑤𝑗𝑗
(3)
= 𝒚(𝒙 𝑛 − 𝒅 𝑛) 𝑇
𝜕𝒚
𝜕𝑤𝑗𝑗
(3)
𝜕𝐸 𝑛
𝜕𝑤𝑗𝑗
(3)
= 𝒚(𝒙 𝑛 − 𝒅 𝑛) 𝑇
𝜕𝒚
𝜕𝑤𝑗𝑗
(3)
次に、第2層の重みについての勾配を求める。連鎖規則より、勾配は
と求められる。各項は
𝜕𝑢𝑗
(2)
𝜕𝑤𝑗𝑗
(2)
= 𝑧𝑖
(1)
𝜕𝐸 𝑛
𝜕𝑢𝑗
(2)
= �
𝜕𝐸 𝑛
𝜕𝑢 𝑘
(3)
𝜕𝑢 𝑘
(3)
𝜕𝑢𝑗
(2)
𝑘
と求められる。さらに
𝜕𝐸 𝑛
𝜕𝑢 𝑘
(3) = 𝑢 𝑘
(3)
− 𝑑 𝑘、
𝜕𝑢 𝑘
(3)
𝜕𝑢 𝑗
(2) = 𝜕𝑤 𝑘𝑗
(3)
𝑓𝑓(𝑢𝑗
(2)
)よりまとめると
𝜕𝐸 𝑛
𝜕𝑤𝑗𝑗
(2)
= (𝑓𝑓(𝑢𝑗
2 ) � 𝑤 𝑘𝑘
3 (
𝑘
𝑢 𝑘
3 − 𝑑 𝑘))𝑧𝑖
(1)
となる。
𝜕𝐸 𝑛
𝜕𝑤𝑗𝑗
(2)
=
𝜕𝐸 𝑛
𝜕𝑢𝑗
(2)
𝜕𝑢𝑗
(2)
𝜕𝑤𝑗𝑗
(2)
4. 誤差逆伝播法
これまでの計算を任意の多層ネットワークへと一般化していく。具体的には
中間層の処理を一般化していく。第 𝑙 層の重みについての勾配を見ると
𝜕𝐸 𝑛
𝜕𝑤𝑗𝑗
(𝑙)
=
𝜕𝐸 𝑛
𝜕𝑢𝑗
(𝑙)
𝜕𝑢𝑗
(𝑙)
𝜕𝑤𝑗𝑗
(𝑙)
= �
𝜕𝐸 𝑛
𝜕𝑢 𝑘
(𝑙+1)
𝜕𝑢 𝑘
(𝑙+1)
𝜕𝑢𝑗
(𝑙)
𝑘
𝑧𝑖
(𝑙−1)
と求められる。ここで、𝜕𝐸 𝑛 𝜕𝑢𝑗
(∙)
� が頻出することから
𝛿𝑗
(𝑙)
≡
𝜕𝐸 𝑛
𝜕𝑢𝑗
(𝑙)
として𝛿(デルタ)と呼ぶことにする。また、デルタは
𝛿𝑗
(𝑙)
= � 𝛿 𝑘
(𝑙+1)
𝑤 𝑘𝑗
(𝑙+1)
𝑓𝑓 𝑢𝑗
(𝑙)
𝑘
と書き直すと上位の第 𝑙 + 1層のユニットのデルタが与えられれば第 𝑙 層のデルタ
が求められる。これを出力層までたどれば任意の層のデルタが求められる。
このとき、デルタが出力層から入力層の向きに伝播すること
から誤差逆伝播法という。
4. 誤差逆伝播法
・多層ネットワークへの一般化
4. 誤差逆伝播法
これまでの順伝播、逆伝播の計算についてミニバッチの場合で、行列で示す。
順伝播の場合は
𝑼(𝑙) = 𝑾(𝑙) 𝒁(𝑙−1) + 𝒃(𝑙) 𝟏 𝑁
𝑇
𝒁(𝑙) = 𝑓(𝑙)(𝑼(𝑙))
を繰り返し適用し計算する。逆伝播の場合、𝑙 層の各ユニットのデルタを要素に
持ち各列はミニバッチnに対応する行列𝜟(𝑙)を導入する。
出力層では𝚫(𝑳) = 𝑫 − 𝒀としたのち、
𝜟(𝑙) = 𝑓(𝑙)′ 𝑼(𝒍) ⊙ 𝑾 𝑙+1 𝑇 𝜟(𝑙+1)
を繰り返し適用し計算する。求めたデルタから、バイアスと重みについての
誤差関数の勾配はそれぞれ以下のように計算される。
𝜕𝑾(𝑙) =
1
𝑁
𝜟(𝑙) 𝒁 𝑙−1 𝑇
𝜕𝒃(𝑙) =
1
𝑁
𝜟(𝑙) 𝟏 𝑁
𝑇
・順伝播、逆伝播の行列化
4. 誤差逆伝播法
また、勾配の計算は正しく計算されているかを検証するために以下のように
誤差関数の勾配の差分近似を用いることができる。
𝜕𝐸 𝑛
𝜕𝑤𝑗𝑗
(𝑙)
=
𝐸 ⋯ , 𝑤𝑗𝑗
𝑙 + 𝜀, ⋯ − 𝐸(⋯ , 𝑤𝑗𝑗
(𝑙)
, ⋯ )
𝜀
εは、小さくすると近似の精度が良くなるが、小さすぎると誤差が大きくなる
ため、適切な ε を決定する必要がある。一般的には計算機イプシロン𝜀 𝑐を用い
て以下のように重みの大きさに合わせて決める。
𝜀 ≡ 𝜀 𝑐 𝑤𝑗𝑗
順伝播計算では、活性化関数を経由して計算されるため活性化関数が非線形で
あれば、その層の入出力関係も非線形を保ちます。例えば、活性化関数がロジ
スティック関数であれば0~1の範囲に制約されます。しかし、逆伝播計算では
全体が線形の計算であるため、各層の重みが大きいと伝播するたびに急速に大
きく、重みが小さければ伝播するたびに小さくなり0になってしまう。
このように、多層化すると重みの更新が上手くいかなくなる
問題を勾配消失問題という。
・勾配消失問題

More Related Content

What's hot

研究室内PRML勉強会 11章2-4節
研究室内PRML勉強会 11章2-4節研究室内PRML勉強会 11章2-4節
研究室内PRML勉強会 11章2-4節
Koji Matsuda
 

What's hot (20)

PRML復々習レーン#9 前回までのあらすじ
PRML復々習レーン#9 前回までのあらすじPRML復々習レーン#9 前回までのあらすじ
PRML復々習レーン#9 前回までのあらすじ
 
Prml4 1-4-2
Prml4 1-4-2Prml4 1-4-2
Prml4 1-4-2
 
PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5
 
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.42013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
 
PRML_from5.1to5.3.1
PRML_from5.1to5.3.1PRML_from5.1to5.3.1
PRML_from5.1to5.3.1
 
PRML 5.3-5.4
PRML 5.3-5.4PRML 5.3-5.4
PRML 5.3-5.4
 
PRML第3章@京大PRML輪講
PRML第3章@京大PRML輪講PRML第3章@京大PRML輪講
PRML第3章@京大PRML輪講
 
PRML 6.4-6.5
PRML 6.4-6.5PRML 6.4-6.5
PRML 6.4-6.5
 
PRML 3.5.2, 3.5.3, 3.6
PRML 3.5.2, 3.5.3, 3.6PRML 3.5.2, 3.5.3, 3.6
PRML 3.5.2, 3.5.3, 3.6
 
誤差逆伝播法の計算(ディープラーニング)
誤差逆伝播法の計算(ディープラーニング)誤差逆伝播法の計算(ディープラーニング)
誤差逆伝播法の計算(ディープラーニング)
 
Prml5 6
Prml5 6Prml5 6
Prml5 6
 
[PRML] パターン認識と機械学習(第3章:線形回帰モデル)
[PRML] パターン認識と機械学習(第3章:線形回帰モデル)[PRML] パターン認識と機械学習(第3章:線形回帰モデル)
[PRML] パターン認識と機械学習(第3章:線形回帰モデル)
 
PRML 5.2.1-5.3.3 ニューラルネットワークの学習 (誤差逆伝播) / Training Neural Networks (Backpropa...
PRML 5.2.1-5.3.3 ニューラルネットワークの学習 (誤差逆伝播) / Training Neural Networks (Backpropa...PRML 5.2.1-5.3.3 ニューラルネットワークの学習 (誤差逆伝播) / Training Neural Networks (Backpropa...
PRML 5.2.1-5.3.3 ニューラルネットワークの学習 (誤差逆伝播) / Training Neural Networks (Backpropa...
 
PRML Chapter 14
PRML Chapter 14PRML Chapter 14
PRML Chapter 14
 
PRML 3.3.3-3.4 ベイズ線形回帰とモデル選択 / Baysian Linear Regression and Model Comparison)
PRML 3.3.3-3.4 ベイズ線形回帰とモデル選択 / Baysian Linear Regression and Model Comparison)PRML 3.3.3-3.4 ベイズ線形回帰とモデル選択 / Baysian Linear Regression and Model Comparison)
PRML 3.3.3-3.4 ベイズ線形回帰とモデル選択 / Baysian Linear Regression and Model Comparison)
 
PRML5
PRML5PRML5
PRML5
 
Prml 10 1
Prml 10 1Prml 10 1
Prml 10 1
 
RBMを応用した事前学習とDNN学習
RBMを応用した事前学習とDNN学習RBMを応用した事前学習とDNN学習
RBMを応用した事前学習とDNN学習
 
研究室内PRML勉強会 11章2-4節
研究室内PRML勉強会 11章2-4節研究室内PRML勉強会 11章2-4節
研究室内PRML勉強会 11章2-4節
 
[PRML勉強会資料] パターン認識と機械学習 第3章 線形回帰モデル (章頭-3.1.5)(p.135-145)
[PRML勉強会資料] パターン認識と機械学習 第3章 線形回帰モデル (章頭-3.1.5)(p.135-145)[PRML勉強会資料] パターン認識と機械学習 第3章 線形回帰モデル (章頭-3.1.5)(p.135-145)
[PRML勉強会資料] パターン認識と機械学習 第3章 線形回帰モデル (章頭-3.1.5)(p.135-145)
 

Similar to 深層学習(講談社)のまとめ 第4章

CMSI計算科学技術特論A(11) 行列計算における高速アルゴリズム2
CMSI計算科学技術特論A(11) 行列計算における高速アルゴリズム2CMSI計算科学技術特論A(11) 行列計算における高速アルゴリズム2
CMSI計算科学技術特論A(11) 行列計算における高速アルゴリズム2
Computational Materials Science Initiative
 
ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3
noname409
 

Similar to 深層学習(講談社)のまとめ 第4章 (12)

『劣モジュラ最適化と機械学習』 4章
『劣モジュラ最適化と機械学習』 4章『劣モジュラ最適化と機械学習』 4章
『劣モジュラ最適化と機械学習』 4章
 
CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1
CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1
CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1
 
確率微分方程式の導出(仮)
確率微分方程式の導出(仮)確率微分方程式の導出(仮)
確率微分方程式の導出(仮)
 
VBAで数値計算 09 掃き出し法
VBAで数値計算 09 掃き出し法VBAで数値計算 09 掃き出し法
VBAで数値計算 09 掃き出し法
 
第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)
 
VBAで数値計算 10 逆行列と疑似逆行列
VBAで数値計算 10 逆行列と疑似逆行列VBAで数値計算 10 逆行列と疑似逆行列
VBAで数値計算 10 逆行列と疑似逆行列
 
CMSI計算科学技術特論A(11) 行列計算における高速アルゴリズム2
CMSI計算科学技術特論A(11) 行列計算における高速アルゴリズム2CMSI計算科学技術特論A(11) 行列計算における高速アルゴリズム2
CMSI計算科学技術特論A(11) 行列計算における高速アルゴリズム2
 
ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3
 
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...
 
【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列
 
ラビットチャレンジレポート 機械学習
ラビットチャレンジレポート 機械学習ラビットチャレンジレポート 機械学習
ラビットチャレンジレポート 機械学習
 
PRML10-draft1002
PRML10-draft1002PRML10-draft1002
PRML10-draft1002
 

More from okku apot (6)

深層学習(講談社)のまとめ 第8章
深層学習(講談社)のまとめ 第8章深層学習(講談社)のまとめ 第8章
深層学習(講談社)のまとめ 第8章
 
深層学習(講談社)のまとめ 第7章
深層学習(講談社)のまとめ 第7章深層学習(講談社)のまとめ 第7章
深層学習(講談社)のまとめ 第7章
 
深層学習(講談社)のまとめ 第6章
深層学習(講談社)のまとめ 第6章深層学習(講談社)のまとめ 第6章
深層学習(講談社)のまとめ 第6章
 
深層学習(講談社)のまとめ 第5章
深層学習(講談社)のまとめ 第5章深層学習(講談社)のまとめ 第5章
深層学習(講談社)のまとめ 第5章
 
深層学習(講談社)のまとめ 第3章
深層学習(講談社)のまとめ 第3章深層学習(講談社)のまとめ 第3章
深層学習(講談社)のまとめ 第3章
 
深層学習(講談社)のまとめ(1章~2章)
深層学習(講談社)のまとめ(1章~2章)深層学習(講談社)のまとめ(1章~2章)
深層学習(講談社)のまとめ(1章~2章)
 

深層学習(講談社)のまとめ 第4章