【问题标题】:What does "learning rate warm-up" mean? [closed]“学习率预热”是什么意思? [关闭]
【发布时间】:2019-09-19 21:05:30
【问题描述】:

在机器学习,尤其是深度学习中,热身是什么意思?

我有时听说在某些模型中,热身是训练的一个阶段。但老实说,我不知道它是什么,因为我对 ML 很陌生。到目前为止,我从未使用过或遇到过它,但我想知道它,因为我认为它可能对我有用。

什么是学习率预热,我们什么时候需要它?

【问题讨论】:

    标签: machine-learning neural-network deep-learning terminology


    【解决方案1】:

    如果您的数据集高度分化,您可能会遭受某种“早期过度拟合”的困扰。如果您的打乱数据恰好包含一组相关的、特征强烈的观察结果,那么您的模型的初始训练可能会严重偏向这些特征,或者更糟的是,偏向与主题完全不相关的附带特征。

    热身是一种减少早期训练示例的首要效应的方法。如果没有它,您可能需要运行一些额外的 epoch 才能获得所需的收敛,因为该模型会消除那些早期的迷信。

    许多模型将此作为命令行选项提供。学习率在热身期间线性增加。如果目标学习率是p,预热期是n,那么第一批迭代使用1*p/n作为它的学习率;第二个使用2*p/n,以此类推:迭代i使用i*p/n,直到我们在迭代n达到标称速率。

    这意味着第一次迭代只能获得 1/n 的首要效应。这可以合理地平衡这种影响。

    请注意,上升时间通常是一个时期的数量级 - 但对于特别偏斜的数据,有时会更长,而对于更均匀的分布则更短。您可能需要进行调整,具体取决于将洗牌算法应用于训练集时批次的功能极端程度。

    【讨论】:

      【解决方案2】:

      这意味着如果您将学习率指定为 2e-5,那么在训练期间,学习率将在最初的 10,000 步内从大约 0 线性增加到 2e-5。

      【讨论】:

        【解决方案3】:

        实际上有两种热身策略,参考here

        • 常量:在最初的几个步骤中使用比基本学习率低的学习率。
        • gradual:在最初的几个步骤中,学习率被设置为低于基础学习率,并随着步数的增加逐渐增加以接近它。正如@Prune 和@Patel 所建议的那样。

        【讨论】:

          猜你喜欢
          • 2020-11-22
          • 2021-11-23
          • 2016-04-05
          • 2010-12-29
          • 2014-09-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-10-22
          相关资源
          最近更新 更多