在机器学习中,尤其是深度学习中,热身意味着什么?
我听过几次,在某些模型中,热身是训练的一个阶段。但说实话,我不知道这是什么,因为我是ML的新手。到目前为止,我从未使用过或接触过它,但是我想知道它,因为我认为它可能对我有用。所以:
什么是学习率预热?何时需要?
提前谢谢。
答案 0 :(得分:1)
这意味着,如果您将学习率指定为2e-5,则在训练过程中,在最初的10,000个步骤内,学习率将从大约0线性增加到2e-5。
答案 1 :(得分:1)
如果您的数据集具有高度差异性,则可能会遭受“早期过度拟合”的困扰。如果混洗后的数据恰好包含一组相关的,功能强大的观察结果,则模型的初始训练可能会严重偏向那些功能-或更糟糕的是,偏向于与主题完全不相关的附带功能。
热身是减少早期训练示例的首要作用的一种方法。如果没有它,您可能需要运行一些额外的时间来获得所需的收敛性,因为该模型将不训练那些早期的迷信。
许多模型将其作为命令行选项提供。在预热期间,学习率呈线性增加。如果目标学习率是p
并且预热期是n
,则第一批迭代将1*p/n
用作其学习率;第二个使用2*p/n
,依此类推:迭代i
使用i*p/n
,直到我们在迭代n
达到标称汇率为止。
这意味着第一次迭代仅获得primacy效果的1 / n。这样可以合理地平衡这种影响。
请注意,加速通常约为一个时期-但对于特别偏斜的数据,有时会更长,而对于更均匀的分布,则可能会短一些。您可能需要调整,具体取决于将混洗算法应用于训练集时批次在功能上的极端程度。
答案 2 :(得分:1)
实际上有两种预热策略,参考here。