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

什么是计算机视觉中的过拟合?以及如何预防?

Abdelrahman Elgendy

6 分钟阅读

2025年3月13日

了解计算机视觉中的过拟合是什么,以及如何使用数据增强、正则化和预训练模型来防止它。

计算机视觉模型旨在识别模式、检测对象和分析图像。但是,它们的性能取决于它们对未见过的数据的泛化程度。泛化是模型在新图像(而不仅仅是它所训练的图像)上良好工作的能力。训练这些模型的一个常见问题是过拟合,在这种情况下,模型从其训练数据中学习过多,包括不必要的噪声,而不是识别有意义的模式。

当发生这种情况时,模型在训练数据上表现良好,但在处理新图像时会遇到困难。例如,一个仅在高分辨率、光线充足的图像上训练的目标检测模型,在现实条件下遇到模糊或阴影图像时可能会失效。过拟合限制了模型的适应性,从而限制了其在自动驾驶、医学成像和安全系统等实际应用中的使用。

在本文中,我们将探讨什么是过拟合、为什么会发生以及如何预防。我们还将了解像 Ultralytics YOLO11 这样的计算机视觉模型如何帮助减少过拟合,提高泛化能力。

什么是过拟合?

当模型记住训练数据而不是学习广泛适用于新输入的模式时,就会发生过拟合。该模型过于关注训练数据,因此在处理它以前没有见过的新图像或情况时会遇到困难。

在计算机视觉中,过拟合会影响不同的任务。仅在明亮、清晰的图像上训练的分类模型可能在弱光条件下表现不佳。从完美图像中学习的目标检测模型可能在拥挤或混乱的场景中失败。同样,实例分割模型可能在受控设置中工作良好,但在阴影或重叠对象方面遇到问题。

这在实际的人工智能应用中会成为一个问题,因为在实际应用中,模型必须能够在受控训练条件之外进行泛化。例如,自动驾驶汽车必须能够在不同的光照条件、天气和环境中检测行人。如果模型过度拟合其训练集,则无法在此类不可预测的场景中可靠地运行。

过度拟合何时以及为什么会发生?

过拟合通常是由于数据集不平衡、模型复杂度过高和过度训练造成的。以下是主要原因:

  • 有限的训练数据:小型数据集使模型记住模式而不是泛化模式。 在仅包含 50 张鸟类图像上训练的模型可能难以检测该数据集之外的鸟类物种。

  • 具有过多参数的复杂模型:具有过多层和神经元的深度网络倾向于记忆精细的细节,而不是关注基本特征。

  • 缺乏数据增强:如果没有裁剪、翻转或旋转等转换,模型可能只会从其精确的训练图像中学习。

  • 训练时间过长: 如果模型多次遍历训练数据(称为epochs),它会记住细节而不是学习一般模式,从而降低其适应性。

  • 标签不一致或嘈杂: 错误标记的数据会导致模型学习错误的模式。这在手动标记的数据集中很常见。

在模型复杂性、数据集质量和训练技术之间取得平衡的方法可以确保更好的泛化能力。

过拟合与欠拟合

过拟合和欠拟合是深度学习中两个完全相反的问题。

__wf_reserved_inherit
图 1. 计算机视觉模型中欠拟合、最佳学习和过拟合的比较。

当模型过于复杂时,就会发生过拟合,从而过度关注训练数据。 它不是学习一般的模式,而是记住小的细节,甚至是无关紧要的细节,比如背景噪音。这会导致模型在训练数据上表现良好,但在处理新图像时会遇到困难,这意味着它并没有真正学会如何识别适用于不同情况的模式。

当模型过于简单时,就会发生欠拟合,因此它会错过数据中的重要模式。当模型层数太少、训练时间不足或数据有限时,可能会发生这种情况。因此,它无法识别重要的模式并做出不准确的预测。这会导致训练和测试数据的性能不佳,因为模型没有学到足够的知识来正确理解任务。 

一个训练有素的模型可以在复杂性和泛化之间找到平衡。它应该足够复杂以学习相关模式,但又不能过于复杂以至于记住数据而不是识别潜在的关系。

如何识别过拟合

以下是一些表明模型过拟合的迹象:

  • 如果训练准确率明显高于验证准确率,则模型可能正在过拟合。
  • 训练损失和验证损失之间差距扩大是另一个强烈的指标。
  • 该模型对错误的答案过于自信,表明它记住了细节而不是理解了模式。

为了确保模型具有良好的泛化能力,需要在反映真实情况的各种数据集上对其进行测试。

如何在计算机视觉中防止过拟合

