CosineAnnealingLR schedules the learning rate by repeatedly decreasing it toward a minimum and increasing it again. The oscillation can escape sub-optimal minima in non-convex neural-network optimization, but it is less stabilizing than purely decreasing schedules. section 5.2.3
Configure the schedule around these quantities:
- Set η0 as the initial learning rate and ηmin as the minimum rate. section 5.2.3
- Choose Tmax as the number of epochs between cosine cycles; for S dips across T epochs, use Tmax = T/(S⋅2−1). section 5.2.3
- Expect a tradeoff: oscillation may improve the final result while reducing stability on poorly behaved datasets or networks. section 5.2.3
