你能在Keras中编写自定义学习速率调度程序吗?

时间:2018-02-13 04:51:03

标签: python python-3.x keras

我知道可以在Keras中调整学习率,但所有选项似乎只包括一些衰减或降低学习率。我想知道是否有可能创建一个像ReduceLROnPlateau一样的自定义时间表,在那里它正在查看损失是否会在某些时期内停止下降,如果是,那么它会降低LR。但经过一些"减少"然后它会在下一次损失停滞时提高学习率,然后在损失停滞之后再次继续下降。

我的想法是,除非你提高学习率,否则你可能无法逃脱当地的最低限度,然后再继续下降到全球最低限度。

创建学习率的功能是否有意义? Keras会接受吗?

任何人都可以告诉我如何写这个功能吗?

1 个答案:

答案 0 :(得分:2)

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