gpt4 book ai didi

optimization - 神经网络优化

转载 作者:行者123 更新时间:2023-11-30 08:31:01 25 4
gpt4 key购买 nike

我试图理解 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com