- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图理解 keras 中 ReduceLROnPlateau()
函数的用途。
我了解到,当验证损失没有改善时,此功能有助于降低学习率。但这不会使网络无法走出局部最小值吗?如果网络在大约 5 个时期内保持在局部最小值,并且该函数进一步降低学习率,而增加学习率实际上会帮助网络摆脱这样的局部最小值,该怎么办?
换句话说,它如何理解它是否已达到局部最小值或稳定状态?
最佳答案
首先,这是 CS231n class 的一个很好的解释。为什么学习率衰减通常是合理的:
In training deep networks, it is usually helpful to anneal the learning rate over time. Good intuition to have in mind is that with a high learning rate, the system contains too much kinetic energy and the parameter vector bounces around chaotically, unable to settle down into deeper, but narrower parts of the loss function. Knowing when to decay the learning rate can be tricky: Decay it slowly and you’ll be wasting computation bouncing around chaotically with little improvement for a long time. But decay it too aggressively and the system will cool too quickly, unable to reach the best position it can.
关于你的问题,很遗憾,你无法知道。如果优化器遇到了深谷并且无法摆脱它,它只是希望这个山谷是好的并且值得以较小的学习率探索。目前,没有技术可以判断是否存在更好的山谷,即它是局部最小值还是全局最小值。因此,优化器会下注探索当前的情况,而不是跳得很远并重新开始。实践证明,没有一个局部最小值比其他最小值差很多,这就是为什么这种策略经常起作用的原因。
另请注意,对于某些学习率,损失表面可能看起来像平台,但对于小 10 倍的学习率则不然。所以“逃离高原”和“逃离局部极小值”是不同的挑战,并且ReduceLROnPlateau
目标是第一个。
关于optimization - 神经网络优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48911961/
我是一名优秀的程序员,十分优秀!