术语表

数据扩充

通过数据扩增增强机器学习模型。探索提高准确性、减少过拟合和改善鲁棒性的技术。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

数据扩增是机器学习中的一种技术,通过创建现有数据的修改版本,人为地扩大训练数据集的规模。这一过程包括对原始数据进行各种转换,如旋转、翻转、缩放或裁剪图像。通过增加训练数据的多样性,数据扩增有助于提高机器学习模型的泛化能力,使其更加稳健,不易出现过拟合。当模型对训练数据(包括噪声和异常值)学习得太好时,就会出现过拟合,从而导致在新的未见数据上表现不佳。

数据扩充的好处

数据扩增有几个主要好处。首先,在训练过程中让模型接触到更广泛的变化,有助于减少过拟合。这使得模型对训练数据的特定特征不那么敏感,更能够泛化到新的、未见过的数据中。其次,它可以提高模型的准确性和性能,尤其是在原始数据集较小或缺乏多样性的情况下。通过创建更多的训练示例,数据增强为模型提供了更多学习数据中潜在模式的机会。最后,数据扩增可以增强模型的鲁棒性,使其更能适应输入数据的变化,如光照、方向或背景噪声的变化。

常见的数据扩充技术

有几种常用的数据增强技术,特别是在计算机视觉任务中:

  • 几何变换:包括旋转、平移、缩放、剪切和翻转等操作。例如,将图像旋转几度或水平翻转,就能创建新的、有效的训练示例。
  • 色彩空间转换:调整图像的亮度、对比度、饱和度或色调可以模拟不同的照明条件,提高模型在不同环境中的通用能力。
  • 内核滤波器:应用滤波器锐化或模糊图像,可以帮助模型学习不受这些变化影响的特征。
  • 随机擦除:随机遮挡图像的部分内容有助于提高模型的鲁棒性,以应对遮挡或物体缺失的情况。
  • 混合图像:MixUp 和 CutMix 等技术涉及混合图像及其相应标签,以创建新的训练示例。例如,MixUp 对图像及其标签进行线性插值。

计算机视觉中的数据增强

在计算机视觉领域,数据增强尤其有用,因为它可以模拟模型可能遇到的各种真实场景。例如,在物体检测中,一个Ultralytics YOLO 页面上首次提到YOLO ,在增强图像上训练的模型就能学会检测物体,而不管物体的方向、大小或光照条件如何。这对自动驾驶汽车等应用至关重要,因为在这些应用中,模型必须在各种不可预测的条件下可靠地运行。例如,通过对行人和车辆图像进行旋转、缩放和添加噪声等各种变换,可以训练自动驾驶系统在各种实际场景中准确检测到这些物体。同样,在图像分类中,通过对图像进行不同的色彩调整,可以帮助模型更好地适应不同的光照条件。

其他领域的数据增强

数据增强技术广泛应用于计算机视觉领域,同时也适用于其他领域,如自然语言处理(NLP)和音频处理。在 NLP 中,同义词替换、反向翻译和随机插入/删除单词等技术可以增强文本数据。在音频处理中,添加背景噪声、改变音调或对音频进行时间拉伸都可以创建不同的训练示例。

实际应用

  • 医疗保健:在医学图像分析中,数据增强可用于在有限的医学图像上训练模型。例如,通过对核磁共振成像扫描应用旋转、翻转和小变形,模型可以学会在不同患者和成像条件下更准确地检测异常。
  • 农业:数据扩增可帮助训练模型,从不同条件下拍摄的图像中检测植物病害或虫害。通过增强不同光照、角度和缩放程度的作物图像,模型可以在田间发挥强大的性能,帮助农民及早发现问题并采取纠正措施。

数据扩充与其他技术

必须将数据扩增与其他相关技术区分开来:

  • 数据预处理:数据扩增和数据预处理都是为模型训练准备数据,而预处理通常包括归一化、标准化和处理缺失值等步骤。这些步骤对于确保数据格式适合模型至关重要。另一方面,数据扩增侧重于增加训练数据的多样性。
  • 合成数据生成合成数据涉及创建全新的数据点,通常使用生成模型,如生成对抗网络(GAN)。这与修改现有数据的数据增强不同。当真实数据稀缺或敏感时,如在医疗或金融应用中,合成数据尤其有用。

工具和图书馆

一些工具和库支持数据扩增。在Python 中,OpenCVTensorFlow等库为图像转换提供了广泛的功能。此外,Albumentations 等专业库还提供高度优化和多样化的扩增管道。Ultralytics HUB 还提供数据增强工具,使这些技术更容易集成到模型训练过程中。探索数据增强技术,如 MixUp、Mosaic 和 Random Perspective,以增强模型训练。

阅读全部