文章目录
- Task2-1:《深度学习详解》- 3.3&4&5 自适应学习率(9页+38分钟)
- Task2.2:《深度学习详解》- 3.6 分类(4页+19分钟)
Task2-1:《深度学习详解》- 3.3&4&5 自适应学习率(9页+38分钟)
Part01:视频笔记
训练技巧:自适应学习率(Adaptive learning rate):
通常人们认为训练卡住了是因为参数更新到一个临界值,梯度太小不更新了;
即使没有临界点(critical point),神经网络的训练也十分困难
- Error surface 是一个凸函数(convex)
调整到较小的学习率:或许可以解决临界点的问题,但较小的学习率会导致训练无法逼近最终结果;
学习率应该为每一个参数特质化:
原来的参数更新公式
θ
i
t
+
1
←
θ
i
t
−
η
g
i
t
\theta_i^{t+1} \leftarrow \theta_i^t - \eta g_i^t
θit+1←θit−ηgit
以及
g
i
t
=
∂
L
∂
θ
i
∣
θ
=
θ
t
g_i^t = \frac{\partial L}{\partial \theta_i}|_{\theta=\theta^t}
git=∂θi∂L∣θ=θt
自适应学习率后:
θ
i
t
+
1
←
θ
i
t
−
η
σ
i
t
g
i
t
\theta_i^{t+1} \leftarrow \theta_i^t - \frac{\eta}{\sigma_i^t} g_i^t
θit+1←θit−σitηgit
σ
i
t
\sigma_i^t
σit不仅是取决于某个参数,还和iteration相关;
Root Mean Square(均方根): σ i t = 1 t + 1 ∑ i = 0 t ( g i t ) 2 \sigma_i^t=\sqrt{\frac{1}{t+1}\sum_{i=0}^t(g_i^t)^2} σit=t+11∑i=0t(git)2 (Adagrad)
梯度较大时,计算出 η \eta η值较小;梯度较小时,计算出 η \eta η较大;
动态调整学习率(RMSProp): σ i t = α ( σ i t − 1 ) 2 + ( 1 − α ) ( g i t ) 2 \sigma_i^t =\sqrt{\alpha(\sigma_i^{t-1})^2+(1-\alpha)(g_i^t)^2} σit=α(σit−1)2+(1−α)(git)2 ( 0 < α < 1 0<\alpha<1 0<α<1)
近的梯度相较于远的梯度有着更大的影响;
Learning Rate Scheduling:(让学习率与时间相关)
Learning rate decay:随着训练的进行,减小学习率;
Warm Up:先变大,后变小(超参数设置);
Task2.2:《深度学习详解》- 3.6 分类(4页+19分钟)
分类(Classification):
回归(Regression):
先把label的class变成数字:如class1对应数字“1”,class2对应数字“2”……
将每一个class用one-hot vector(独热向量)来进行表示:解决了某些class关系密切(在树值上),而另一些关系疏远;
Softmax(归一化指数函数)函数:将 y ^ \hat{y} y^中的数值归一化到0,1之间;
y
i
′
=
e
x
p
(
y
i
)
∑
j
e
x
p
(
y
i
)
y_i'=\frac{exp(y_i)}{\sum_j exp(y_i)}
yi′=∑jexp(yi)exp(yi)
Softmax函数的输入是:Logit
Cross-entropy: e = − ∑ i y i ^ l n y i ′ e=-\sum_i \hat{y_i}lny_i' e=−∑iyi^lnyi′:
最小化交叉熵(MInimizing cross-entropy)等价于最大化可能性(maximizing likelihood);
MSE会在large loss的地方卡住,无法继续训练;