“学习率预热”是什么意思?

Pey*_*man 9 terminology machine-learning neural-network deep-learning

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

我听说有些时候,热身是训练的一个阶段。但说实话,我不知道这是什么,因为我是ML的新手。到目前为止,我从未使用过或接触过它,但是我想知道它,因为我认为它可能对我有用。所以:

什么是学习率热身,何时需要?

提前致谢。

Pru*_*une 17

如果您的数据集具有高度差异性,则可能会遭受“早期过度拟合”的困扰。如果混洗后的数据恰好包含一组相关的,功能强大的观察值,则模型的初始训练可能会严重偏向那些功能-或更糟糕的是,偏向于与主题完全不相关的附带功能。

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

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

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

请注意,斜坡上升通常约为一个纪元-但对于特别偏斜的数据有时会更长,而对于更均匀的分布则可能会更短。您可能需要调整,具体取决于将混洗算法应用于训练集时批次的功能极端性。


Pat*_*tel 9

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