SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
4.2 2層ネットワークでの計算
Tomomi Daigo
機械学習プロフェッショナルシリーズ『深層学習』(岡谷貴之)の勉強用
2016/05/28
この節でやること
1. 使用するモデルの定義
2. 出力層の重みで誤差関数を微分する
3. 中間層の重みで誤差関数を微分する
*目的: 
誤差関数を微分して 0に近づけるようなWを
探すことで、正解とモデル出力の誤差を最小
化する
1. 使用するモデルの定義
使用するモデル
x1
x2
x3
x4
+1
+1
z2z1=x z3
問題:回帰
入力層の出力:=入力
中間層の出力:任意のf
出力層の出力:恒等写像
中間層の出力
i
+1
+1
z2z1=x z3
l=2
zj
(2)
=f(uj
(2)
)=f(∑i
wji
(2)
zi
(1)
)
j
k
u
j
z
j
wji
z
j
出力層の出力
+1
+1
z2z1=x z3
yj
(x)=zj
(3)
=uj
(3)
=∑i
wji
(3)
zi
(2)
i j
z
i
wji
l=3
u
j
z
j
yj
誤差関数
+1
+1
z2z1=x z3
En = ½||y(x)-d||2
= ½ ∑j
(yj
(x)-dj
)2
i j
yj
定義より このモデル
での具体例
2. 出力層の重みで誤差関数を微分する 
偏微分
「∂」の読みはラウンド(ラウンドd)
分母で指定した変数以外は定数とみなして微分
多変数関数y=f(x,z,...)で、目的以外の変数は変化
しないとした時の、目的の変数による関数の変化率
を求めたもの
∂y
∂x
= a
例) y(x,z)=ax+bz
∂y
∂z
= b
偏微分(イメージ)
z=x2
+y2
のグラフ
赤線の面で切る(例えばy=0での
断面)
xだけの関数になる(z=x2
+02
)
→ この状態でzをxで微分する   
ことが、∂z/∂x
6 7 8
5行1列
1
2
3
4
5
補足:行列の積
×
行列AとBの積はAの列とBの行数が一致しないと定義できない
1行3列
内側が一致
A   ×   B
  1×6  
  2×6
  3×6
  4×6
  5×6
5行3列
 1×7  
 2×7
 3×7
 4×7
 5×7
 1×8 
 2×8
 3×8
 4×8
 5×8
=
この例がなんか不安・・・おかしかったらご指摘を >_<
= [ ∑j
(yj
(x)-dj
) ]´ = ∑j
[ (yj
(x)-dj
)´ ] = ∑j
[ (yj
(x)-dj
) × (yj
(x))´ ]
= [(y1
(x)-d1
) × (y1
(x))´] + [(y2
(x)-d2
) × (y2
(x))´] ...+[(yj
(x)-dj
) × (yj
(x))´]
∂½ ∑j
(yj
(x)-dj
)2
誤差関数のwによる微分(出力層)
∂En
∂wji
(3)
=(y(x) - d)T
∂y
∂wji
(3)
En = ½ ∑j
(yj
(x)-dj
)2
= ½ [(y1
(x)-d1
)2
+ (y2
(x)-d2
)2
+...(yj
(x)-dj
)2
+ (yj+1
(x)-dj+1
)2
+...]
Wji
(3)
に関係する部分はここだけ。
関係ない項は定数扱い(微分して 0)
∂wji
(3)
打ち消せる
和の微分は微分の和
∑を展開:jを含まない項はすべて0 注目しているjを含む項だけ
生き残る
∂y
∂wji
(3)
∑j
[ (yj
(x)-dj
) × (yj
(x))´ ] = [(yj
(x)-dj
) × (yj
(x))´] = (y(x) - d)T
+
1
z2z1=x z3
i j
y
j
+
1
yj-1
yj+1
yj-1
-dj-1
yj
-dj
yj+1
-dj+1
(yj-1
-dj-1
)  
(yj
-dj
)  (yj+1
-dj+1
)
yj-1
∂wji
(3)
yj
∂wji
(3)
yj+1
∂wji
(3)
= 0
= 0
転置
(縦ベクトルを横に倒す)T
の行数と
の列数が一致して積が計算でき …
生き残った結果は 実はこの右辺の結果と等しい
以下に右辺の計算を説明する
(yj-1
-dj-1
)     
+ 
(yj
-dj
)   + (yj+1
-dj+1
)
積が計算できるが、   の成分は一つの項を除いてすべて 0
yj-1
∂wji
(3)
yj
∂wji
(3)
yj+1
∂wji
(3)
=(yj
-dj
)zi
(2)  
=
jを含む項だけ生き残る
∂wji
(3)
∂En
(4.4)=
訳?:[注目している層でのある重み ]による誤差関数の変化率は、誤差 (出力y-正解d)×[一つ前の層のある出力
z]
3. 中間層の重みで誤差関数を微分する
i
+1
+1
z2z1=x z3
中間層
l=2
j
k
u
j
z
j
wji
z
j
∂En
∂wji
(2)
zj
(2)
=f(uj
(2)
)=f(∑i
wji
(2)
zi
(1)
)
中間層の出力(再掲)
を求めたい。
wji
は上記uj
(2)
に含まれるので
∂En
∂wji
(2)
∂En
∂uj
(2)
∂uj
(2)
∂wji
(2)
=
後ろから順にたどって
∑k
連鎖規則による変形
i
+1
+1
z2z1=x z3
中間層
l=2
j
k
u
j
z
j
wji
z
j
zj
(2)
=f(uj
(2)
)=f(∑i
wji
(2)
zi
(1)
)
uj
(2)
=∑i
wji
(2)
zi
(1) 
よりwji
(2)
が掛かった項だ
け
          が生き残って
