深度学习(五)学习率的调节

深度学习(五)学习率的调节   学习率对于深度学习是一个重要的超参数,它控制着基于损失梯度调整神经网络权值的速度,大多数优化算法(SGD、RMSprop、Adam)对其都有所涉及。学习率越小,损失梯度下降的速度越慢,收敛的时间更长,如公式所示:new_weight=existing_weight—learning_rate*gradient(新权值=当前权值–学习率×梯度)    如果学习…

大家好,又见面了,我是你们的朋友全栈君。

      学习率对于深度学习是一个重要的超参数,它控制着基于损失梯度调整神经网络权值的速度,大多数优化算法(SGD、RMSprop、Adam)对其都有所涉及。学习率越小,损失梯度下降的速度越慢,收敛的时间更长,如公式所示:

new_weight= existing_weight — learning_rate * gradient

(新权值 = 当前权值 – 学习率 × 梯度)

深度学习(五)学习率的调节

       如果学习率过小,梯度下降很慢,如果学习率过大,如Andrew Ng的Stanford公开课程所说梯度下降的步子过大可能会跨过最优值。不同的学习率对loss的影响如下图所示:

深度学习(五)学习率的调节

学习率的调整方法:

1、从自己和其他人一般的经验来看,学习率可以设置为310.50.10.050.010.0050.0050.00010.00001具体需结合实际情况对比判断,小的学习率收敛慢,但能将loss值降到更低。

2、根据数据集的大小来选择合适的学习率,当使用平方和误差作为成本函数时,随着数据量的增多,学习率应该被设置为相应更小的值(从梯度下降算法的原理可以分析得出)。另一种方法就是,选择不受数据集大小影响的成本函数-均值平方差函数。

3、训练全过程并不是使用一个固定值的学习速度,而是随着时间的推移让学习率动态变化,比如刚开始训练,离下山地点的最优值还很远,那么可以使用较大的学习率下的快一点,当快接近最优值时为避免跨过最优值,下山速度要放缓,即应使用较小学习率训练,具体情况下因为我们也不知道训练时的最优值,所以具体的解决办法是:在每次迭代后,使用估计的模型的参数来查看误差函数的值,如果相对于上一次迭代,错误率减少了,就可以增大学习率如果相对于上一次迭代,错误率增大了,那么应该重新设置上一轮迭代的值,并且减少学习率到之前的50%。因此,这是一种学习率自适应调节的方法。在CaffeTensorflow等深度学习框架中都有很简单直接的学习率动态变化设置方法。

参考链接:https://blog.csdn.net/john_kai/article/details/72861731

                 http://www.sohu.com/a/219390129_100044418

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143869.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 焦点科技怎么老是招人_为什么口腔老是溃疡 严重口腔溃疡怎么治「建议收藏」

    焦点科技怎么老是招人_为什么口腔老是溃疡 严重口腔溃疡怎么治「建议收藏」口腔溃疡作为最常见的口腔疾病日益引起人们的重视,很多患者的口腔溃疡由于得不到有效的治疗而变成复发性口腔溃疡,其中有20%的复发性口腔溃疡患者久治不愈引发白塞氏病。那么,为什么口腔老是溃疡,严重口腔溃疡怎么治呢?下面我们就来看看口腔黏膜专家的介绍。引起口腔溃疡的原因有很多1、免疫力下降许多的口腔溃疡患者总是在感冒时,口腔溃疡也同时会反反复作,而这个时候身体的抵抗力差,所以患者在治疗感冒的过程中,也不…

    2022年6月6日
    32
  • 一张色环图教你搞定配色_24色环颜色调配图

    一张色环图教你搞定配色_24色环颜色调配图一张色环图教你搞定配色!不管是在平面设计或网页制作中,还是在平常生活中的衣服穿搭和室内装潢中,要想打造出非凡的视觉效果,合理的颜色搭配非常重要。下面介绍几种色彩搭配方案供您参考,让你轻易地一靶中的

    2022年8月1日
    5
  • MOS管电平转换电路学习

    MOS管电平转换电路学习一个MOSFET电平转换电路引发的问题

    2022年10月19日
    0
  • Java的in.nextInt()和in.nextLine()方法的具体内涵[通俗易懂]

    Java的in.nextInt()和in.nextLine()方法的具体内涵[通俗易懂]本人也是刚开始学习java语言,在学习的过程中,老师让我们做一个模拟学生学籍管理系统的小程序。因为刚开始,做的是比较简单的,用switch语句做界面,然后配合Scanner接收输入的数字进行跳转,完成各类操作。因为跳转时输入的是数字,而跳转后的操作要输入字符串,比如:“选择1添加学生信息…输入添加学生的姓名…”这类的操作在测试的时候总是无法输入字符串像这个样子,先用nextInt()再用…

    2022年5月5日
    79
  • mybatiscodehelperpro官网_iphone更新一直不安装怎么办

    mybatiscodehelperpro官网_iphone更新一直不安装怎么办MyabtisCodeHelperPro1.下载MyabtisCodeHelperPro对应的压缩文件链接:https://pan.baidu.com/s/15k91_tjyiAZNa_OwRmxYkQ提取码:4orm2.解压到电脑中的任意磁盘,以我的为例3.之后,打开idea,在file-settings-plugins中installed旁边的小按钮,选择InstallPluginfromDisk4.选择对应的版本,点击ok即可安装成功5.之后,在idea中选中tools-M

    2022年9月2日
    4
  • jenkins 邮件_邮件发送协议邮件接收协议

    jenkins 邮件_邮件发送协议邮件接收协议前言前面已经实现在jenkins上展示html的测试报告,接下来只差最后一步,把报告发给你的领导,展示你的劳动成果了。安装EmailExtensionPlugin插件jenkins首页-

    2022年8月6日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号