中文

为何要对学习率进行热身?机制解析与改进

机器学习 2024-11-05 v2 无序系统与神经网络 机器学习

摘要

在深度学习中,常对学习率进行热身(warmup),通常通过线性 schedule 将 ηinit=0\eta_{\text{init}} = 0 调整至预定目标 ηtrgt\eta_{\text{trgt}}。本文通过系统性实验使用 SGD 和 Adam,揭示热身的主要优势在于:通过将网络置于损失景观更良好条件的区域,从而允许更大 ηtrgt\eta_{\text{trgt}}。能够处理更大 ηtrgt\eta_{\text{trgt}} 能使超参数调优更稳健,同时提升最终性能。我们发现热身期间存在不同操作模式,取决于训练是否以 progressive sharpening 或 sharpness reduction 阶段开始,这进一步取决于初始化方式和参数化策略。基于这些洞察,我们展示如何利用损失“投机”(loss catapult)机制选择合适的 ηinit\eta_{\text{init}},可在某些情况下显著减少热身步数,甚至完全消除热身需求。我们还建议一种用于 Adam 的方差初始化方案,能提供类似热身的效益。

关键词

引用

@article{arxiv.2406.09405,
  title  = {Why Warmup the Learning Rate? Underlying Mechanisms and Improvements},
  author = {Dayal Singh Kalra and Maissam Barkeshli},
  journal= {arXiv preprint arXiv:2406.09405},
  year   = {2024}
}

备注

Accepted at NeurIPS 2024 (camera-ready version). Updates: (1) self-stabilization model for warmup mechanisms added, (2) introduced Flat Adam optimizer, (3) additional results for language modeling results and comparison to RAdam