【deeplearning.ai笔记第二课】2.3 学习率衰减(learning rate decay),局部极小值和鞍点

来源:互联网 发布:线稿 知乎 编辑:程序博客网 时间:2024/06/06 04:00

1. 学习率衰减(learning rate decay)

 在训练模型的时候,通常会遇到这种情况:我们平衡模型的训练速度和损失(loss)后选择了相对合适的学习率(learning rate),但是训练集的损失下降到一定的程度后就不在下降了,比如training loss一直在0.7和0.9之间来回震荡,不能进一步下降。如下图所示:

这里写图片描述

遇到这种情况通常可以通过适当降低学习率(learning rate)来实现。但是,降低学习率又会延长训练所需的时间。学习率衰减(learning rate decay)就是一种可以平衡这两者之间矛盾的解决方案。学习率衰减的基本思想是:学习率随着训练的进行逐渐衰减。

1.1 衰减方法

  • 指数衰减
decayed_learning_rate = learning_rate *  (decay_rate ^ num_epoch)
  • 逆时间衰减
decayed_learning_rate = learning_rate / (1 + decay_rate * t)
  • 离散阶梯衰减

    e.g: 学习率在0.5保持不变10000 steps,然后变为0.1保持不变10000 steps,再变为0.05保持不变10000 steps


2 局部最小值和鞍点

对于很多高维非凸函数而言,局部极小值(以及极大值)事实上都远少于另一类梯度为零的点:鞍点。鞍点附近的某些点比鞍点有更大的代价,而其他点则有更小的代价。
这里写图片描述

鞍点激增对于训练算法来说有哪些影响呢?对于只使用梯度信息的一阶优化算法而言,目前情况还不清楚。鞍点附近的梯度通常会非常小。另一方面,实验中梯度下降似乎可以在许多情况下逃离鞍点.。大多数训练时间花费在横穿代价函数中相对平坦的峡谷.

这里写图片描述

Reference
https://github.com/exacity/deeplearningbook-chinese

阅读全文
0 0