我想使用 GAN 进行数据增强,但我很困惑什么是优点。和缺点。使用 GAN 进行数据增强,或者为什么我们使用 GAN 进行数据增强与其他数据增强技术(如标准数据增强)相比?
你的回答会对我有很大的帮助。谢谢。
我想使用 GAN 进行数据增强,但我很困惑什么是优点。和缺点。使用 GAN 进行数据增强,或者为什么我们使用 GAN 进行数据增强与其他数据增强技术(如标准数据增强)相比?
你的回答会对我有很大的帮助。谢谢。
GAN 和传统的增强技术在某种程度上有根本的不同:GAN 产生(并组合)以前在数据集中看到的模式,数据增强将模式添加到数据中。
经过深思熟虑的数据增强尝试添加数据中可能存在的变化。例如:在 arial 摄影中,围绕 z 轴的旋转是非常微不足道的,慷慨地添加它可能是明智之举,另一方面,在光谱中:例如,在计算机生成的卡通片中,你不会期望有太多的高斯噪声,并且您可能希望稀疏地使用它。
GAN 不添加信息,它们大多添加与您(我假设)要训练的 ConvNet 相同的本地化模式。GAN 提供的好处是您可以使用未标记的数据来训练您的卷积层,其中包含您可能在该领域中期望的概念。
其他朝着同一方向发展的技术,你可能想看看,是弱监督学习和自动编码(恕我直言,这与你最初的 GAN 想法非常接近)。
首先,通过标准数据增强,我将指的是翻转图像(上/下、左/右)、仿射变换(旋转、平移、裁剪、剪切等)、调整图像的亮度/对比度等技术。图像,向图像添加噪声(盐和胡椒,高斯等)等等。
在描述标准与 GAN 增强的优缺点之前,我们应该注意为什么数据增强是有效的。简而言之,深度神经网络具有记忆较小数据集的能力,导致它们过度拟合。他们受益于更多的图像和更多的图像种类。数据增强是一种从现有图像生成新图像的方法,这些图像具有与原始图像相同的语义内容。例如,如果我有一个猫的图像并且我翻转它,它仍然是一只猫;然而,网络认为这是一个新形象。这些技术非常有效,甚至可以用于不存在上述问题的大型数据集,以进一步提高其性能。
主要问题是我们可以使用的增强策略因输入图像而异。例如,mnist数据集是机器学习中最流行的数据集之一,用于识别手写数字。在这种情况下,我们不能翻转图像或过度旋转它们。另一种情况是遵循严格格式的医学图像。例如,MRI 是居中的、对齐的、横向/水平不对称的,并且在亮度和对比度方面有些标准化。这严重限制了我们可以完成的增强功能。这使得他们的应用程序在大多数情况下都是临时的。
这些技术可能会促使我们使用更先进的数据增强技术,即使用 GAN 生成合成图像。事实上,如果做得好,GAN 增强将解决所有这些问题。
但是,它们也有其缺点。
尽管我将一种技术与另一种技术进行比较,但我想指出,使用一种技术并不能排除另一种技术。事实上,我们发现结合标准和基于 GAN 的增强比单独的增强更有帮助。
如果您更感兴趣,可以阅读我们所做的这项研究,该研究侧重于使用 GAN 在医学图像中进行数据增强。
虽然这里的所有答案都是正确的,但我想为此添加一个新的视角。
您可以将常见的数据增强技术视为对数据的分布曲线进行四舍五入。也就是说 - 如果您的数据集的某些特征应该看起来像高斯曲线,但现在还不是,那么数据增强技术将有助于增加数据样本和方差,以使曲线朝着理想的、自然发生的或统计的方向发展预期的形式。因此,您的起点是更多的数据样本,并且您以更好看更理想的(基于您的应用程序)分布曲线结束。
另一方面,生成对抗网络从您已经拥有的分布曲线开始,并生成符合(或同意)已经建立的分布曲线的数据样本。类似于具有预定义分布的随机数生成器,以符合 - 均匀、高斯、罗利等。
因此,这里有一个通用指南(并非总是适用),您可以使用它来构建此讨论。当您在数据中看不到预期的统计属性时,请使用数据增强技术。这可能是由于缺乏差异和/或数据短缺。您可能需要传统的数据增强技术。
一旦您在数据中拥有理想(或最接近理想)分布,或者您知道数据的理想分布应该是什么,使用 GAN 综合生成更多数据以进行半监督学习、进一步训练和改进模型泛化和鲁棒性.
有关数据增强的更多信息,请在此处查看我们的博客。