深度学习如何设置学习率

学习率在深度学习中至关重要,影响模型训练效果。过大可能导致超调,过小则收敛缓慢。手动调整可通过尝试不同固定学习率找到最优值,或者采用如fixed、exponential、polynomial等基于策略的调整方法,以及adadelta、adagrad、ftrl等自适应动态调整策略。
摘要由CSDN通过智能技术生成


学习率是深度学习中的一个重要的超参,如何调整学习率是训练出好模型的关键要素之一。在通过SGD求解问题的极小值时,梯度不能太大,也不能太小。太大容易出现超调现象,即在极值点两端不断发散,或是剧烈震荡,总之随着迭代次数增大loss没有减小的趋势;太小会导致无法快速地找到好的下降的方向,随着迭代次数增大loss基本不变。

因此,我们常常用一些退火的方法调整学习率。学习率调整方法基本上有两种


1. 基于经验的手动调整。 通过尝试不同的固定学习率,如0.1, 0.01, 0.001等,观察迭代次数和loss的变化关系,找到loss下降最快关系对应的学习率。

2. 基于策略的调整。

   2.1 fixed 、exponential、polynomial

   2.2. 自适应动态调整。adadelta、adagrad、ftrl、momentum、rmsprop、sgd



关于学习率的大小
* 太大: loss爆炸, 或者nan
* 太小: 半天loss没反映(但是, LR需要降低的情况也是这样, 这里可视化网络中间结果, 不是weights, 有效果, 俩者可视化结果是不一样的, 太小的话中间结果有点水波纹或者噪点的样子, 因为filter学习太慢的原因, 试过就会知道很明显)
* 需要进一步降低了: loss在当前LR下一路降了下来, 但是半天不再降了.
* 如果有个复杂点的任务, 刚开始, 是需要人肉盯着调LR的. 后面熟悉这个任务网络学习的特性后, 可以扔一边跑去了.
*
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值