写点什么

如何选择最合适的数据增强操作

  • 2019-09-27
  • 本文字数:2035 字

    阅读完需:约 7 分钟

如何选择最合适的数据增强操作


本文讲述数据增强中的应用,这也是 AutoML 技术最早期的应用之一。

1 数据增强的重要性

大家都知道数据增强很重要,是深度学习必备良药,写论文刷比赛提指标的大杀器。


论文中的数据我们就不多说了,如果大家想验证一下数据增强的强大,可以去我们的 GitHub 项目中找到一个二分类的图像任务,它的数据集大小只有 1000 张图。


https://github.com/longpeng2008/yousan.ai


https://github.com/longpeng2008/Caffe_Long


如果不使用任何数据增强操作,测试集无法达到 90%以上的精度。如果使用了裁剪+颜色变换等数据增强操作,测试集精度可以达到 96%以上。


以下是不使用数据增强,固定裁剪,自由裁剪,裁剪+对比度扰动,裁剪+对比度扰动+颜色扰动的结果,由于使用的模型和数据集非常小,使用 CPU 都可以快速完成验证。



如果不会使用 Caffe 可以阅读公众号的教程。



传统的数据增强方法以各类通过参数控制的预设几何变换和颜色变换为主,可以阅读往期综述文章如下。



这便是大家熟知的数据增强操作,它成就了深度学习里程碑模型 AlexNet,与深度学习一直同在,技术也在不断演进。

2 自动学习数据增强策略

如果让模型针对具体的任务自动学习数据增强,理论上会更加智能,这便是我们这要说的基于 AutoML 的数据增强技术,它主要是用于自动学习数据增强策略。还有一类方法如 GAN 等生成式模型可以直接伪造新的数据,这不在本文阐述的范围内。

2.1 AutoAugment[1]

AutoAugment 是 Google 提出的自动选择最优数据增强方案的研究,也是最早的使用 AutoML 技术来搜索数据增强策略的研究。


它的基本思路是使用增强学习从数据本身寻找最佳图像变换策略,对于不同的任务学习不同的增强方法,流程如下:


(1) 准备 16 个常用的数据增强操作。


(2) 从 16 个中选择 5 个操作,随机产生使用该操作的概率和相应的幅度,将其称为一个 sub-policy,一共产生 5 个 sub-polices。


(3) 对训练过程中每一个 batch 的图片,随机采用 5 个 sub-polices 操作中的一种。


(4) 通过模型在验证集上的泛化能力来反馈,使用的优化方法是增强学习方法。


(5) 经过 80~100 个 epoch 后网络开始学习到有效的 sub-policies。


(6) 之后串接这 5 个 sub-policies,然后再进行最后的训练。


总的来说,就是学习已有数据增强的组合策略,比如对于门牌数字识别等任务,研究表明剪切和平移等几何变换能够获得最佳效果:



官方开源实现如下:


https://github.com/DeepVoltaire/AutoAugment


随着在图像分类任务中 AutoAugment 取得成功后,该论文的作者们又将该技术应用于目标检测任务[2]。



核心方法没有太大的改变,搜索空间中共包含 22 种操作,分别为:


(1) 颜色操作:颜色扰动类,如调节亮度,对比度等。


(2) 几何操作:旋转、剪切等。


(3) 边界框操作:对框内的目标进行颜色和几何类操作。


之后的搜索策略和训练方法与 AutoAugment 一致,在 COCO 数据集上的 mAP 提升超过 2 个点,并且可以直接迁移到其他目标检测数据集上。


下图展示了在不同样本数量时的提升,样本越少提升越明显。


2.2 Population Based Augmentation

AutoAugment 计算成本非常高昂,伯克利 AI 研究院提出的 Population Based Augmentation[3]方法成本要低很多(三个数量级),它也可以学习到数据增强策略。


与 AutoAugment 不同之处在于,Population Based Augmentation 学习的是策略的使用顺序而不是一组最优策略,当然所使用的 15 个策略都来自于 AutoAugment。



这个方法的核心思想是:


(1) 并行训练多个小模型,这些小模型组成了种群。


(2) 种群中每一个小模型都会学习到不同的候选超参数,周期性地将性能最佳的一些模型的参数迁移到性能较差的一些模型上(文中是 25%),同时再加上随机扰动操作。


