敬请关注 YOLO Vision 2025!
2025年9月25日
英国夏令时 10:00 - 18:00
混合活动
Yolo Vision 2024
词汇表

过拟合

了解如何识别、预防和解决机器学习中的过拟合问题。 探索提高模型泛化能力和实际性能的技术。

过拟合是机器学习(ML)中的一个基本概念,当模型学习了训练数据中的细节和噪声,以至于对新数据或未见过的数据的性能产生负面影响时,就会发生过拟合。本质上,模型记住了训练集,而不是学习潜在的模式。这导致模型在训练数据上实现了高准确率,但无法泛化到真实世界的数据,使其在实际应用中不可靠。实现良好的泛化人工智能开发的主要目标。

如何识别过拟合

通常,通过在训练过程中监控模型在训练数据集和单独的验证数据集上的性能来识别过拟合。过拟合的一个常见迹象是,训练集的损失函数值持续下降,而验证集的损失函数值开始上升。类似地,如果训练准确率持续提高,但验证准确率在随后的epoch中停滞或恶化,则模型可能正在过拟合。像TensorBoard这样的工具非常适合可视化这些指标并及早诊断此类问题。像Ultralytics HUB这样的平台也可以帮助跟踪实验和评估模型,以检测过拟合。

过拟合 vs. 欠拟合

过拟合和欠拟合是机器学习中两个常见的问题,它们都代表模型泛化能力的不足,本质上是两个相反的问题。

  • 过拟合: 模型对于数据来说过于复杂(高方差)。它捕获训练数据中的噪声和随机波动,导致在训练期间表现出色,但在测试数据上表现不佳。
  • 欠拟合: 该模型过于简单,无法捕获数据的底层结构(高偏差)。由于它无法学习相关的模式,因此在训练和测试数据上的表现都很差。

深度学习中的挑战在于找到正确的平衡,这个概念通常用偏差-方差权衡来描述。

过拟合的真实案例

  1. 自动驾驶车辆目标检测:假设您使用仅包含晴朗白天条件的图像的数据集,为自动驾驶汽车训练 Ultralytics YOLO 模型。该模型可能变得非常擅长检测明亮光线下的行人和汽车,但在夜间或雨雾天气中会惨败。它过度拟合了训练数据的特定光照和天气条件。使用像 Argoverse 这样的多样化数据集可以帮助防止这种情况。
  2. 医学影像分析:一个 CNN 模型经过训练,可以检测来自一家医院的 MRI 扫描中的肿瘤。该模型可能会无意中学习将该医院特定 MRI 机器的特定伪影或噪声模式与肿瘤的存在相关联。当在来自另一家医院的不同机器的扫描上进行测试时,其性能可能会显着下降,因为它过度拟合到原始训练集的噪声,而不是肿瘤的实际生物标记。这是医疗保健领域的人工智能应用中的一个关键问题。

如何防止过拟合

可以采用几种技术来对抗过拟合,并构建更强大的模型。

  • 获取更多数据:增加训练数据集的大小和多样性是防止过拟合的最有效方法之一。更多的数据有助于模型学习真实的潜在模式,而不是噪声。您可以探索各种Ultralytics 数据集来增强您的项目。
  • 数据增强:这涉及通过创建现有数据的修改副本,人为地扩展训练数据集。应用随机旋转、缩放、裁剪和颜色偏移等技术。Ultralytics YOLO数据增强技术内置于其中,以提高模型的鲁棒性。
  • 简化模型架构: 有时,模型对于给定的数据集来说过于复杂。使用参数较少的更简单的架构可以防止它记住数据。例如,选择较小的模型变体(如 YOLOv8n 与 YOLOv8x)可能对较小的数据集有益。
  • 正则化:此技术基于模型的复杂性向损失函数添加惩罚项,从而抑制较大的模型权重。常见的方法是 L1 和 L2 正则化,您可以点击此处了解更多
  • Dropout:一种特定形式的正则化,其中在每个训练步骤中忽略随机一部分神经元。这迫使网络学习冗余表示,并防止任何单个神经元变得过于有影响力。Dropout概念在此处有详细解释
  • 提前停止:这包括监控模型在验证集上的性能,并在验证性能开始下降时立即停止训练过程,即使训练性能仍在提高。您可以在 Keras 中查看提前停止的说明 以了解更多详细信息。
  • 交叉验证:通过使用诸如K折交叉验证之类的技术,将数据分成多个折叠,并在不同的子集上训练和验证模型。这提供了对模型泛化能力的更可靠的估计。
  • 模型剪枝: 这涉及从训练好的网络中移除对其性能影响很小的参数或连接,从而降低复杂性。Neural Magic等公司提供专门用于剪枝模型的工具,以实现高效部署。

加入 Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入
链接已复制到剪贴板