学习率衰减策略
前言
网络训练过程中,学习率不能过大,也不能过小,学习率过大会导致网络参数在最优值两边来回跳跃,难以收敛,学习率太小会导致网络收敛过慢,所以我们一般希望网络训练前期学习率较大可以加速网络收敛,后期学习率较小,以此使得网络更收敛于最优值。为了控制学习率,研究者提出了多种衰减策略。Pytorch内部提供了常见的多种学习率衰减策略,我在这里介绍常用的指数衰减策略和余弦退火策略,并分别介绍他们的代码实现。
无论采用那种策略,在网络训练之间我们均需要进行以下两步工作:
1)创建优化器Optimizer;
2)为优化器绑定一个学习率控制器Scheduler;
在进行代码编写时学习率控制器放置的位置如下图模板:
一、指数衰减策略(ExponentialLR)
1.介绍
指数衰减策略是比较常用也比较基础的学习率调整策略,以底数λ∈(0,1)</