深度学习(五):神经网络训练不起来怎么办
梯度很小的时候
无法判断是
l
o
c
a
l
m
i
n
i
m
a
local\ minima
local minima还是
s
a
d
d
l
e
p
o
i
n
t
saddle\ point
saddle point,以下是判断的一个方法的数学推导
T
a
y
l
e
r
S
e
r
i
e
s
A
p
p
r
o
x
i
m
a
t
i
o
n
Tayler\ Series\ Approximation
Tayler Series Approximation:
首先,
L
(
θ
)
≈
L
(
θ
′
)
+
(
θ
−
θ
′
)
T
g
+
1
2
(
θ
−
θ
′
)
T
H
(
θ
−
θ
′
)
\mathbf {L(\theta) \approx L(\theta^{'})+(\theta-\theta^{'})^T {\color {green}g}+\frac {1}{2}(\theta-{\color {green}\theta^{'}})^T{\color{red}H}(\theta-{\color {green}\theta^{'}})}
L(θ)≈L(θ′)+(θ−θ′)Tg+21(θ−θ′)TH(θ−θ′),其中,
G
r
a
d
i
e
n
t
g
\mathbf {Gradient}\ {\color {green}g}
Gradient g可以用如下的向量表示:
g
=
∇
L
(
θ
′
)
g
i
=
∂
L
(
θ
)
∂
θ
i
{\color {green}g}=\nabla L(\theta^{'})\qquad \qquad\qquad \qquad {\color {green}g}_{i}=\frac{\partial L(\theta)}{\partial \theta_{i}}
g=∇L(θ′)gi=∂θi∂L(θ)
H
H
H是
H
e
s
s
i
a
n
Hessian
Hessian矩阵,可以表示为如下形式:
H
i
j
=
∂
2
∂
θ
i
∂
θ
j
L
(
θ
′
)
\mathbf {H_{ij}=\frac{\partial^2}{\partial \theta_{i}\partial \theta_j}L(\theta^{'})}
Hij=∂θi∂θj∂2L(θ′)
下图是公式的推导具体过程,通过下图对
H
e
s
s
i
a
n
Hessian
Hessian矩阵的特征值的大小的判断可以判断出是
l
o
c
a
l
m
i
n
i
m
a
local\ minima
local minima还是
s
a
d
d
l
e
p
o
i
n
t
saddle\ point
saddle point
下面是对
G
r
a
d
i
e
n
t
\mathbf {Gradient}
Gradient的图的直观表示方法:
b a t c h \mathbf {batch} batch和 m o m e n t u m \rm {\mathbf {momentum}} momentum的训练小技巧
接下来要介绍下深度学习中关于 b a t c h \mathbf {batch} batch和 m o m e n t u m \rm {\mathbf {momentum}} momentum的相关基础姿势的简单介绍。敬请期待~