最终得到的是一系列按照时间排序的增强操作,取得了与 AutoAugment 性能相当但是训练代价小很多的效果,开源代码如下:


https://github.com/arcelien/pba


参考文献


[1] Cubuk E D, Zoph B, Mane D, et al. Autoaugment: Learning augmentation policies from data[J]. arXiv preprint arXiv:1805.09501, 2018.


[2] Zoph B, Cubuk E D, Ghiasi G, et al. Learning Data Augmentation Strategies for Object Detection[J]. arXiv preprint arXiv:1906.11172, 2019.


[3] Ho D, Liang E, Stoica I, et al. Population Based Augmentation: Efficient Learning of Augmentation Policy Schedules[J]. arXiv preprint arXiv:1905.05393, 2019.


[4] Lim S, Kim I, Kim T, et al. Fast autoaugment[J]. arXiv preprint arXiv:1905.00397, 2019.

总结

如何做机器学习任务中做好数据增强是每一个从业人员必须认真面对的问题,如今已经发展到了使用 AutoML 技术来代替人工设计策略,请大家持续关注。


作者介绍


言有三,真名龙鹏,曾先后就职于奇虎 360AI 研究院、陌陌深度学习实验室,6 年多计算机视觉从业经验,拥有丰富的传统图像算法和深度学习图像项目经验,拥有技术公众号《有三 AI》,著有书籍《深度学习之图像识别:核心技术与案例实战》。


原文链接


https://mp.weixin.qq.com/s/YtL7GeIGYm9xtdofnabu1g


2019-09-27 19:202454

评论

发布
暂无评论
发现更多内容

新格局,新生态!天翼云以国云智算底座赋能AI产业发展!

天翼云开发者社区

小程序 云计算

Kurator V0.6.0:实现应用全流程生命周期管理

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟 Kurator

作业调度问题-遗传算法

alexgaoyh

Java 遗传算法 作业调度 生产调度 多作业多任务

探索五款全球知名的JavaScript混淆加密工具

雪奈椰子

小程序SDK在金融、医疗和教育等场景中的应用和安全性保障相关

Geek_2305a8

当我谈查询优化器时,我谈些什么 (1)—— IR 设计

Databend

拥抱 AI,支付宝小程序云助力全网小程序生态变革

TRaaS

支付宝小程序 人工智能 云开发 弹性云托管 小程序云

在ComfyUI中如何制作高质量白底图

原力在线

AI AIGC AI 绘图 白底图 电商场景

MacOS Mojave(macos10.14系统) v10.14.6(18G103)正式版

iMac小白

一个 WPF + MudBlazor 的项目模板(附:多项目模板制作方法)

EquatorCoco

开源 源码 WPF 项目开发 模板

Picturesocial | 只要 5 分钟,发现容器编排的秘密武器!

亚马逊云科技 (Amazon Web Services)

API

Reducer 和 Context实现简单的Redux

伤感汤姆布利柏

【天涯神贴】最全合集,重温下经典

Geek_bbbdb0

天涯神贴

通过ETLCloud CDC构建高效数据管道解决方案

RestCloud

数据同步 ETL CDC 数据集成工具

数字先锋|智慧“育”见未来!天翼云携手知学云为人才培育注入新活力

天翼云开发者社区

人工智能 教育

简易异步任务中心&批量导入技术处理方案

京东科技开发者

IPQ9574: The core strength of WiFi 7 technology, leading the future of wireless communications

wallysSK

JAVA应用CPU跳点自动DUMP工具 | 京东物流技术团队

京东科技开发者

图像处理-Java-TIFF转换JPG

alexgaoyh

Java 图像处理 格式转换 jpg tif

NFTScan 正式上线 Mantle NFTScan 浏览器和 NFT API 数据服务

NFT Research

NFT NFT\ NFTScan

Express简单使用及部署在vercel

派大星

node.js Express

VSD Viewer for Mac(Visio绘图文件阅读器) v6.16.1特别版

iMac小白

集成电子商务平台:如何通过API获取实时商品数据

Noah

聊聊ClickHouse MergeTree引擎的固定/自适应索引粒度

京东科技开发者

如何选择最合适的数据增强操作_AI&大模型_言有三_InfoQ精选文章