如何选择深度学习模型中最优的学习率和源码实现

如何选择深度学习模型中最优的学习率
PS:方法来自 Leslie N. Smith  在 2015 年的论文「Cyclical Learning Rates for Training Neural Networks」的第 3.3 节,
诀窍:从一个低学习率开始训练,并在每个批次中指数提高学习率,然后画出学习率与损失函数的变化趋势图像。例
如何选择深度学习模型中最优的学习率和源码实现_第1张图片 如何选择深度学习模型中最优的学习率和源码实现_第2张图片
图1 迭代次数与学习率与变化曲线                                               图2  学习率与损失函数变化曲线
    从图2可以看出当学习率在0.1与0.01之间,损失函数变化最快。即最优的学习率大概在0.1左右。

  结论:最优学习率在损失函数变化最快的点对应的学习率。

另一种方式是画出学习率与损失函数变化率(损失函数关于迭代次数的导数)的曲线。虽然看起来噪声比较大,可以用简单易懂平均线做缓化处理。例
如何选择深度学习模型中最优的学习率和源码实现_第3张图片
                    图3 学习率与损失函数变化率
如何选择深度学习模型中最优的学习率和源码实现_第4张图片
均化处理之后的曲线。可以看出损失函数变化率在0.1与0.01之间最小。得出同上结论。
具体 源码实现我在这里不再赘述可以查看博主的博文(http://blog.csdn.net/sfM06sqVW55DFt1/article/details/78684355)或者查看 「Cyclical Learning Rates for Training Neural Networks」一文(原文链接:https://medium.com/@surmenok/estimating-optimal-learning-rate-for-a-deep-neural-network-ce32f2556ce0;)。


你可能感兴趣的:(深度学习)