我知道可以在 Keras 中调整学习率,但所有选项似乎只包括一些衰减或降低的学习率。我想知道是否有可能创建一个像 ReduceLROnPlateau 一样工作的自定义计划,它正在寻找损失是否在一定数量的时期内停止减少,如果是,那么它会减少 LR。但是在一定数量的“减少”之后,它会在下一次损失停滞时增加学习率,然后在损失停滞之后再次继续减少。

我的想法是,在继续下降到全局最小值之前,您可能会下降到局部最小值,除非您提高学习率,否则您可能无法摆脱该最小值。

创建学习率函数有意义吗? Keras 会接受吗?

谁能给我一个关于如何编写该函数的想法?

最佳答案

Keras 具有 LearningRateScheduler 回调,您可以使用它来在训练期间更改学习率。但是您想要的听起来更像是您需要获取有关当前损失值和/或梯度的一些信息,为此您可能想要编写一个优化器。

关于python - 您可以在 Keras 中编写自定义学习率调度程序吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48759663/

10-12 22:43