趋近智
在训练神经网络 (neural network)时,您通常会发现训练损失持续下降。这是合理的;模型在拟合训练数据方面表现越来越好。然而,如本章前面所说,仅仅最小化训练损失并非最终目标。我们希望模型能够良好地泛化到新的、未见过的数据。我们如何知道何时停止训练以达到最佳泛化效果?训练的轮次过少可能导致欠拟合 (underfitting),而训练的轮次过多常会导致过拟合 (overfitting)。
早期停止提供了解决此问题的简单而有效的方法。其主要思路是,在训练过程中,监控模型在单独验证集上的表现,并在验证集上的表现不再提升或开始变差时停止训练,即使训练损失仍在下降。
在每个训练轮次之后(或有时在固定数量的批次之后),需要评估模型在训练数据和验证集上的表现。在验证集上,通常会追踪一个特定的衡量指标,最常见的是验证损失,但它也可以是准确率、F1分数或其他根据特定问题而定的相关指标。
最初,随着模型学习,训练损失和验证损失都趋于下降。然而,在某个时刻,模型可能开始过度适应训练数据的特定模式和噪声。这是过拟合 (overfitting)的开始。当这种情况发生时,您通常会发现训练损失继续下降,而验证损失趋于平稳,或者更明显地,开始上升。这种分歧是一个明确的信号,表明模型的泛化能力正在下降。
下图说明了这种常见模式:
训练损失通常随训练轮次增加而下降。验证损失最初下降,但当模型开始过拟合时会开始上升。早期停止的目标是在验证损失最小的点(由标记 (token)指示)附近停止训练。
实施早期停止涉及几个重要的组成部分:
容忍度训练轮次内没有提升,则停止训练。容忍度值取决于数据集、模型复杂度和批次大小。值过低可能导致训练过早停止;值过高可能在停止前允许过拟合 (overfitting)发生。5到20之间的值是常见的起始点,但通常需要进行实验。min_delta参数 (parameter),它定义了监控量需要变化的最小值才能算作提升。这有助于忽略可能只是噪声的微不足道的提升。早期停止是一种广泛采用且效果好的方法,用于防止过拟合。它通过训练时长隐式地控制模型的容量,起到了一种正则化 (regularization)作用。它计算效率高,相对容易实现,并且通常在泛化表现上带来显著提升,且调优工作量较少,相比于明确添加或等正则化项。大多数深度学习 (deep learning)框架提供了便于将早期停止集成到训练循环中的方式。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•