对于机器学习和深度学习,模型性能是和数据量直接挂钩的。数据增强是一种常见的用来提高模型性能的方法,它能对现有的图像、参数等添加扰动,如裁剪、缩放、改变颜色,使它们成为新图像、新参数,大大弥补了由过小数据集带来的模型性能受限问题。近日,Google提出了一种廉价的数据增强工具AutoAugment,用强化学习提高数据的数量和多样性,可以改善深度学习效果。

以下内容来自Google科学家Ekin Dogus Cubuk和Barret Zoph。

近年来,深度学习在计算机视觉中领域取得了极大成功,这离不开社区贡献的大量带标签的训练数据——随着数据的数量、质量和多样性不断提高,模型的性能也会越来越好。但是这些数据还是杯水车薪,在实际操作中,研究人员们往往没法获得足够质量过硬的数据,因此训练过程也十分困难。

解决这个问题的方法之一是通过平移从已有数据中创造出一批“新数据”,另一种方法则是让专家手动设计数据增强方法,如翻转、旋转等方法,并从中训练出性能良好的视觉模型。然而,近年来研究人员对利用机器学习实现数据增强自动化的关注却越来越少。

今年1月,Google Cloud首席科学家李飞飞及研发负责人李佳共同发布了AutoML,这是个可以自动设计神经网络架构和优化方法的工具,用户只需输入原始资料就能建立起符合自身需求的预测模型。受此启发,Ekin Dogus Cubuk和Barret Zoph开始问自己:我们是否也能实现数据增强的自动化?

在AutoAugment: Learning Augmentation Policies from Data这篇论文中,他们引入强化学习思想,增加了已有数据集的数据量和多样性。直观地说,即数据增强的直接目的是在控制模型复杂度的同时增加优质训练数据量,让模型能从中把握图像特征的不变性,在噪声中保持预测结果稳定,从而提高性能。而AutoAugment的独特之处是它一改以往手动设计增强策略,只用强化学习就能从数据本身找出最佳图像增强策略。既提高了训练效果,又帮助研究人员免除了寻找、制作数据集的烦恼,可谓一石二鸟。

增加训练数据

数据增强背后的想法很简单:图像对对称的包容性很高,对称后图像现有信息不会发生变化。比如狗的镜像图像还是一只狗。虽然这个例子中的“不变性”在人类看来是显而易见的,但现实中还存在许多人眼无法看到的“不变性”,如张宏毅和FAIR研究员提出的数据增强方法mixup。

左:来自ImageNet数据集的原始图像;右:镜像后的相同图像(数据增强)

AutoAugment能为计算机视觉数据集自动设计图像增强策略,它包含水平/垂直翻转、旋转、改变颜色等常规方法,但仅有这些是不够的。如果数据集里有一万张图,它只是像流水线工人一样水平翻转了1万张图,或是把颜色转换成黑白,这些新数据对模型训练来说是无用的。AutoAugment的实用之处在于它既能预测图像将要采用的图像增强方法,又能预测每种增强方法的使用占比和图像大小。它是在2.9×1032的搜索空间中寻找最佳策略。

对于不同数据集,AutoAugment的适用性也十分优秀,比如街景照片中包含房屋门牌号的图像(SVHN)。这是一些包含数字的自然场景图像,经常失真,而且全球各地的门牌制作材料、外形设计也各有不同,如果要由人手动设计数据增强策略,这会是项大工程。AutoAugment处理这些门牌的方法是裁剪和平移等几何变换,经过反复调整,现在它已经学会完全反转原始SVHN数据集中的门牌颜色。

左:来自SVHN数据集的原始图像;右:由AutoAugment转换的相同图像(AutoAugment认为裁剪+变色是最佳增强策略)

而在CIFAR-10和ImageNet这两个经典数据集上,AutoAugment不再使用裁剪,因为这些数据集通常不包含需要裁剪目标对象的图像,也不需要完全改变原始颜色,相反地,如果擅用这两种增强方法,最后生成的图像反而会因为不切实际降低模型性能。因此AutoAugment的重点是稍微调整颜色和色调分布,同时保留普通的颜色属性。这也从侧面表明CIFAR-10和ImageNet更看重实际颜色,而SVHN数据集更关注相对色彩。

左:来自ImageNet数据集的原始图像;右:由AutoAugment转换的相同图像(对比度+旋转)

结果

论文最后,研究人员在CIFAR10做了实验,发现用AutoAugment进行数据增强后,模型性能有所提升,以83.54%的准确率位列对照组榜首;同时,它也降低了错误率,仅有1.48%,比专家手动设计的数据增强方法好了0.83%。在SVHN上,AutoAugment帮助模型把错误率从1.30%降低到了1.02%。更重要的是,这个自动数据增强算法的结果是可推广的,它为ImageNet数据集找到的增强策略同样可以应用于其他计算机视觉数据集,如Stanford Cars、FGVC-Aircraft等,并都改善了模型性能。

