"learning rate warm-up" 是什么意思?
What does "learning rate warm-up" mean?
在机器学习,尤其是深度学习中,warm-up是什么意思?
我有时听说,在某些模型中,热身是训练的一个阶段。但老实说,我不知道它是什么,因为我对 ML 很陌生。到现在为止我从未使用过或遇到过它,但我想知道它,因为我认为它可能对我有用。
什么是学习率预热,我们什么时候需要它?
这意味着如果您将学习率指定为 2e-5,那么在训练过程中,学习率将在前 10,000 步内从大约 0 线性增加到 2e-5。
如果您的数据集高度分化,您可能会遇到某种 "early over-fitting"。如果您的混洗数据恰好包含一组相关的、特征强烈的观察结果,您的模型的初始训练可能会严重偏向这些特征——或者更糟的是,偏向与主题根本不相关的附带特征。
预热是一种降低早期训练示例首要效应的方法。没有它,您可能需要 运行 几个额外的 epoch 才能获得所需的收敛,因为模型会取消训练那些早期的迷信。
许多模型都将此作为命令行选项提供。学习率在预热期间线性增加。如果目标学习率为 p
并且预热期为 n
,则第一个批次迭代使用 1*p/n
作为其学习率;第二个使用 2*p/n
,依此类推:迭代 i
使用 i*p/n
,直到我们在迭代 n
.
达到标称速率
这意味着第一次迭代仅获得 1/n 的首要效应。这合理地平衡了这种影响。
请注意,上升通常是一个时期的数量级——但对于特别倾斜的数据偶尔会更长,或者对于更均匀的分布来说更短。您可能需要进行调整,具体取决于将改组算法应用于训练集时批次的功能极端程度。
热身其实有两种策略,参考here。
- constant: 在最初的几个步骤中使用比基础学习率低的学习率。
- gradual:在前几步中,学习率设置为低于基础学习率,随着步数的增加逐渐增加以接近基础学习率。正如@Prune 和@Patel 建议的那样。
在机器学习,尤其是深度学习中,warm-up是什么意思?
我有时听说,在某些模型中,热身是训练的一个阶段。但老实说,我不知道它是什么,因为我对 ML 很陌生。到现在为止我从未使用过或遇到过它,但我想知道它,因为我认为它可能对我有用。
什么是学习率预热,我们什么时候需要它?
这意味着如果您将学习率指定为 2e-5,那么在训练过程中,学习率将在前 10,000 步内从大约 0 线性增加到 2e-5。
如果您的数据集高度分化,您可能会遇到某种 "early over-fitting"。如果您的混洗数据恰好包含一组相关的、特征强烈的观察结果,您的模型的初始训练可能会严重偏向这些特征——或者更糟的是,偏向与主题根本不相关的附带特征。
预热是一种降低早期训练示例首要效应的方法。没有它,您可能需要 运行 几个额外的 epoch 才能获得所需的收敛,因为模型会取消训练那些早期的迷信。
许多模型都将此作为命令行选项提供。学习率在预热期间线性增加。如果目标学习率为 p
并且预热期为 n
,则第一个批次迭代使用 1*p/n
作为其学习率;第二个使用 2*p/n
,依此类推:迭代 i
使用 i*p/n
,直到我们在迭代 n
.
这意味着第一次迭代仅获得 1/n 的首要效应。这合理地平衡了这种影响。
请注意,上升通常是一个时期的数量级——但对于特别倾斜的数据偶尔会更长,或者对于更均匀的分布来说更短。您可能需要进行调整,具体取决于将改组算法应用于训练集时批次的功能极端程度。
热身其实有两种策略,参考here。
- constant: 在最初的几个步骤中使用比基础学习率低的学习率。
- gradual:在前几步中,学习率设置为低于基础学习率,随着步数的增加逐渐增加以接近基础学习率。正如@Prune 和@Patel 建议的那样。