文章目录
1、超参数调整
1.1 参数选取的流程
\qquad
深度学习中涉及到诸多参数,如学习率
α
\alpha
α,gradient with momentum参数
β
\beta
β,Adam参数
β
1
,
β
2
,
ε
\beta_1, \beta_2, \varepsilon
β1,β2,ε,神经网络的层数
l
a
y
e
r
s
layers
layers,隐藏层的神经元个数
h
i
d
d
e
n
u
n
i
t
s
hidden\ units
hidden units,learning rete decay,mini-batch size,等。
\qquad
在这些参数中,最重要的参数是学习率
α
\alpha
α;次要重要的参数是gradient with momentum参数
β
\beta
β,隐藏层的神经元个数
h
i
d
d
e
n
u
n
i
t
s
hidden\ units
hidden units和mini-batch size;第三重要的参数是神经网络的层数
l
a
y
e
r
s
layers
layers和learning rete decay;Adam参数
β
1
,
β
2
,
ε
\beta_1, \beta_2, \varepsilon
β1,β2,ε一般不作为超参数进行调整。
\qquad
再进行参数调整时,尽量选取参数的随机组合,不要使用grid 选取参数组合,因为grid sample会使得参数选择的范围减小,从而降低参数选取到合适参数的概率。
\qquad
当第一次尝试完所有的模型之后,选定最优参数及其周围的参数点,缩小参数搜索范围,再一次在小范围之内进行参数的选取并测试,这个过程称为coarse to fine search.
1.2 参数选取的范围
\qquad
在随机选择参数时,有时候采用均匀分布随机数进行随机选取是合适的,如选取隐藏神经元的个数/隐藏层的个数,等;但在选取学习率的时候,直接采用均匀分布选取某个范围,e.g.,
α
∈
[
0.0001
,
1
]
\alpha \in [0.0001,1]
α∈[0.0001,1] ,之间的随机数时不合适的,因为大多数随机数将落在0.1-1之间。为了选取范围的公平性和广度,令
a
=
−
4
,
b
=
0
a=-4, b=0
a=−4,b=0,随机选取
r
∈
[
a
,
b
]
r \in [a,b]
r∈[a,b],令
α
=
1
0
r
\alpha = 10^r
α=10r,则可以均匀选取到整个区间上的数。
\qquad
在进行参数
β
\beta
β的选取时,因为
β
∈
[
0.9
,
0.999
]
\beta \in [0.9,0.999]
β∈[0.9,0.999],所以在随机选取时需要做以下调整:
2、批量正则化
2.1 激活函数的正则化
\qquad
正则化可以加速梯度下降算法收敛的速度,从而缩短整体的训练时间。在神经网络每一层神经元的输出
Z
Z
Z输入到激活函数之前,首先对
Z
Z
Z进行归一化处理。归一化处理
Z
Z
Z的方式如下所示:
\qquad
其中,
z
~
(
i
)
=
γ
z
i
n
o
r
m
+
β
\tilde{z}^{(i)}=\gamma z_i^{norm}+\beta
z~(i)=γzinorm+β,其中,
γ
\gamma
γ和
β
\beta
β是超参数,可以通过训练来进行调整。
2.2 在神经网络中使用批正则化
\qquad
在整个神经网络之中使用batch norm的过程如下所示:
\qquad
相对于之前的训练,使用了batch norm之后的网络增加了两套新的超参数
β
\beta
β和
γ
\gamma
γ来调整正则化的程度,其中,这两个参数的维度为:
(
n
[
l
]
,
1
)
(n^{[l]},1)
(n[l],1)。batch norm通常和mini-batch共同使用。同时注意到,通过
Z
~
\tilde{Z}
Z~的计算方式可知,在计算完毕之后的
Z
~
\tilde{Z}
Z~中不会含有参数
b
b
b,所以,在进行batch norm训练时,可以将
b
b
b的值固定为0,因为它不会影响训练效果。batch norm训练的流程如下所示:
2.3 batch norm起作用的原因分析
\qquad
betch norm可以减少每层神经网络输入值对后续训练结果的影响,使得每层神经元的输入变得更加稳定,从而使得每层神经元相对独立地进行学习,从而加速学习的速率。
\qquad
由于batch norm会给
z
[
l
]
z^{[l]}
z[l]的值增加一些噪声,所以和dropout类似,batch norm可以产生比较微弱的regularization效果,但batch norm不能作为一种regularization方法。
3、构建softmax 多元分类器
\qquad softmax regression 将logistic regression由二元分类泛化到了多元分类。
3.1 loss function 和 cost function
\qquad
softmax多元分类的损失函数如下所示:
L
(
y
^
,
y
)
=
−
∑
j
=
1
n
y
i
l
o
g
y
^
i
L(\hat{y},y)=-\sum_{j=1}^ny_i log \hat{y}_i
L(y^,y)=−j=1∑nyilogy^i
\qquad
cost function如下所示:
J
(
w
[
1
]
,
b
[
1
]
,
.
.
.
)
=
1
m
∑
i
=
1
m
L
(
y
^
(
i
)
,
y
(
i
)
)
J(w^{[1]},b^{[1]},...)=\frac{1}{m}\sum_{i=1}^m L(\hat{y}^{(i)},y^{(i)})
J(w[1],b[1],...)=m1i=1∑mL(y^(i),y(i))