在机器学习中,尤其是深度学习中,预热是什么意思?
我听说在某些模型中,预热是训练中的一个阶段。但老实说,我不知道这是什么,因为我对机器学习非常新手。直到现在我从未使用过或遇到过,但我想要了解它,因为我认为它可能对我有用。
什么是学习率预热,我们什么时候需要它?
回答:
如果你的数据集差异很大,你可能会遇到一种“早期过拟合”的情况。如果你洗牌后的数据恰好包含一组相关的、特征明显的观测值,你模型的初始训练可能会严重偏向这些特征——或者更糟的是,偏向那些与主题实际上无关的偶然特征。
预热是一种减少早期训练样本首要效应的方法。没有它,你可能需要多运行几个周期才能达到期望的收敛,因为模型需要去除那些早期的偏见。
许多模型提供了这个功能作为命令行选项。学习率会在预热期间线性增加。如果目标学习率是 p
且预热期是 n
,那么第一次批次迭代使用 1*p/n
作为学习率;第二次使用 2*p/n
,依此类推:第 i
次迭代使用 i*p/n
,直到在第 n
次迭代达到标称速率。
这意味着第一次迭代仅获得1/n的首要效应。这在平衡这种影响方面做得相当不错。
请注意,通常情况下,预热期的持续时间大约是一个周期——但对于特别偏斜的数据,偶尔会更长,而对于更均匀的分布,可能会更短。你可能需要根据洗牌算法应用于训练集后批次的功能极端性进行调整。