赛博空间7号

The greatest enemy of knowledge is not ignorance, it is the illusion of knowledge.--Stephen William Hawking

梯度下降优化算法

在前一篇介绍梯度下降的文章中,介绍了梯度下降的三种方法和实现。但是它们有一些挑战:

  1. 选择合适的学习率可能很困难。学习率太小会导致收敛缓慢,而学习率过大会妨碍收敛并导致损失函数在最小值附近波动甚至发散。

  2. 学习率表(Learning rate schedules)尝试通过退火调整训练期间的学习率。即根据预定的时间表或当迭代时的目标变化低于阈值时降低学习速率。但是,这些时间表和阈值必须提前定义,因此无法适应数据集的特征。

  3. 此外,相同的学习率适用于所有参数更新。如果我们的数据稀疏且我们的特征具有非常不同的频率,我们可能不希望更新它们到同一个范围,而是对很少发生的特征执行更大的更新。

  4. 对于神经网络来说,最小化常见的高度非凸误差函数的另一个关键挑战是避免陷入其众多次优的局部最小值。 Dauphinet al认为困难实际上不是来自局部最小值,而是来自鞍点,即。一维向上倾斜而另一维向下倾斜的点。这些鞍点通常被相同误差的平坦区域所包围,这使得SGD从中逃脱变得非常困难,因为梯度在所有维度上都接近于零。


为了解决以上挑战,有很多优化算法被提出,我们主要介绍Monmentem、Nesterov accelerated gradient、Adagrad、
Adadelta、RMSprop、Adam、AdaMax、Nadam。

发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

© 版权所有:沈阳市和平区赛博空间咨询部|辽ICP备18005891号
Powered by Z-BlogPHP & Yiwuku.com