如何选择深度学习模型中最优的学习率和源码实现
2018-01-10 09:32
549 查看
如何选择深度学习模型中最优的学习率
PS:方法来自Leslie N. Smith 在
2015 年的论文「Cyclical Learning Rates for Training Neural Networks」的第 3.3 节,
诀窍:从一个低学习率开始训练,并在每个批次中指数提高学习率,然后画出学习率与损失函数的变化趋势图像。例
图1 迭代次数与学习率与变化曲线 图2 学习率与损失函数变化曲线
从图2可以看出当学习率在0.1与0.01之间,损失函数变化最快。即最优的学习率大概在0.1左右。
图3 学习率与损失函数变化率
均化处理之后的曲线。可以看出损失函数变化率在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;)。
PS:方法来自Leslie N. Smith 在
2015 年的论文「Cyclical Learning Rates for Training Neural Networks」的第 3.3 节,
诀窍:从一个低学习率开始训练,并在每个批次中指数提高学习率,然后画出学习率与损失函数的变化趋势图像。例
图1 迭代次数与学习率与变化曲线 图2 学习率与损失函数变化曲线
从图2可以看出当学习率在0.1与0.01之间,损失函数变化最快。即最优的学习率大概在0.1左右。
结论:最优学习率在损失函数变化最快的点对应的学习率。
另一种方式是画出学习率与损失函数变化率(损失函数关于迭代次数的导数)的曲线。虽然看起来噪声比较大,可以用简单易懂平均线做缓化处理。例图3 学习率与损失函数变化率
均化处理之后的曲线。可以看出损失函数变化率在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;)。
相关文章推荐
- 机器学习如何选择模型 & 机器学习与数据挖掘区别 & 深度学习科普
- 机器学习如何选择模型 & 机器学习与数据挖掘区别 & 深度学习科普
- 深度学习如何选择模型
- Android源码学习之一-Activity是如何实现主题变化的
- 如何实现ZBrush中部分模型的选择和隐藏
- 深度学习如何设置学习率
- 不同机器学习任务深度学习模型的选择
- Android源码学习之一-Activity是如何实现主题变化的
- AI 从业者该如何选择深度学习开源框架
- 开源的深度学习工具包,深度学习模型的python代码实现
- theano深度学习实现:LR模型代码讲解
- 如何选择一个合适的深度学习网络
- TensorFlow (RNN)深度学习 双向LSTM(BiLSTM)+CRF 实现 sequence labeling 序列标注问题 源码下载
- AI 从业者该如何选择深度学习开源框架
- 深度 | 一篇文章带你进入无监督学习:从基本概念到四种实现模型(附论文)
- 深度学习FPGA实现基础知识14(如何理解“卷积”运算)
- Android源码学习之一-Activity是如何实现主题变化的
- Android源码学习之一-Activity是如何实现主题变化的
- 【深度学习】笔记7: CNN训练Cifar-10技巧 ---如何进行实验,如何进行构建自己的网络模型,提高精度
- Android源码学习之一-Activity是如何实现主题变化的