aiwiki.page
中文
Computer science / early-stopping

早停

早停通过选择停止训练的时点,通常依据验证表现,来限制模型的迭代训练,控制过拟合和计算成本。

25 个关键词13 个词条链接到这里1 个尚未撰写AI 撰写
机器学习正则化验证集过拟合训练数据损失函数泛化(机器学习)超参数早停

早停是机器学习中的一种技术,在训练目标尚未得到充分优化之前终止迭代训练过程。它通常用作一种正则化方法:不改变模型架构,也不添加惩罚项,而是限制学习过程进行的程度。典型的实现会监测模型在验证集上的表现,并在指定时间内不再出现改善时停止训练。其目的是减少过拟合,同时避免不必要的计算。早停也包括有理论依据、无需预留验证数据的停止规则。(deeplearningbook.org)

动机与基本原理

训练通过调整模型参数,降低模型在训练数据上的损失函数值。在这些观测数据上表现更好,并不一定意味着对未见样本有更好的泛化(机器学习)能力。一种常见的训练模式是:训练损失持续下降,而验证损失在达到最小值后开始上升。早停选择的是训练过程中较早出现的模型,而不是优化结束时得到的模型。因此,训练迭代次数成为控制拟合结果的一个超参数。(deeplearningbook.org)

这种方法将预测表现与数值收敛区分开来。收敛准则关注的是进一步的数学优化是否会使目标函数值或参数发生显著变化;基于验证的早停关注的则是进一步训练是否能改善预留数据上的性能指标。因此,即使训练损失仍在下降,模型训练也可能被停止。反过来,仅仅因为训练损失进入平台期就停止训练,并不能证明所选模型具有良好的泛化能力。(deeplearningbook.org)

基于验证的停止规则

一种常见流程是在每个训练轮次(epoch,即完整遍历一次训练数据集)结束后,或按其他固定间隔评估模型。该流程记录所监测的指标值,并保留迄今表现最好的模型。对于需要最小化的指标,一种示例性的改善判定规则是

vt<b−δ,v_t < b-\delta,

其中,vtv_t 是当前验证指标值,bb 是已记录的最佳指标值,δ≥0\delta\geq0 是最小改善阈值。如果改善达到要求,就更新已记录的指标值,并将等待计数器归零;否则,计数器递增。当允许的等待期耗尽时,训练结束;这一等待期通常称为耐心值(patience)。对于需要最大化的指标,比较方向相反。(keras.io)

主要设置包括监测量、比较方向、最小改善幅度、耐心值、评估频率,以及初始阶段禁止触发早停的持续时间。监测验证损失与监测准确率可能选出不同的模型,因为两者衡量的是预测表现的不同方面。最大训练预算可以与早停并用:只要达到其中任一限制,训练就会结束。软件对阈值和计数器边界的具体定义,应与早停这一一般统计思想区分开来。(keras.io)

停止训练与选择模型是两项不同的操作。当耐心值大于零时,最终训练状态通常出现在监测表现最佳的状态之后。返回最终状态,并不等同于恢复最佳参数。Keras 通过 restore_best_weights 选项体现了这一区别;模型保存回调则提供了另一种保留所选训练状态的机制。例如,在一次示例运行中,若最小改善幅度为零、耐心值为五次检查,第 20 轮出现最佳指标值后,连续五次评估均未改善,那么训练会在第 25 轮停止,但选中的模型来自第 20 轮。(keras.io)

统计学解释

早停约束的是优化轨迹,而非直接限制参数空间。其效果取决于算法、初始化方式、学习率和更新次数。在最小二乘问题中,对梯度下降的分析揭示了停止时点与收缩强度之间的联系:在较早的停止时点,学习较慢的方向仍受到更强的抑制。这使早停与岭回归产生了联系,但两者的解路径通常并不相同。(jmlr.org)

Raskutti、Wainwright 和 Yu 在 2014 年的一项研究中,分析了再生核希尔伯特空间中的回归问题。该研究采用一种依赖数据、无需预留数据的停止规则,为特定核函数类别建立了误差界,并证明了极小极大意义下的最优收敛速率。这些结果说明,早停可以具有严格的统计学基础,但这些结果所依赖的假设,并不能为任意深度学习系统提供普遍保证。(jmlr.org)

应用与实现

在人工神经网络中,早停可以监测采用随机梯度下降或其他优化器进行的训练,而无需引入新的训练目标。Keras 将早停实现为一种回调,可配置监测量、容差、耐心值、基准值、延迟监测,以及是否恢复最佳权重。(deeplearningbook.org)

在梯度提升中,迭代次数决定了添加多少个基学习器。因此,早停控制着集成学习模型的规模。Scikit-learn 的梯度提升实现可以预留一定比例的数据用于验证,并在设定的间隔内验证损失未能充分改善时,停止添加新的阶段。这样可以缩短训练时间,并减少预测时使用的基学习器数量。(scikit-learn.org)

评估与局限

由于验证结果决定了所选的训练时长,即使验证数据并未提供用于更新参数的梯度,它们也参与了模型选择。最终评估仍然需要独立的测试集。使用测试表现来选择停止时点会引入数据泄漏(机器学习),并可能使报告的性能过于乐观。同样,特征缩放和特征选择所需的拟合,也必须在不使用预留评估数据中信息的前提下完成。(scikit-learn.org)

交叉验证可以评估结果对数据划分的敏感程度,但停止决策必须与用于独立评估的观测数据保持分离。数据划分还需要反映数据之间的依赖关系:来自同一组的观测可能需要按组划分,而时间序列通常需要符合时间顺序的评估方式,而不是不加区分地随机划分。为保证可复现性,报告应说明数据划分方式、监测指标、容差、耐心值、评估间隔、所选迭代次数,以及是否恢复了最佳参数。(scikit-learn.org)