∂En
∂wji
(2)
∂En
∂uj
(2)
∂uj
(2)
∂wji
(2)
=
= zi
(1)
∂uj
(2)
∂wji
(2)
∑k
出力層
∂En
∂wji
(2)
∂En
∂uj
(2)
∂uj
(2)
∂wji
(2)
=
∂En
∂uj
(2)
+1
+1
z2z1=x z3
j k
z
j
wji
(2)
l=3
u
k
z
k
yk
u
j
z
j
i
∂Enはyk
の関数。
yk
はzk
=uk
の関数。
uk
はzj
の、zj
はuj
の関数なので、
=
∂En
∂uk
(3)
∂uk
(3)
∂uj
(2)
uk
(3)
- dk  (前掲の偏微分の計算)
∑k
∂En
∂uj
(2)
=
∂En
∂uk
(3)
∂uk
(3)
∂uj
(2)
∂uk
(3)
∂uj
(2)
=
出力層
+1
z2z1=x z3
j k
z
j
wji
(2)
l=3
u
k
z
k
yk
u
j
z
j
i
∑j
wkj
(3)
f(uj
(2)
)
∂uj
(2)
ujが含まれる項だけ生き残って
wkj
(3)
f’(uj
(2)
)= 以上より
∂En
∂uj
(2)
=
∂En
∂uk
(3)
∂uk
(3)
∂uj
(2)
= wkj
(3)
f’(uj
(2)
)uk
(3)
- dk
(uk
(3)
- dk
))wkj
(3)
∂En
∂wji
(2)
∂En
∂uj
(2)
∂uj
(2)
∂wji
(2)
=
求めたかったのは中間層での微分
=
wkj
(3)
f’(uj
(2)
)uk
(3)
- dk
zi
(1)
∑k
∑k
出力層
+1
z2z1=x z3
j k
z
j
wji
(2)
l=3
u
k
z
k
yk
u
j
z
j
i
=
zi
(1)
∑k= ( f’(uj
(2)
)
(4.5)
この項はkに関係ないので、Σの外に出せ
る
(uk
(3)
- dk
))wkj
(3)
∂En
∂wji
(2)
∂En
∂uj
(2)
∂uj
(2)
∂wji
(2)
=
何が嬉しいのかというと、
=
∑k
出力層
+1
z2z1=x z3
j k
z
j
wji
(2)
l=3
u
k
z
k
yk
u
j
z
j
i
zi
(1)
∑k= ( f’(uj
(2)
)
(4.5)
(2)層の入力
順伝播で既知
(3)層の重み
逆伝播で得る
(3)層の入力
順伝播で既知
正解データ
既知
(1)層の出力
順伝播で既知
後ろの層の重みを定めてしまえば、あとは既知の値で計算可能
…!
(順伝播時の計算結果を保存しておく)
第3層と第2層での微分が計算できた
次はこれを第l層に拡張する
これにより、ネットワーク内のいかなる場所での微分も計算できるようになる
参考
機械学習プロフェッショナルシリーズ『深層学習』
岡谷貴之
講談社
http://www.kspub.co.jp/book/detail/1529021.html

Mais conteúdo relacionado

Mais procurados

PoisoningAttackSVM (ICMLreading2012)
PoisoningAttackSVM (ICMLreading2012)PoisoningAttackSVM (ICMLreading2012)
PoisoningAttackSVM (ICMLreading2012)
Hidekazu Oiwa
 
パターン認識 05 ロジスティック回帰
パターン認識 05 ロジスティック回帰パターン認識 05 ロジスティック回帰
パターン認識 05 ロジスティック回帰
sleipnir002
 

Mais procurados (20)

PRML Chapter 14
PRML Chapter 14PRML Chapter 14
PRML Chapter 14
 
第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知
 
FOBOS
FOBOSFOBOS
FOBOS
 
PRML Chapter5.2
PRML Chapter5.2PRML Chapter5.2
PRML Chapter5.2
 
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...
 
03_深層学習
03_深層学習03_深層学習
03_深層学習
 
第4回MachineLearningのための数学塾資料(浅川)
第4回MachineLearningのための数学塾資料(浅川)第4回MachineLearningのための数学塾資料(浅川)
第4回MachineLearningのための数学塾資料(浅川)
 
クラシックな機械学習の入門  5. サポートベクターマシン
クラシックな機械学習の入門  5. サポートベクターマシンクラシックな機械学習の入門  5. サポートベクターマシン
クラシックな機械学習の入門  5. サポートベクターマシン
 
20150803.山口大学集中講義
20150803.山口大学集中講義20150803.山口大学集中講義
20150803.山口大学集中講義
 
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)
 
