谷歌把数据增强也自动化了,ImageNet数据集准确率创新高!

作者 | Ekin Dogus Cubuk,Barret Zoph
译者 | 核子可乐
编辑 | Vincent
AI 前线导读:深度学习技术在计算机视觉领域获得的成功,在很大程度上要归功于目前出现的大量可直接使用的标记训练数据集——随着训练数据集在质量、多样性与规模层面的不断提高,我们的模型性能通常也将同步改善。

然而,收集充足的高质量数据以训练模型,从而实现良好性能通常是一项极为困难的工作。解决这个问题的方法之一,在于将图像对称性硬编码神经网络架构,从而提升其实际表现 ; 或者由专家手动设计数据增强方法,例如旋转与翻转,从而训练出性能出众的视觉模型。

此前人们对于如何利用机器学习技术以自动增强现有数据这一课题往往关注不多。而受到 AutoML 在设计神经网络架构与优化器方面表现出的强大能力的启发,我们不禁想到:是否能够以自动化方式完成数据增强过程?

更多干货内容请关注微信公众号“AI 前线”,(ID:ai-front)

在之前的文章( https://arxiv.org/abs/1805.09501) 中,我们曾经探讨过一种强化学习算法,其能够增加现有训练数据集当中数据的数量与多样性。简单来讲,数据增强的意义在于教会模型发现数据域中的图像不变性,从而确保神经网络在这些重要的对称性层面始终保持不变,最终实现性能提升。与以往需要以手动方式设计数据增强策略的深度学习模型不同,我们利用强化学习技术从数据当中找到最佳图像转换策略。其结果是,计算机视觉模型的性能得到提高,而用户则不必为其提供新的、不断扩展的数据集。

训练数据增强

数据增强背后的基本思路非常简单:图像拥有大量对称性,这种对称性不会影响到图像中已经存在的信息。举例来说,狗在进行镜面反射后仍然是狗。虽然这些“不变性”在很大程度上能够为人类所轻易理解,但也有一些并不是那么直观。混合方法(https://arxiv.org/abs/1710.09412) 能够在训练过程当中将图像彼此重叠以实现数据增强,从而产生出能够切实改善神经网络性能的数据。

图左:来自 ImageNet 数据集的一张原始图片。图右:通过常规数据增强转换得出的左右翻转版本。

AutoAugment 是一种专门为计算机视觉数据集设计的定制化自动数据增强策略。举例来说,其能够实现多种基本图像转换操作,例如水平 / 垂直翻转、图像旋转以及图像颜色变更等等。AutoAugment 不仅能够预测需要合并的图像转换,还可以预测各图像所使用转换方式的概率与量级,从而确保以不尽相同的方式对各图像进行操作。AutoAugment 能够从 2.9 x 1032 种图像转换可能性当中检索出最佳策略。

AutoAugment 还可以根据当前数据集学习到不同的转换方法。举例来说,对于包含数字的自然场景图像——例如房屋号码与街道视图(SVHN,http://ufldl.stanford.edu/housenumbers/) ——AutoAugment 会将重点放在以剪切与平移实现几何变换上,从而代表数据集中常见的失真现象。此外,考虑到全球各不同建筑物与门牌号材料的多样性,AutoAugment 还学习了如何完全改变原始 SVHN 数据集中出现的颜色信息。

图左:来自 SVHN 数据集的原始图像。图右:由 AutoAugment 转换后的相同图像。在这种情况下,最佳变换在于剪切图像并反转像素颜色。

在 CIFAR-10 与 ImageNet 数据集上,AutoAugment 不会使用剪切,因为这些数据集内的图像通常不包含剪切对象 ; 也不会完全反转颜色,因为这种转换会产生与实际情况不符的表达。相反,AutoAugment 的重点在于略微调整色彩与色调分布,同时保留常规颜色属性。这表明 CIFAR-10 与 ImageNet 中的物体实际颜色非常重要,而 SVHN 中只有相对颜色才比较重要。

图左:来自 ImageNet 数据集中的原始图像。图右:由 AutoAugment 策略转换后的相同图像。右图对比度实现最大化,此外右图还经过了旋转处理。

结 果

我们的 AutoAugment 算法从一系列最知名的计算机视觉数据集当中发现了多种增强策略,这些数据集在与神经网络训练相结合之后将带来极为可观的精确率水平。通过增强 ImageNet 数据,我们获得了最高的 83.54% 精确率 ; 而在 CIFAR-10 方面,我们的错误率仅为 1.48%——比科学家们设计的默认数据错误率低 0.83%。在 SVHN 方面,我们将错误率由 1.30% 降低至 1.02%。重要的是,AutoAugment 所发现的策略亦具备可迁移性——为 ImageNet 数据集整理出的策略亦适用于其它视觉数据集(Stanford Cars、FGVC-Aircraft 等),从而改善神经网络性能。

我们高兴地看到,我们的 AutoAugment 算法在众多不同的竞争性计算机视觉数据集上皆实现了良好的性能水平,并期待着未来能够将其应用于更多计算机视觉任务当中,甚至包括其它领域(例如音频处理或语言模型)。感兴趣的朋友可以点击此处(https://arxiv.org/abs/1805.09501) 查看相关论文附录,从而利用其改进自身视觉任务的模型质量。

鸣 谢

这里我们要特别感谢论文的合著者 Dandelion Mane、Vijay Vasudevan 以及 Quoc V. Le。我们还要感谢 Alok Aggarwal、Gabriel Bender、Yanping Huang、Pieter-Jan Kindermans、Simon Kornblith、Augustus Odena、Avital Oliver 以及 Colin Raffel 对本项目提供的宝贵协助。

原文链接:

https://ai.googleblog.com/2018/06/improving-deep-learning-performance.html


猜你喜欢

转载自juejin.im/post/5b165238e51d4506df2769af