关于SGD优化器的学习率衰减的问题

在训练分类器时遇到loss下降不明显的问题,怀疑是学习率过大。研究发现SGD优化器中,学习率衰减公式为:initial_rate * (1 - decay) ^ iteration。发现该公式在初期衰减较快,后期衰减缓慢。建议使用decay=0.01以更快达到0.1的学习率。对于跨epoch的学习率衰减,可以利用scheduler。文中指出SGD的学习率衰减方式较为简单,可考虑其他优化器或自定义学习率策略。

由于学术需要,这段时间再训练一个分类器,但其效果不太好,loss下降不明显。便考虑是不是学习率的问题,由于使用的是SGD,其中一个参数为decay,借鉴别人的参设默认值,decay 一般设为1x10-4 .我怀疑是训练过程种学习率太大,于是想找到SGD优化器种学习率衰减的公式,但能力有限,读代码没读懂,就在网上找,也没找到。
最后再Google上找到了,帖子的连接如下:
https://machinelearningmastery.com/understand-the-dynamics-of-learning-rate-on-deep-learning-neural-networks/
计算的公式如下:initial_rate为初始优化器时的学习率,decay为衰减参数,iteration为迭代次数
initial_rate为初始优化器时的学习率,decay为衰减参数,iteration为迭代次数
但这个衰减的公式过于简单,再前期衰减的很快,后期几乎不衰减。

例如当decay = 0.1时
在这里插入图片描述

要到100个iteration时才能将为原来的0.1左右

当decay = 0.01 时
在这里插入图片描述

这样衰减效果就明显多了,1000个iteration时即可到达初始学习率的0.1左右
而且SGD学习率是在同一个epoch,不同iteration之间的。想要再不同epoch

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值