博客地址:ai.googleblog.com/2018/06/improving-deep-learning-performance.html

论文地址:arxiv.org/abs/1805.09501

转载:https://www.jqr.com/article/000267

google autoaugment相关推荐

  1. 如何使用 Google 的 AutoAugment 改进图像分类器

    本文为 AI 研习社编译的技术博客,原标题 : How to improve your image classifier with Google's AutoAugment 作者 | Philip P ...

  2. 【AutoML】AutoML专栏上线,跟Google一起见证调参党的末日?

    大家好,今天开设新专栏<AutoML>,即Automated Machine Learning.在这个专栏中,我们会讲述AutoML相关的内容,覆盖数据使用,模型架构,优化算法等内容. 我 ...

  3. AutoAugment 学习

    非官方项目地址:Github项目 官方文章:文章连接 关于图片地深度学习有时会需要大量的图片,因此,为了获得更多的图片,对已经获取的图片进行扩展就是一个必要地手段,简单来说,针对图片地数据增强就是对已 ...

  4. 数据增强 - AutoAugment 系列论文(1)

    文章目录 0. 前言 1. AutoAugment 1.1. 要解决什么问题 1.2. 用了什么方法 1.3. 效果如何 1.4. 还存在什么问题&可借鉴之处 2. Fast AutoAugm ...

  5. 消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法

    消除安卓SDK更新时的"https://dl-ssl.google.com refused"异常的方法 消除安卓SDK更新时的"https://dl-ssl.google ...

  6. 2018 Google kickstart Problem A. Planet Distance

    题目描述 Small dataset 3 ≤ N ≤ 30. Large dataset 3 ≤ N ≤ 1000.input 2 5 1 2 2 3 3 4 2 4 5 3 3 1 2 3 2 1 ...

  7. Google Colab 免费GPU服务器使用教程 挂载云端硬盘

    一.前言 二.Google Colab特征 三.开始使用 3.1在谷歌云盘上创建文件夹 3.2创建Colaboratory 3.3创建完成 四.设置GPU运行 五.运行.py文件 5.1安装必要库 5 ...

  8. Google Colab——用谷歌免费GPU跑你的深度学习代码

    Google Colab简介 Google Colaboratory是谷歌开放的一款研究工具,主要用于机器学习的开发和研究.这款工具现在可以免费使用,但是不是永久免费暂时还不确定.Google Col ...

  9. Google Colab使用教程

    简介 Google Colaboratory是谷歌开放的云服务平台,提供免费的CPU.GPU和TPU服务器. 目前深度学习在图像和文本上的应用越来越多,不断有新的模型.新的算法获得更好的效果,然而,一 ...

最新文章

  1. 使用ssh连接gitHub
  2. apex图表使用饼图居中_ppt图表技巧:如何制作美观简洁的百分比饼图
  3. Building System之 get_abs_build_var() get_build_var()
  4. Java黑皮书课后题第10章:*10.10(Queue类)10.6节给出一个Stock类。设计一个名为Queue的类用于存储整数。像栈一样,队列保存元素。在栈中,元素后进先出。队列中元素先进先出
  5. TypeError系列之:TypeError: only size-1 arrays can be converted to Python scalars
  6. 微信小程序_(表单组件)button组件的使用
  7. Eclipse + Pydev开发Python时import报错解决方法
  8. 《UNIX环境高级编程》目录
  9. 使用协同过滤推荐电影
  10. 《关键对话——注意观察,如何判断对话氛围是否安全》读书笔记(四)
  11. 月薪2500到年薪20万+,阿迪经历了些什么?
  12. 3. Storm编程框架
  13. 传智播客-刘意-java深入浅出精华版学习笔记Day06
  14. SAP中会计凭证红蓝冲相关分析测试笔记
  15. pairing function
  16. habor-deploy docker https 私有仓库搭建
  17. 大唐杯学习笔记(1)—— 5G网络架构与组网部署
  18. 我的学习笔记005--常见web前台技术之间的关系html,css,javascript...mxx
  19. 联烯基甲醇氧化合成联烯基羧酸化合物-齐岳研究
  20. 如何制作点餐小程序?

热门文章

  1. 服务器租用哪家的机房好
  2. OpcEnum交互式用户不可选解决办法
  3. Android打包混淆压缩
  4. java图书推荐推荐管理系统
  5. ionCube出错问题
  6. 项目分享-校园宿舍管理系统
  7. 操作系统面试题(转载)
  8. Android project依赖project配置说明
  9. python3:利用openpyxl xlwt xlrd实现对excel的增删改查和读入
  10. P1135 奇怪的电梯(BFS)