如何在训练神经网络中确定学习率?

时间:2017-12-08 11:49:19

标签: machine-learning neural-network deep-learning conv-neural-network

如果我想使用手动学习率,例如,初始学习率为0.01,经过10000步后,衰减学习率为0.001,经过20000步后,衰减学习率为0.0001。

我怎么知道我需要降低学习率的这些步骤?有没有经验可以指导我?

我们通常可以在纸上找到这些步骤,但作者如何获得这些步骤?

1 个答案:

答案 0 :(得分:0)

良好的初始学习率是尽可能高的,而不会导致错误发散。这可以通过反复试验找到。猜一些典型的初始学习率,如0.01,运行几个时代,看看会发生什么。如果误差发散,则除以10,否则乘以10.在遇到发散误差之前,先设定最高值。

降低学习率的好时机是当你发现错误似乎没有改善时。例如,你在lr = 0.01时运行100个纪元,错误是稳定的。尝试将学习率降低到0.001。

您还可以考虑使用learning rate decay来设置自动降低学习率的时间表。