例如,如果我想使用手动学习率,初始学习率为0.01,10000步后衰减学习率为0.001,20000步后衰减学习率为0.0001。
我如何才能知道这些我需要衰减学习率的步骤?有什么经验可以指导我吗?
我们通常可以在论文中找到这些步骤,但作者是如何获得这些步骤的?
发布于 2017-12-08 19:58:55
良好的初始学习率是在不导致误差发散的情况下尽可能高的学习率。这是通过试验和错误发现的。猜测一些典型的初始学习率,比如0.01,运行几个时期,看看会发生什么。如果误差是发散的,则除以10,否则乘以10。在遇到发散误差之前确定最高值。
当你注意到错误似乎不再改善时,是降低学习率的好时机。例如,你在lr=0.01上运行100个时期,错误是平缓的。试着把你的学习率降到0.001。
您还可以考虑使用learning rate decay,您可以在其中设置一个时间表,以自动衰减学习率。
https://stackoverflow.com/questions/47713829
复制相似问题