首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >学习率术语,什么是“降低”学习率?

学习率术语,什么是“降低”学习率?
EN

Data Science用户
提问于 2022-04-05 18:01:14
回答 1查看 71关注 0票数 0

我正在调查一个损失平台和克服它的各种技术,这使我看到了这一页和声明:

一旦学习停滞,模型通常会从将学习率降低2-10倍中获益。这个回调监视一个数量,如果没有看到一个“耐心”时代的改善,学习率就会降低。

https://www.tensorflow.org/api_docs/python/tf/keras/callbacks/ReduceLROnPlateau

我对这个术语感到困惑。如果我的学习率是0.001,那么我是将学习率降低到0.001,还是降低到0.0001?一开始我会从0.001 > 0.0001开始考虑后者,但是当一个模型达到一个平台时,将学习率改变成一个更小的值是没有意义的,因为你最终会对你的模型做比以前更小的改变,使情况变得更糟。

EN

回答 1

Data Science用户

发布于 2022-04-05 19:34:53

在每次更新模型参数时,学习速率(按比例)决定了优化所采用的参数中的步长。因此,较小的(或“慢”的)学习速率意味着,您向期望的最佳方向迈出较小的一步(这是损失函数衰减最强的方向)。更高的学习速度意味着您采取更大的步骤,因此您学习更快,假设您的成本函数是明确的,您的优化器前进到正确的方向。

尽管如此,正如你在你的帖子中所观察到的那样,无论是增加还是降低学习率,并不一定意味着学习会更快/更慢或更好/更糟,因为在杂乱无章、嘈杂的损失函数(许多损失函数是这样的)中,许多局部最优函数、平台函数等,改变学习速率可能会产生不同的效果。

这部分我不完全确定,理论上,当你接近一个局部最优且你的学习率太大时,你的优化器会在实际最小值的两边跳跃,实际上永远不会达到实际的最小值,因为它所采取的步骤太大了。这在视觉上造成了锯齿状的图案.因此,这里的想法是假设,一旦你看到损失函数的平稳,有一点上下移动,在这种情况下,降低学习率可能会更有利,因为这样它就能接近它在其他情况下跳过的最小值。不过,这可能不是唯一的原因。

总之,这就是为什么学习速率是一个超参数,需要在一个范围内进行扫描并进行彻底的调整,以便找到一个适合您的成本函数的好值。我推荐古德费罗对此进行深入学习的书。他们说,如果你有很多超参数,但只有资源可以调优,那么在大多数情况下,你应该优先考虑学习速度;这就是超参数的重要性。

票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/109703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档