数据增广方法在广义上可以按照产生新数据的方式分为数据变形和数据过采样。由于操作简单,同时数据量上的需求远比现在要低得多,早期对数据增广的应用多是数据变形类方法。对于图像数据,基本的图像变换操作都属于数据变形类增广方法,在应用到深度学习中的工作最早可见于LeNet-5对图像进行仿射变换。随着卷积神经网络的发展,各种经典的网络模型在其图像分类任务中都或多或少地采用了数据变形类增广方法以防止过拟合问题。例如,AlexNet使用了裁剪、水平镜像、基于主成分分析的色彩增强对训练数据进行增广; VGG网络使用了多尺度缩放和裁剪的方式进行数据增广; GoogLeNet采用了AlexNet中的裁剪加镜像的方法并且进一步拓展,在测试时进行数据增广,将一幅图像增广到144 个样本,并对所有样本的Softmax概率取平均值以得到最终分类结果; 类似地,在后来的残差网络和密集连接卷积网络中,也都采用了最简单的几何变换对图像进行数据增广,并且也都取得了显著的精度提升。
除了采用图像处理中基本的图像变换和图像增强操作,受dropout主动删除一部分神经元信息以解决过拟合问题的启发,随机删除图像中的局部信息来进行数据增广的方法被提出。除了在单幅图像上进行变换,采用多幅图像进行信息混合,其中最为代表性的方法有SamplePairing 、mixup、SMOTE等,这类方法本质上属于数据过采样。
之后,随着机器学习的进一步发展,诞生了对抗学习、元学习、强化学习等新的智能化概念。由于生成对抗网络可以生成十分逼真的图像,一种很自然的想法便是借助其产生新的图像样本进而扩充训练数据集,这种想法的有效性在不同的领域和任务中都得到了验证。而借助元学习和强化学习的思想,可以训练一个模型去自适应地选用最优的数据增广策略,来实现模型性能提升的最大化,如AutoAugment和RandAugment,为未来数据增广方法的发展定义了新的研究方向,同时也为智能化选择数据增广策略奠定了新的基础。
你可以去看看相关的综述,对数据增广方法比较全面的综述是Shorten和Khoshgoftaar于2019 年发表的文章,该综述从方法的复杂度角度考虑把数据增广方法分成“基本图像操作”和“深度学习方法”两大类,详述了每大类包含的各种方法及其应用效果。
一般情况下,可以将数据扩增方法分为单数据变形、多数据混合、学习数据分布规律生成新数据和学习增广策略等4 类方法。以上顺序也在一定程度上反映了数据增广方法的发展历程。如果与Shorten和Khoshgoftaar的成果对照,就图像数据而言,基于数据变形和数据混合的方法可看做是基本的图像变换操作,而学习数据分布和学习增广策略的方法主要依赖于机器学习中的生成式方法和策略搜索方法,大多依赖于深度学习方法。为避免针对图像的“数据增强”与数字图像处理领域中“图像增强”的混淆,一般使用“数据增广”表示机器学习领域内增加样本数量、扩大训练集的这类方法。
相关的文章参考
几种信号降噪算法(第一部分)
https://www.toutiao.com/article/7190201924820402721/
几种信号降噪算法(第二部分)
https://www.toutiao.com/article/7190270349236683264/
机械故障诊断及工业工程故障诊断若干例子(第一篇)
https://www.toutiao.com/article/7193957227231855163/
知乎咨询:哥廷根数学学派
算法代码地址,面包多主页:mbd.pub/o/GeBENHAGEN
擅长现代信号处理(改进小波分析系列,改进变分模态分解,改进经验小波变换,改进辛几何模态分解等等),改进机器学习,改进深度学习,机械故障诊断,改进时间序列分析(金融信号,心电信号,振动信号等)