谷歌放大招!数据增强实现自动化

谷歌放大招!数据增强实现自动化


新智元编译

来源:Google Research

作者:Ekin Dogus Cubuk & Barret Zoph

编辑:闻菲、克雷格

【新智元导读】谷歌研究人员最新提出了一种自动数据增强方法,受AutoML的启发,他们尝试将数据增强的过程也实现自动化,使用强化学习从数据本身中找出最佳图像转换策略,在不依赖于生成新的和不断扩展的数据集的情况下,提高了计算机视觉模型的性能。

谷歌放大招!数据增强实现自动化

计算机视觉深度学习的成功,可部分归因于拥有大量带标记的训练数据——数据的质、量和多样性提高,模型的性能也通常会增强。但是,要收集足够多的高质量数据训练模型来实现良好的性能,通常非常困难。

解决这个问题的一种方法,是将图像对称(image symmetries)硬编码为神经网络结构,或者,让专家手动设计数据增强方法,比如旋转和翻转图像,这些都是训练性能良好的视觉模型常会用到的方法。

但是,直到最近,人们很少关注如何利用机器学习来自动增强现有数据。谷歌此前推出了AutoML,代替人为设计的系统组件,让神经网络自动设计神经网络和优化器,得到了良好的结果。受此启发,谷歌研究人员不禁问自己:是否也可以让数据增强过程自动完成?

在最新公布的论文《AutoAugment:从数据学习增强策略》(AutoAugment: Learning Augmentation Policies from Data)中,谷歌的研究人员探索了一种强化学习算法,增加了现有训练数据集中数据的数量和多样性。直观地说,数据增强用于教会模型有关数据域中的图像不变性(image invariances),让神经网络对这些重要的对称性保持不变(invariant),从而改善其性能。

研究人员表示,与以前使用手工设计数据增强策略的先进深度学习模型不同,他们使用强化学习从数据本身中找出最佳图像转换策略。结果在不依赖于生成新的和不断扩展的数据集的情况下,提高了计算机视觉模型的性能。

训练数据的增强

数据增强的思路很简单:图像具有许多对称性,这些对称性不会改变图像中存在的信息。例如,狗的镜面反射仍然是狗。这些“不变性”中的一些对人类来说显而易见,但有很多人类很难注意到。例如,mixup方法,通过在训练期间将图像置于彼此之上来增强数据,从而产生改善神经网络性能的数据。

谷歌放大招!数据增强实现自动化

左图:来自ImageNet数据集的原始图像。 右图:通过常用数据增强方法,水平翻转后的相同的图像。

AutoAugment是为计算机视觉数据集设计自定义数据增强策略的自动方式,例如,AutoAugment能指导基本图像转换操作的选择,例如水平/垂直翻转图像,旋转图像,更改图像颜色等。AutoAugment不仅可以预测要合并的图像转换,还可以预测所使用转换的每个图像的概率和大小,从而不总是以相同的方式操作图像。AutoAugment能够从2.9 x 10^32大的搜索空间中,选择出图像转换的最佳策略。

AutoAugment 根据所运行的数据集学习不同的转换。例如,对于包含数字自然场景的街景(SVHN)图像,AutoAugment 的重点是像剪切和平移这样的几何变换,它们代表了数据集中常见的失真现象。此外,由于世界上不同的建筑和房屋编号材料的多样性,AutoAugment机构已经学会了完全反转原始SVHN数据集中自然出现的颜色。

谷歌放大招!数据增强实现自动化

左:来自SVHN数据集的原始图像。右:相同的图像AutoAugment。在这种情况下,最优转换是剪切

在CIFAR-10和ImageNet上,AutoAugment 不使用剪切,因为这些数据集通常不包含剪切对象的图像,也不完全反转颜色,因为这些转换将导致不真实的图像。相反,AutoAugment r的重点是稍微调整颜色和色调分布,同时保持一般的色彩属性。这说明在CIFAR-10和ImageNet中对象的实际颜色是重要的,而在SVHN中只有相对的颜色是重要的。

谷歌放大招!数据增强实现自动化

左:ImageNet数据集的原始图像。右:AutoAugment策略转换的相同图像。首先,最大化图像

结果

我们的AutoAugment 算法发现了一些最著名的计算机视觉数据集的增强策略,这些数据集被纳入到神经网络的训练中,会产生最先进的精确性。通过增强ImageNet数据,我们获得了83.54% top1精度的新的最新精度,在CIFAR10上我们获得了1.48%的错误率,这比科学家设计的默认数据增强提高了0.83%。在SVHN上,我们将最先进的误差从1.30%提高到1.02%。重要的是,AutoAugment策略被发现是可转移的——为ImageNet数据集找到的策略也可以应用于其他视觉数据集(斯坦福汽车、FGVC-Aircraft等),从而改善神经网络的性能。

我们很高兴地看到,我们的AutoAugment算法在许多不同的竞争性计算机视觉数据集上都达到了这样的性能水平,并期待着未来在更多的计算机视觉任务中,甚至在音频处理或语言模型等其他领域,都能应用这种技术。在本文的附录中包含了性能最好的策略,以便研究人员可以使用它们来改进他们在相关视觉任务上的模型。

特别感谢文章合作者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


【加入社群】

新智元 AI 技术 + 产业社群招募中,欢迎对 AI 技术 + 产业落地感兴趣的同学,加小助手微信号: aiera2015_3 入群;通过审核后我们将邀请进群,加入社群后务必修改群备注(姓名 - 公司 - 职位;专业群审核较严,敬请谅解)。

相关推荐