サポートベクトルマシン入門
サポートベクトルマシン入門サポートベクトルマシン入門
サポートベクトルマシン入門
 
2値分類・多クラス分類
2値分類・多クラス分類2値分類・多クラス分類
2値分類・多クラス分類
 
PRML Chapter 5
PRML Chapter 5PRML Chapter 5
PRML Chapter 5
 
PoisoningAttackSVM (ICMLreading2012)
PoisoningAttackSVM (ICMLreading2012)PoisoningAttackSVM (ICMLreading2012)
PoisoningAttackSVM (ICMLreading2012)
 
[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)
 
Re revenge chap03-1
Re revenge chap03-1Re revenge chap03-1
Re revenge chap03-1
 
Deep Learning を実装する
Deep Learning を実装するDeep Learning を実装する
Deep Learning を実装する
 
パターン認識 05 ロジスティック回帰
パターン認識 05 ロジスティック回帰パターン認識 05 ロジスティック回帰
パターン認識 05 ロジスティック回帰
 
Infinite SVM [改] - ICML 2011 読み会
Infinite SVM [改] - ICML 2011 読み会Infinite SVM [改] - ICML 2011 読み会
Infinite SVM [改] - ICML 2011 読み会
 
深層学習 Day1レポート
深層学習 Day1レポート深層学習 Day1レポート
深層学習 Day1レポート
 

Semelhante a 誤差逆伝播法の計算(ディープラーニング)

Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011final
Mikio Kubo
 

Semelhante a 誤差逆伝播法の計算(ディープラーニング) (20)

CG2013 02
CG2013 02CG2013 02
CG2013 02
 
ラビットチャレンジレポート 深層学習 Day1
ラビットチャレンジレポート 深層学習 Day1ラビットチャレンジレポート 深層学習 Day1
ラビットチャレンジレポート 深層学習 Day1
 
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
 
レポート1
レポート1レポート1
レポート1
 
高1から始める人工知能(AI)
高1から始める人工知能(AI)高1から始める人工知能(AI)
高1から始める人工知能(AI)
 
深層学習①
深層学習①深層学習①
深層学習①
 
Cnn binary classification_model
Cnn binary classification_modelCnn binary classification_model
Cnn binary classification_model
 
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
 
深層学習レポート Day1 (小川成)
深層学習レポート Day1 (小川成)深層学習レポート Day1 (小川成)
深層学習レポート Day1 (小川成)
 
ディープニューラルネット入門
ディープニューラルネット入門ディープニューラルネット入門
ディープニューラルネット入門
 
ラビットチャレンジレポート 深層学習Day1
ラビットチャレンジレポート 深層学習Day1ラビットチャレンジレポート 深層学習Day1
ラビットチャレンジレポート 深層学習Day1
 
【Unity道場 2月】シェーダを書けるプログラマになろう
【Unity道場 2月】シェーダを書けるプログラマになろう【Unity道場 2月】シェーダを書けるプログラマになろう
【Unity道場 2月】シェーダを書けるプログラマになろう
 
1次式とノルムで構成された最適化問題とその双対問題
1次式とノルムで構成された最適化問題とその双対問題1次式とノルムで構成された最適化問題とその双対問題
1次式とノルムで構成された最適化問題とその双対問題
 
Building High-level Features Using Large Scale Unsupervised Learning
Building High-level Features Using Large Scale Unsupervised LearningBuilding High-level Features Using Large Scale Unsupervised Learning
Building High-level Features Using Large Scale Unsupervised Learning
 
2020/07/04 BSP-Net (CVPR2020)
2020/07/04 BSP-Net (CVPR2020)2020/07/04 BSP-Net (CVPR2020)
2020/07/04 BSP-Net (CVPR2020)
 
C# でニューラルネットワークをスクラッチで書いて機械学習の原理を理解しよう
C# でニューラルネットワークをスクラッチで書いて機械学習の原理を理解しようC# でニューラルネットワークをスクラッチで書いて機械学習の原理を理解しよう
C# でニューラルネットワークをスクラッチで書いて機械学習の原理を理解しよう
 
PRML 1.5-1.5.5 決定理論
PRML 1.5-1.5.5 決定理論PRML 1.5-1.5.5 決定理論
PRML 1.5-1.5.5 決定理論
 
Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011final
 
PRML_from5.1to5.3.1
PRML_from5.1to5.3.1PRML_from5.1to5.3.1
PRML_from5.1to5.3.1
 
Gurobi python
Gurobi pythonGurobi python
Gurobi python
 

誤差逆伝播法の計算(ディープラーニング)