深度学习中的数据增强技术:Augmentation

概念

数据增强(Data Augmentation)是一种通过利用算法来扩展训练数据的技术。人工智能三要素之一为数据,但获取大量数据成本高,但数据又是提高模型精度和泛化效果的重要因素。当数据量不足时,模型很容易过拟合,精度也无法继续提升,因此数据增强技术应运而生:利用算法,自动增强训练数据。

 

方法

数据增强有一系列简单方法可供选择:

 

几何变换:翻转、旋转、缩放、裁剪、平移等

颜色变换:对比度调节、颜色反转、直方图均衡、色彩平衡、亮度等

 

Cutout:在图片中挖掉一个矩形块补0

Mixup:把两张图片线性叠加,label转换为one-hot形式进行相同的线性叠加

Cutmix:Cutout和Mixup的综合版本,在图片中挖掉的矩形块补另一张图片,label也叠加

AutoAugment:采用搜索的方式,搜出最适合的变换组合,复杂度高5000 GPU hours

RandAugment:减小搜索空间,所有变换采用相同的幅度

Refinement:在增强训练后再用原始数据训练一段时间

 

基于GAN的数据增强:利用原始数据分布生成新的数据

神经风格转换:图片风格转换

添加噪声:高斯噪声、椒盐噪声等

 

看起来效果一般的增强方式:

Sample pairing:两张图片直接平均,label取随意一张图片

FMix:采用Fourier变换选取挖掉和补充的区域

 

发展

数据增强最简单的方式是各种几何变换颜色变换,在imgaug库(https://github.com/aleju/imgaug)中有非常多的函数。但一个关键问题是:针对特定的数据集、网络,哪一种增强方式是最适合的

 

为了回答这个问题,Google使用和AutoML类似的RL搜索方法进行优化,CIFAR-10上就花费了5000 GPU Hours,获得了不错的结果,但复杂度太高,没有实用化的可能。后来出现了RandAugment,发现牺牲一定的自由度,缩小搜索空间,效果也还可以,也可以获得一定收益。但RandAugment远远不是最优解,仍然需要一定量的搜索,优化仍然在继续。

 

展望

数据增强是增大数据规模,减轻模型过拟合的有效方法,最近的研究也特别活跃。但目前的研究显示,最优的增强方式和数据集、网络都有关系,如何低成本地找到最优的增强方式,是一个非常难的问题。我也会持续跟踪这个领域的最新进展,欢迎讨论。

 

参考

A survey on Image Data Augmentation for Deep Learning https://link.springer.com/article/10.1186/s40537-019-0197-0

https://github.com/guanxs/data-augmentation

 

 

相关文章

人工智能技术分析

人工智能 机器学习 深度学习

第六届世界互联网大会乌镇峰会简评

华为人工智能战略分析:2019华为全连接大会

阿里含光 VS 华为昇腾:AI芯片路在何方

AI人工智能三要素:数据、算力和算法

计算机视觉(CV)任务介绍:分类、检测、分割、超分、关键点识别、图像生成、度量学习

理解深度学习中的分类网络:LeNet

 

PyTorch 1.3

tf.GradientTape详解:梯度求解利器

TensorFlow高阶API和低阶API

TensorFlow静态图和eager机制

TensorFlow 2.0

TensorFlow高阶API和低阶API

TensorFlow调试技巧

TensorFlow与PyTorch对比

PyCharm调试技巧

解读谷歌的AI杀手级专利:Dropout

 

AutoML算法分析(一):基于强化学习的算法

SENet详解

 

关于我

缘起:新的开始

 

公众号持续更新,欢迎订阅。

 

AI人工智能与大数据

 

发布了32 篇原创文章 · 获赞 13 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/guanxs/article/details/104911613
今日推荐