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=θiLθ=θ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+11i=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=α(σit1)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的地方卡住,无法继续训练;

Logo

「智能机器人开发者大赛」官方平台,致力于为开发者和参赛选手提供赛事技术指导、行业标准解读及团队实战案例解析;聚焦智能机器人开发全栈技术闭环,助力开发者攻克技术瓶颈,促进软硬件集成、场景应用及商业化落地的深度研讨。 加入智能机器人开发者社区iRobot Developer,与全球极客并肩突破技术边界,定义机器人开发的未来范式!

更多推荐