过拟合并非不可避免,并且可以预防。通过正确的技术,计算机视觉模型可以学习一般的模式,而不是记住训练数据,从而使其在实际应用中更加可靠。 

以下是防止计算机视觉中过度拟合的五个关键策略。

通过增强和合成数据提高数据多样性

帮助模型在新数据上良好工作的最佳方法是使用数据增强和合成数据来扩展数据集。合成数据是由计算机生成的,而不是从真实世界的图像中收集的。当没有足够的真实数据时,它有助于填补空白。

__wf_reserved_inherit
图 2. 结合真实世界和合成数据可减少过拟合,并提高目标检测的准确性。

数据增强通过翻转、旋转、裁剪或调整亮度等方式略微改变现有图像,使模型不仅仅是记住细节,而是学会识别不同情况下的物体。

当真实图像难以获取时,合成数据非常有用。例如,自动驾驶汽车模型可以在计算机生成的道路场景上进行训练,以学习如何在不同的天气和光照条件下检测物体。这使得模型更灵活、更可靠,而无需数千张真实世界的图像。

优化模型复杂度和架构

深度神经网络是一种机器学习模型,它具有许多处理数据的层,而不是单层,但并非总是更好。当模型具有太多层或参数时,它会记住训练数据,而不是识别更广泛的模式。减少不必要的复杂性可以帮助防止过度拟合。

为了实现这一点,一种方法是剪枝,它可以删除冗余的神经元和连接,使模型更精简、更高效。 

另一种方法是通过减少层数或神经元来简化架构。像 YOLO11 这样的预训练模型旨在通过更少的参数在各种任务中表现良好,使其比从头开始训练深度模型更能抵抗过拟合。

在模型深度和效率之间找到适当的平衡,有助于模型学习有用的模式,而不仅仅是记住训练数据。

应用正则化技术

正则化技术可以防止模型过度依赖训练数据中的特定特征。以下是一些常用的技术:

  • Dropout(随机失活)在训练期间关闭模型的随机部分,使其学习识别不同的模式,而不是过度依赖少数特征。

  • 权重衰减(L2 正则化) 抑制极端的权重值,从而控制模型的复杂性。

  • 批量归一化 通过确保模型对数据集中的变化不太敏感,从而有助于稳定训练。

这些技术有助于保持模型的灵活性和适应性,降低过拟合的风险,同时保持准确性。

通过验证和提前停止来监控训练过程

为了防止过拟合,跟踪模型如何学习并确保它能很好地泛化到新数据非常重要。以下是一些可以帮助您实现这一目标的技巧:

  • 提前停止:当模型停止改进时自动结束训练,因此它不会继续学习不必要的细节。

  • 交叉验证: 将数据分成几部分,并在每个部分上训练模型。 这有助于它学习模式,而不是记住特定的图像。

这些技术有助于模型保持平衡,使其能够充分学习以保持准确性,而又不会过于关注训练数据。

使用预训练模型并改进数据集标注

使用像 YOLO11 这样的预训练模型可以减少过拟合,而不是从头开始训练。YOLO11 在大规模数据集上进行训练,使其能够在不同的条件下很好地泛化。

__wf_reserved_inherit
图 3. 预训练的计算机视觉模型可提高准确性并防止过拟合。

微调预训练模型有助于它保留已知的知识,同时学习新任务,因此它不会仅仅记住训练数据。

此外,确保高质量的数据集标注至关重要。错误标记或不平衡的数据可能会误导模型学习不正确的模式。清理数据集、修复错误标记的图像和平衡类别可以提高准确性并降低过度拟合的风险。另一种有效的方法是对抗训练,其中模型会接触到略有改变或更具挑战性的示例,旨在测试其极限。

主要要点

过拟合是计算机视觉中常见的问题。模型在训练数据上可能表现良好,但在实际图像中却表现不佳。为了避免这种情况,可以采用数据增强、正则化以及使用像 YOLO11 这样的预训练模型等技术,以提高准确性和适应性。

通过应用这些方法,AI 模型可以保持可靠性,并在不同的环境中表现良好。随着深度学习的改进,确保模型能够正确泛化将是 AI 在现实世界中取得成功的关键。

加入我们不断壮大的社区!探索我们的GitHub仓库以了解更多关于人工智能的信息。准备好开始您自己的计算机视觉项目了吗?查看我们的许可选项。通过访问我们的解决方案页面,探索自动驾驶中的视觉人工智能医疗保健中的人工智能

让我们一起构建人工智能的未来!

开启您的机器学习未来之旅

免费开始
链接已复制到剪贴板