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

计算机视觉模型旨在识别模式、检测对象和分析图像。不过,它们的性能取决于对未见过的数据进行泛化的能力。泛化是指模型在新图像上表现良好的能力,而不仅仅是在训练数据上表现良好。训练这些模型时,一个常见问题是过拟合,即模型从训练数据中学到了过多内容,包括不必要的噪声,而不是识别有意义的模式。
发生这种情况时,模型在训练数据上表现良好,但在新图像上表现不佳。例如,仅使用高分辨率、光照良好的图像训练的目标检测模型,在真实环境中遇到模糊或有阴影的图像时可能会失效。过拟合限制了模型的适应能力,从而限制了它在自动驾驶、医学影像和安防系统等真实应用中的使用。
本文将介绍过拟合是什么、为什么会发生,以及如何防止它。我们还将了解像 Ultralytics YOLO11 这样的计算机视觉模型如何帮助减少过拟合并提升泛化能力。
什么是过拟合?#
当模型记住训练数据,而不是学习适用于新输入的通用模式时,就会发生过拟合。模型过度关注训练数据,因此在面对之前未见过的新图像或新情况时会表现不佳。
在计算机视觉中,过拟合会影响不同的任务。仅使用明亮、清晰的图像训练的分类模型,在低光照条件下可能表现不佳。从完美图像中学习的目标检测模型,在拥挤或杂乱的场景中可能会失效。同样,实例分割模型在受控环境中可能运行良好,但在面对阴影或重叠对象时会遇到困难。
这在真实世界的 AI 应用中会成为问题,因为模型必须能够超越受控的训练条件进行泛化。例如,自动驾驶汽车必须能够在不同的光照、天气和环境下检测行人。在不可预测的场景中,过度拟合训练集的模型无法可靠地运行。
过拟合何时发生,以及为什么会发生?#
过拟合通常由数据集不平衡、模型复杂度过高和训练过度导致。以下是主要原因:
- 训练数据有限:小型数据集会让模型记住模式,而不是对其进行泛化。仅使用 50 张鸟类图像训练的模型,可能难以检测数据集之外的鸟类。
- 模型过于复杂且参数过多:具有过多层和神经元的深度网络往往会记住细节,而不是关注关键特征。
- 缺少数据增强:如果没有裁剪、翻转或旋转等变换,模型可能只会从完全相同的训练图像中学习。
- 训练时间过长:如果模型反复遍历训练数据太多次,即经历了过多的轮次,它会记住细节,而不是学习通用模式,从而降低适应能力。
- 标签不一致或存在噪声:错误标注的数据会导致模型学习错误的模式。这在人工标注的数据集中很常见。
在模型复杂度、数据集质量和训练技术之间采取均衡的方法,可以确保更好的泛化能力。
过拟合与欠拟合#
过拟合和欠拟合是深度学习中两个完全相反的问题。

图 1. 计算机视觉模型中欠拟合、最佳学习状态和过拟合的比较。
当模型过于复杂、过度关注训练数据时,就会发生过拟合。模型不是学习通用模式,而是记住细枝末节,甚至是背景噪声等无关信息。这会导致模型在训练数据上表现良好,却难以处理新图像,也就是说,它并没有真正学会识别适用于不同情况的模式。
当模型过于简单、遗漏数据中的重要模式时,就会发生欠拟合。当模型层数过少、训练时间不足或数据有限时,都可能出现这种情况。因此,模型无法识别重要模式,预测结果也不准确。由于模型没有充分学习以正确理解任务,它在训练数据和测试数据上的表现都会很差。
经过良好训练的模型能够在复杂度和泛化能力之间找到平衡。模型应当足够复杂,以学习相关模式,但又不能复杂到只会记住数据,而无法识别底层关系。
如何识别过拟合#
以下是表明模型出现过拟合的一些迹象:
- 如果训练准确率显著高于验证准确率,模型很可能出现了过拟合。
- 训练损失与验证损失之间不断扩大的差距,也是一个明显的指标。
- 模型对错误答案过于自信,说明它记住了细节,而不是理解了模式。
为了确保模型具有良好的泛化能力,需要在能够反映真实条件的多样化数据集上进行测试。
如何防止计算机视觉中的过拟合#
过拟合并非不可避免,而且可以加以防止。通过使用正确的技术,计算机视觉模型可以学习通用模式,而不是记住训练数据,从而在真实应用中更加可靠。
以下是防止计算机视觉中过拟合的五项关键策略。
通过增强和合成数据提升数据多样性#
帮助模型在新数据上良好运行的最佳方法,是通过数据增强和合成数据扩展数据集。合成数据由计算机生成,而不是从真实世界的图像中采集。它可以在真实数据不足时填补数据缺口。

