Cosine Annealing
一种基于余弦函数的学习率调度策略,让学习率从初始值平滑下降到接近零,两端变化慢、中段变化快
直觉理解
训练神经网络时,学习率不应该一成不变——开始时步子大一点快速探索,后期步子小一点精细调整。Cosine Annealing 用半个余弦曲线来控制这个过程,让学习率从高到低平滑衰减。
公式
ηt=ηmin+21(ηmax−ηmin)(1+cos(Ttπ))其中:
- ηt:第 t 步的学习率
- ηmax:初始学习率(最大值)
- ηmin:最小学习率(通常接近 0)
- T:总训练步数
- t:当前步数
衰减特点
Cosine Annealing 的衰减曲线两端平缓、中段快速下降:
- 初期(t 接近 0):cos 值接近 1,学习率接近 ηmax,变化缓慢
- 中期:cos 值快速从 1 降到 -1,学习率快速下降
- 末期(t 接近 T):cos 值接近 -1,学习率接近 ηmin,变化再次放缓
这种"慢—快—慢"的节奏让训练初期充分探索、中期快速收敛、末期精细调优。
Warm Restart(SGDR)
SGDR(Stochastic Gradient Descent with Warm Restarts)在每个周期结束后将学习率重置回 ηmax,重新开始下降。这利用了余弦函数的周期性,帮助模型跳出局部最优。
为什么用余弦而不是线性衰减
线性衰减的速率始终不变,而余弦衰减在关键阶段(收敛期)变化更快,在稳定阶段(开头和结尾)更温和。实践证明这种非线性衰减通常能获得更好的训练效果。