余弦退火算法与学习率预热
余弦退火算法与学习率预热
总述:
(1)标准余弦退火算法(Cosine Annealing)是通过单次的余弦曲线调整学习率,在一个周期内让学习率从一个最大值平滑下降η_max到最小值η_min,这种调整模式是非周期性的,完成一次后学习率保持最小不变,
(2)带热重启的余弦退火(SGDR)是余弦退火的周期性扩展版本。它在每个周期结束时将学习率重置回初始最大值,并开始新的余弦衰减周期,形成周期性波动。周期往往是动态的:Tmax = Tmax *2^n
(3)Warmup(学习率预热)是独立于余弦退火的策略,其目的是在训练初期逐步提高学习率(例如线性增长),避免模型因随机初始权重导致训练不稳定
余弦退火算法的学习率表达:(区别在于周期结束后,SGDR会讲T_设置成0)
使用场景:
标准余弦退火算法常常在短周期训练(epoch<50),需要稳定收敛的情况下使用。SGDR算法的热重启通过周期性地升高学习率,帮助模型跳出局部最优解,探索更广参数空间。