8. 8/41
局所二次近似
の周りで誤差関数を二次近似
1) ( ) (( )t t t+
= + Dww w
ヘッセ行列(対称行列)
T T1
ˆ ˆ ˆ ˆ( ) ( ) ( ) ( ) ( )
2
E E + - + - -w w w w b w w H w w!
ˆ( ) ( )EÑ + -w b H w w!
勾配の局所近似
ˆw
( )
ˆ
ij
i j
E
E
w w
=
¶
º
º Ñ
¶ ¶
w w
b
H
図 2.7
(これならわかる最適化数学)
9. 9/41
極小点で局所二次近似
極小点 の周りで誤差関数二次近似wÂ
T T1
( ) ( ) ( ) ( ) ( )
2
E E + - + - -w w w w b w w H w w   Â
!
i i il=Hu u
ヘッセ行列の固有方程式
T
i j ijd=u u
ヘッセ行列は対称行列であるから,固有ベクトルは完全正規直交系をなす
固有ベクトルの線形和に展開
i i
i
a- = åw w uÂ
{ }iu
10. 10/41
極小点で局所二次近似
極小点 の周りで誤差関数二次近似wÂ
T
T
T
T
2
1
( ) ( ) ( ) ( )
2
1
( )
2
1
( )
2
1
( )
2
1
( )
2
i i j j
i j
i i j j
i j
i i j j j
i j
i i
i
E E
E
E
E
E
a a
a a
a a l
la
+ - -
æ öæ ö
= + ç ÷ç ÷
è ø è ø
æ ö
= + ç ÷
è ø
æ ö
= + ç ÷
è ø
= +
å å
å å
å å
å
w w w w H w w
w u H u
w u Hu
w u u
w
  Â
Â
Â
Â
Â
!
座標変換
p 原点を極小値に平行移動
p 各軸を固有ベクトルに合わせ回転
・・・(5.36)
( )T
= -α U w wÂ
T 2 2
1 1 n nla l aL = + +α α !
11. 11/41
正定値
行列 H は正定値
p すべての に対して
p すべての固有値が正
( )T 2
1
T T
i
i
i
n
c
l
l
l
æ ö
ç ÷
= = =ç ÷
ç ÷
è ø
åv Hv Uc HUc c c!
¹v 0 T
0>v Hv
二次形式(係数行列 H)
正規直交系をなす固有ベクトル
{ }1 ,, nu u!
任意のベクトル v
i i
i
c= = åv Uc u
( )1 n=U u u!
直交行列
14. 14/41
二次近似の独立要素数
ネットワーク中の適応パラメータの総数
(パラメータ w の次元)
( 3)
2
W W +
W
T T1
ˆ ˆ ˆ ˆ( ) ( ) ( ) ( ) ( )
2
E E + - + - -w w w w b w w H w w!
独立な要素数
2
2
W W
W
-
+
ある点での誤差関数の二次近似
W
2
( )O W
Ex. 5.13
a
b
c
æ ö
ç ÷
ç ÷
ç ÷
è ø
! "
! #
" #
W
W
20. 20/41
オンライン手法とバッチ手法
2
1 1
ˆ( ) ( ) 2 ( )
2 ( )
N N
n n
n n
E E E
E
= =
= =
=
å åw w w
w
オンライン手法の利点
1. データの冗長度を効率的に扱える.
2. 極小値を回避できる可能性がある.
例:データ点を複製し,サイズを倍に.
バッチ手法
同じ結果(計算量2倍になっただけ)
オンライン手法
同じ結果にはならない
…誤差関数
バッチ
オンライン
ミニバッチ
Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization (deeplearning.ai)
Week 2, Understanding mini-batch gradient descent
[https://www.coursera.org]
25. 25/41
誤差関数
誤差関数:各データに対応する誤差の和
1 2
1
( ) ( ) ( ) ( ) ( )
N
N n
n
E E E E E
=
= + + + = åw w w w w!
21
( )
2
n nk nk
k
E y t= -å
入力データ xn に対する誤差関数
オンライン手法 → そのまま使う
バッチ手法 → すべてのデータ点に対する勾配の和を取る
( , )nk k ny y= x w
の評価を考える.nEÑ
入力データ xn に対する予測値の第k要素
1) ( ) ( ) ( ) ( )
1 2
(
( ( ) ( ) ( ))NE E Et t t t t
h+
= - Ñ + Ñ + + Ñw w ww w!
1) ( ) )( (
( )nEt t t
h+
= - Ñ ww w
26. 26/41
誤差関数の勾配(シンプルなモデル)
1x
Nx
ix
Ky
jy
1y
jiw
1iw
Kiw
k ki i
i
y w x= å
2
2 21 1 1
( ) ( ( , ) )
2 2 2
n nk nk k n nk ki i nk
k k k i
E y t y t w x t
æ öé ù
= - = - = -ç ÷ê ú
ë ûè ø
å å å åx w
誤差関数
勾配
( )n
nj nj ni
ji
E
y t x
w
¶
= -
¶ 誤差信号と入力の積
Kt
jt
1t
誤差信号
入力
出力は入力の線形和
29. 29/41
誤差逆伝播 1/3
n
j
j
E
a
d
¶
º
¶
jn n
j i
ji j ji
aE E
z
w a w
d
¶¶ ¶
= =
¶ ¶ ¶
j
i
ji
a
z
w
¶
=
¶
重みに関する微分(偏微分の連鎖法則)
誤差
j ji i
i
a w z= å重み wji に関する微分 = 誤差 x 入力側のユニットの値
出力活性化関数が
正準連結関数なら
メモ
n
k
k ky t
E
a
¶
= = -
¶
( )j jz h a=
30. 30/41
誤差逆伝播 2/3
n n k
j
kj k j
E E a
a a a
d
¶ ¶ ¶
º =
¶ ¶ ¶
å
誤差
aj を変えると akを通して
En がどう変化するか
1
1
k
j k j
n n n
j
E E E
a
aa
a a a a
¶ ¶ ¶ ¶
= +
¶ ¶ ¶
+
¶
¶ ¶
!
連鎖法則
( )j j
z h a=
出力ユニットの入力からの影響の総和
1
1
n
j
a
a
E
a
¶ ¶
¶ ¶
k
k
n
j
a
a
E
a
¶ ¶
¶ ¶
aj を変えると a1を通して
En がどう変化するか
31. 31/41
誤差逆伝播 3/3
逆伝播公式
n
j
j
E
a
d
¶
º
¶
( ) k
k
kj j jh a wd d¢= å
( )
( )
( )
n
j
j
n k
k k j
k ki i
k ij
k ki i
k ij
k kj j
k j
k kj j
k
E
a
E a
a a
w z
a
w h a
a
w h a
a
w h a
d
d
d
d
d
¶
º
¶
¶ ¶
=
¶ ¶
æ ö¶
= ç ÷ç ÷¶è ø
æ ö¶
= ç ÷ç ÷¶è ø
æ ö¶
= ç ÷ç ÷¶è ø
¢=
å
å å
å å
å
å
j ji i
i
a w z= å
( )j j
z h a=
…(5.56)
…(5.56)
…(5.49)
…(5.48)
…(5.51)
上流のユニットからの誤差
36. 36/41
簡単な例
隠れユニットの活性化関数
( ) tanh( )
a a
a a
h a a
e e
e e
-
-
º
-
=
+
出力ユニットの活性化関数
k ky a=
2
( ) 1 ( )h a h a¢ = -
2
1
1
( )
2
K
n k k
k
E y t
=
= -å
二乗和誤差関数
37. 37/41
順伝播と逆伝播
(1)
0
(2)
0
tanh( )
D
j ji i
i
j j
M
k kj j
j
a w x
z a
y w z
=
=
=
=
=
å
å
逆伝播
(1)
n
j i
ji
E
x
w
d
¶
=
¶
(2)
n
k j
kj
E
z
w
d
¶
=
¶
順伝播
k k ky td = -
2
1
(1 )
K
j j kj k
k
z wd d
=
= - å
第1層との重みに関する微分
第2層との重みに関する微分
40. 40/41
逆伝播の代わり
前進差分
中心差分
( ) ( )
( )
n ji n jin
ji
E w E wE
O
w
+ -¶
= +
¶
Ú
Ú
Ú
2
( ) ( )
( )
2
n ji n jin
ji
E w E wE
O
w
+ - -¶
= +
¶
Ú Ú
Ú
Ú
→ 数値微分は,誤差逆伝播が正しく実装されているかのチェックに使う.
( )O W順伝播
回繰り返しW
数値微分
計算量
2
( )O W
誤差逆伝播
計算量 ( )O W
vs.
前進差分 中⼼差分
精度△ 精度◎
倍の計算