图 2. 结合真实世界数据和合成数据可以减少过拟合并提升目标检测准确率。
数据增强会对现有图像进行轻微修改,例如翻转、旋转、裁剪或调整亮度,使模型不会只记住细节,而是学会在不同情况下识别对象。
当真实图像难以获取时,合成数据非常有用。例如,自动驾驶汽车模型可以使用计算机生成的道路场景进行训练,学习如何在不同天气和光照条件下检测对象。这样无需数千张真实图像,就能让模型更加灵活可靠。
优化模型复杂度和架构#
深度神经网络是一种包含许多数据处理层的机器学习模型,但它并不总是更好。当模型具有过多层或参数时,它会记住训练数据,而不是识别更广泛的模式。减少不必要的复杂度有助于防止过拟合。
为此,一种方法是进行剪枝,移除冗余的神经元和连接,使模型更加精简高效。
另一种方法是通过减少层数或神经元数量来简化架构。像 Ultralytics YOLO11 这样的预训练模型经过设计,能够以更少的参数在不同任务之间实现良好泛化,因此比从头训练深度模型更不易过拟合。
在模型深度和效率之间找到适当的平衡,有助于模型学习有用模式,而不是只记住训练数据。
应用正则化技术#
正则化技术可以防止模型过度依赖训练数据中的特定特征。以下是一些常用技术:
- Dropout 会在训练期间随机关闭模型的部分组件,使模型学会识别不同模式,而不是过度依赖少数特征。
- **权重衰减(L2 正则化)**会抑制过大的权重值,从而控制模型的复杂度。
- 批归一化通过降低模型对数据集变化的敏感性,帮助稳定训练过程。
这些技术有助于保持模型的灵活性和适应能力,在保持准确率的同时降低过拟合风险。
通过验证和提前停止监控训练#
为了防止过拟合,跟踪模型的学习过程并确保其能够很好地泛化到新数据非常重要。以下是两种可以提供帮助的技术:
- 提前停止:当模型不再提升时自动结束训练,避免模型继续学习不必要的细节。
- 交叉验证:将数据划分为多个部分,并在每一部分上训练模型。这有助于模型学习模式,而不是记住特定图像。
这些技术有助于保持模型的平衡,使其在获得足够准确性的同时,不会过度关注训练数据。
使用预训练模型并改进数据集标注#
与从头开始训练相比,使用 Ultralytics YOLO11 等预训练模型可以减少过拟合。YOLO11 在大规模数据集上训练,因此能够在不同条件下实现良好泛化。

图 3. 预训练计算机视觉模型可以提升准确率并防止过拟合。
微调预训练模型可以让它保留已有知识,同时学习新任务,从而避免只记住训练数据。
此外,确保数据集标注质量高也至关重要。错误标注或不平衡的数据可能误导模型,使其学习错误模式。清理数据集、修正错误标注的图像并平衡类别,可以提升准确率并降低过拟合风险。另一种有效方法是对抗训练,让模型接触经过轻微修改或更具挑战性的示例,以测试其能力边界。
要点总结#
过拟合是计算机视觉中的常见问题。模型可能在训练数据上运行良好,但在真实世界的图像上表现不佳。为避免这种情况,数据增强、正则化以及使用 Ultralytics YOLO11 等预训练模型等技术,有助于提升准确率和适应能力。
通过应用这些方法,AI 模型可以在不同环境中保持可靠并实现良好性能。随着深度学习不断发展,确保模型能够正确泛化将是实现真实世界 AI 成功的关键。
加入我们不断壮大的社区!访问我们的 GitHub 代码仓库,进一步了解 AI。准备好开始自己的计算机视觉项目了吗?查看我们的许可选项。访问我们的解决方案页面,了解自动驾驶中的视觉 AI和医疗保健中的 AI!









