为什么Rand Augment是最好的图像数据增强算法

November 18 2020 487 机器学习

文章大体翻译自原文链接

背景信息

RandAugment非常简单。拿一张图片举例,输入两个整数$N$和$M$,$N$为随机变换的数量,$M$是变换的幅度。仅使用这些参数,RandAugment就能够生成不同的图像并增强学习器学习效果。例如当$N=2$时,在给定$M$值时我们有$13^2=169$种生成图像。由于我们需要处理更多的随机数据,因此这种随机性使得基于数据增强的机器学习的方法更有优势(即数据越多质量越高,机器学习效果越好)。这种简单性也意味着RandAugment可以在不同的任务和数据集上进行使用,并且很快就能有效工作,这一算法可以和之前在CIFAR-10/100,SVHN和ImageNet数据集上做的自动化数据增强算法效果媲美或者更优。
自动化数据增强算法往往由于无法调整正则强度而不能在更大数据集上工作,RandAugment可以很好的解决这个问题

为什么质量噪声很重要(为什么学习到的增强策略是无效的)

我们证明,数据增强的最佳强度取决于模型大小和训练集大小。 观察结果表明,对于较小的代理任务,对增强策略进行单独的优化可能对于学习和转移增强策略而言不是最优的。

上面一段引自论文原文。一开始,这个看似简单的观点微不足道,无法引起注意,但是我们也无法忽略。 通常,数据样本越小,行为就越极端。 然而,本文提出了一个新的角度。
最优的增强策略参数取决于模型和训练集的大小

研究团队考虑了两个因素:模型大小和网络大小。图3a展示了针对不同的Wide-ResNet模型,在不断增加的扭曲幅度下训练出的模型准确率和相对增益,展示了整个扭曲幅度的系统趋势。从图3b绘制的所有Wide-ResNet架构与最佳扭曲幅度的关系图可见,随着网络规模的增加可以看出明显的单调趋势。较大的网络需要较大的图像扭曲来进行正则化。图3b可见基于学习的策略得到的扭曲幅度在所有网络架构中显然不是最优的。

图3b和图3d也展示了相似的结果。很明显,在较小的训练集上训练的模型可能会从数据增强中获得更大的改进(例如,图3c中为3.0%对1.5%)。对于较小的数据集,添加另一张图像时数据总体大小的相对增加率会更高。有趣的是,图3d证明,最佳扭曲大小随训练集大小而单调增加。结合这两个因素,“这种趋势凸显了在大型数据集上增加数据增强强度的需求,以及在由训练数据的子集组成的代理任务上优化学习的增强策略的缺点。 即,学习到的增强策略是更适合于代理的任务而不是更大的感兴趣任务的增强策略。”

简而言之,RandAugment获胜是因为它可以以经济高效的方式与数据和网络成比例地扩展。 这对于大型网络和大型数据集来说非常有用。

效果评估

现在,我们了解了RandAugment的功能以及为何如此有效,让我们深入了解评估的细节。 通过评估使用的不同指标,我们可以了解本文的潜在扩展。 它使我们能够通过查看基准测试的性能来评估该技术的优势。

平均性能

又是这张图
平均性能是非常惊人的。其他的自动化机器学习方法的搜索空间是RandAugment的很多倍,然而RandAugmen的效果还是要比其他方法好。

不同模型大小的对比


随着模型大小的增加,RandAugment效果比其他自动化数据增强算法要好,这在不同的网络架构之间是一致的。

图像分类(ImageNet)

ImageNet数据集上的效果
ImageNet是图像分类的标准数据集。相同网络模型下,RandAugment的效果都要优于其他自动化数据增强算法。

物体检测

唯一效果差于其他自动化数据增强算法的领域
物体检测是一个快速发展的领域,对于无人驾驶汽车等至关重要。 在此任务中,我们看到RandAugment的性能低于其他自动化数据增强算法。 但是,有趣的是,RandAugment的性能仍然可以比基线要好。 这一点令人印象深刻,因为AutoAugment使用了15K的GPU小时,而RandAugment则通过6个参数进行了调整。

参考文献

  1. RandAugment: Practical automated data augmentation with a reduced search space

文章最后更新于2020年11月18日

说两句

 表情