李宏毅机器学习(六) 神经网络训练技巧(2)
神经网络训练技巧(2)
Loss不降的原因
问题
Q:为什么Loss降到一定程度后不再下降,是因为参数到了critical point 或者 saddle point吗?

A:不一定是参数参数到了critical point 或者 saddle point,也有可能是梯度发生了震荡。

如图所示,300-500轮时,Loss基本无变化,但是梯度会有陡增陡降的情况,这可能是梯度发生了震荡。

如图所示,参数在error surface上发生了震荡现象,梯度激烈变化,但是loss居高不下,始终无法走到更低的地方。
就算没有遇到critical point,训练也不容易。
实例
例如下面这个问题,有两个参数 \(w\) 和 \(b\) ,\(w\) 对应的梯度相对陡峭一点, \(b\) 对应的梯度相对平坦一点,loss最小的地方在黄色X处,直观感受很容易训练,让我们试一试。

将学习率设为\(10^{-2}\)进行训练,收敛过程如下图所示。

发生了震荡现象,Loss无法收敛,直观感受是学习率设置的太大了,那我们设置小一点试试。

学习率降低为\(10^{-7}\)时,终于不在产生震荡现象,但在经过100000次训练后,前进的距离很小,太小的复杂度导致很难训练。\(10^{-7}\)的学习率适合 \(w\) ,但不适合 \(b\)。
分析
单一的学习率不能应对所有的参数训练,应该对每个参数定制对应的学习率。

如图所示,不同的参数的error surface的变化情况不同,也就需要不同的学习率,所以要对的每个参数每个时刻都定制一个学习率。
改进思路:对每一个参数的每一轮更新,我们将其学习率都除以一个超参数\(\sigma_i^t\),每一个参数的每一个轮计算所使用的超参数\(\sigma_i^t\)都是不一样的。

Root Mean Square
RMS的超参数\(\sigma_i^t\)是所有梯度的均方根,计算过程如下。


如上图所示,\(\sigma\)能够很好的适应不同的梯度,在error surface平缓的时候,\(\sigma\)很小,使得参数更新的步伐很大。在error surface陡峭的时候,\(\sigma\)很大,使得参数更新的步伐很小,这种策略运用于Adagrad中。
-
优点:考虑了历史的梯度情况,可以根据当前的梯度情况对学习率做出调整。
-
缺点:\(\sigma\)来自于历史所有的梯度的均方根,所以梯度变化时,\(\sigma\)不能很快的变化,使得参数更新的学习率不能及时得到调整。
RMSProp
基于RMS考虑历史梯度的思想,RMSProp在RMS的基础上进行了调整,增加了用于调节历史梯度和当前梯度的权重\(\alpha\) ,使得RMSProp方法能够根据梯度的变化迅速调整学习率。
其中\(\sigma\) 来自于历史的 \(\sigma^{2}\)和当前梯度\(g\)的加权和的根,\(\alpha\) 用于调节两者之间的比例,相比与RMS,最近的梯度可以对学习率产生更大的影响。

Adam
Adam方法结合了RMSProp和Momentum。
-
RMSProp:主要控制参数的更新速率(学习率)
-
Momentum:控制参数更新的方向。

Learning Rate Scheduling
通过使用自适应的学习率后,相比于固定的大的学习率和小的学习率,能顺利完成训练,但是在快要抵达最优点时,蚕食更新方向出现了偏移,这是因为学习率很大,参数\(w\)方向的梯度出现了累积,累积到一定程度改变了参数的更新方向。

为了避免上述现象,我们需要为学习率指定策略,之前我们的改变方法都是将学习率 \(\eta\) 除以一个值,\(\eta\) 自身的取值不变,这就避免了上述情况。
直观方法:模型刚开始时,误差很大,所以需要大的学习率,随着时间变化,模型误差逐渐减小,学习率也应逐渐减小。

所以使用变化的\(\eta\),最开始选用较大的值,随着时间变化,\(\eta\) 越来越小,最终趋近于一个极小值,使用这样的策略,可以避免训练快结束时方向大幅度偏离。
学习率策略一般有两种:Learning Rate Decay 和 Warm Up.

Warm Up: 最开始时,学习率由小到大增长,增长到一定程度便随着时间减小。
Warm Up 直观解释:因用于调节学习率的 $\sigma $ 由历史梯度得到,最开始时$\sigma $ 由少量历史梯度计算得到,不够稳定,若给以较大的\(\eta\) ,则导致学习过程易产生较大的偏差,所以最开始时慢慢提升学习率。
总结

可在传统的梯度更新策略基础上做出如下改变
-
Learning rate scheduling:设置学习率变化策略。
-
Momentum:考虑参数更新的方向。
-
Root Mean Square:考率历史梯度,并对当前参数更新幅度做出调整。

浙公网安备 33010602011771号