余弦调度策略
学习率退火
学习率退火指在训练过程中逐渐降低学习率的策略。其核心思想是:
训练初期:使用较大学习率快速收敛
训练后期:使用较小学习率精细调整,避免在最优解附近震荡
余弦调度策略
顾名思义,通过余弦函数进行学习率衰减
余弦函数y=cosxy=\cos xy=cosx会在x∈[0,π2]x\in [0,\frac{\pi}{2}]x∈[0,2π]时逐渐从 1 衰减为 0
我们想要学习率从初始的ηmax\eta_{max}ηmax随着时间步ttt衰减,经过TTT步后衰减到ηmin\eta_{min}ηmin,即
ηt=ηmin+(ηmax−ηmin)cos(π2tT) \eta_t = \eta_{min}+(\eta_{max}-\eta_{min})\cos(\frac{\pi}{2}\frac{t}{T})ηt=ηmin+(ηmax−ηmin)cos(2πTt)
而论文 SGDR: STOCHASTIC GRADIENT DESCENT WITH WARM RESTARTS 给出的方案是
ηt=ηmin+12(ηmax−ηmin)(1+cosπtT) \eta_t = \eta_{min}+\frac{1}{2}(\eta_{max}-\eta_{min})(1+\cos\frac{\pi t}{T})ηt=ηmin+21(ηmax−ηmin)(1+cosTπt)
由三角函数公式12(1+cosθ)=cos2θ2\frac{1}{2}(1+\cos\theta)=\cos^2\frac{\theta}{2}21(1+cosθ)=cos22θ可得
ηt=ηmin+(ηmax−ηmin)cos2(π2tT) \eta_t = \eta_{min}+(\eta_{max}-\eta_{min})\cos^2(\frac{\pi}{2}\frac{t}{T})ηt=ηmin+(ηmax−ηmin)cos2(2πTt)
其实是以余弦函数的平方衰减
以下是从 0.9 衰减到 0.1 的图像
也可用于增大(ηmax<ηmin\eta_{max}<\eta_{min}ηmax<ηmin时),以及从 0.1 增大到 0.9 的图像
