数据的数量和变化对于大多数 ML 模型(例如深度学习神经网络模型)的性能非常重要。因此,神经网络模型的训练需要一个非常大的数据集。只有它才能达到生产就绪模型中预期的精度。
假设您有少量可用的数据集,不足以训练模型,并且您不知道如何生成具有所需数据变体的足够数据集。这正是“数据增强”有助于实现的目标。
什么是数据增强?
数据增强是一种通过向现有数据集添加某些变体并将其添加到原始数据集以生成“略微修改和乘法”数据来人为增加数据集体积的技术。您可以获取数据集中的所有可用样本,并以不同的方式对其进行多次修改,以获得更大的数据集。
数据集在模型训练中的重要性
机器学习管道的第一阶段是生成或获取用于训练机器学习模型所需的数据集。机器学习模型足够智能,可以识别训练的对象。但是,如果他们不是培训的一部分,他们就不那么聪明,无法处理不同的场景。
例如,如果训练模型时所有训练图像仅在一个特定方向上对齐,则它可能无法识别水平和/或垂直翻转图像中的对象。这样做的原因是它产生的特征与它在训练期间学习的特征不同,即使它们属于同一个对象。
在大多数情况下,高质量数据的可用性始终是一个大问题。它可能少量可用,也可能根本不可用。在这种情况下,收集足以达到所需精度的数据集将是一个挑战。如果数据集的数量不足或变化程度不高,则可能导致拟合不足或过度拟合。
为什么数据增强很重要?
在机器学习模型中,收集和标记数据是一个繁琐且成本高昂的过程。数据增强可以转换为数据集,帮助组织降低运营成本。同时,它解决了数据集大小有限和数据变化有限的问题。这提高了模型在各种方案中的整体性能。
它是如何工作的?
根据数据集的类型,可以使用不同的数据增强技术。有许多数据增强技术可用于图像/视频、音频和文本数据。我们将详细探讨图像/视频数据增强方法。
图像/视频中的数据增强技术
图像/视频将 RGB 信息存储在 2D 数组中。主要的数据增强技术可能是改变图像的方向、改变图像的分辨率/大小以及改变 RGB(像素)值。
这些选项的不同组合可以导致更多的增强方法。imgaug库提供了许多不同的图像数据增强选项,如下所示。
算术:-此类操作更改整个图像或其某些部分的像素值。加法和乘法选项将像素值相加和相乘一个随机数(在预定义范围内生成)。对于所有像素,此数字可能相同,对于相邻像素,此数字可能不同。有一些选项可以将随机像素或像素簇设置为常量值。类似的选项是为整个图像添加某些噪点。此外,还可以反转像素值
艺术的:-此类别提供了将图像样式转换为卡通图像的选项
模糊:-此类别提供了不同的选项来模糊图像内容。可能的选项是GaussianBlur,AverageBlur,MedianBlur,BilateralBlur,MotionBlur,MeanShiftBlur
颜色:-此类操作针对色彩空间、亮度、色调和饱和度。色彩空间选项的一个示例是将 RGB 转换为 HSV,然后将随机值(每个图像均匀采样)添加到 Hue 通道,并转换回 RGB。有一些选项可以对亮度、饱和度和色调执行加法和乘法运算。
反差:-此类操作专用于对比度处理。可用选项包括伽马对比度、Sigmoid 对比度、对数对比度、线性对比度
卷 积:-顾名思义,此类操作与具有预定义矩阵值的卷积图像有关。它提供了更改清晰度、添加浮雕效果和检测图像边缘的选项
空翻:-这是一个广泛使用的选项,它具有水平和/或垂直翻转图像的选项
几何:-此类操作可以缩放图像(如放大和缩小),移动图像(水平和/或垂直)并向图像的另一端添加填充,以及旋转图像
Imgcorruptlike:-此类选项会向图像添加不同的噪点,例如高斯噪点、散粒噪点、脉冲噪点、散斑噪点。它还提供不同的图像模糊选项,如高斯模糊、玻璃模糊、散焦模糊、运动模糊、缩放模糊。此外,还可以应用雾、霜、雪和飞溅效果
大小:-此类别的选项执行与图像大小相关的操作。可以根据特定的高度和宽度或调整大小的百分比调整图像大小。图像的裁剪和填充可以应用于图像的特定大小
图像数据增强通过生成所需级别的数据集,无疑提高了模型的准确性。
审核编辑:郭婷
-
神经网络
+关注
关注
42文章
4772浏览量
100857 -
机器学习
+关注
关注
66文章
8422浏览量
132743 -
深度学习
+关注
关注
73文章
5504浏览量
121250
发布评论请先 登录
相关推荐
评论