首页 > 其他分享 >【AutoML】如何选择最合适的数据增强操作

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

时间:2022-10-12 21:36:01浏览次数:66  
标签:增强 AutoAugment arXiv 学习 AutoML 最合适 数据


大家好,欢迎来到专栏《AutoML》。在这个专栏中,我们会讲述AutoML技术在深度学习中的应用。这一期讲述在数据增强中的应用,这也是AutoML技术最早期的应用之一。

作者&编辑 | 言有三



1 数据增强的重要性


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

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


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

​https://github.com/longpeng2008/Caffe_Long​


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

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



【AutoML】如何选择最合适的数据增强操作_sed


如果不会使用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,然后再进行最后的训练。

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



【AutoML】如何选择最合适的数据增强操作_sed_02


官方开源实现如下:


​https://github.com/DeepVoltaire/AutoAugment​


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



【AutoML】如何选择最合适的数据增强操作_sed_03


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

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

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

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

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

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



【AutoML】如何选择最合适的数据增强操作_sed_04


2.2 Population Based Augmentation

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

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



【AutoML】如何选择最合适的数据增强操作_sed_05


这个方法的核心思想是:

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

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

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


​https://github.com/arcelien/pba​


目前还有一些其他研究也在致力于加快搜索速度,比如Fast autoaugment[4]等,我们会在知识星球中做连续更新,感兴趣的可以持续关注。


参考文献

[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技术来代替人工设计策略,请大家持续关注。

下期预告:AutoML与激活机制。

标签:增强,AutoAugment,arXiv,学习,AutoML,最合适,数据
From: https://blog.51cto.com/u_14122493/5751593

相关文章

  • 【每周CV论文推荐】 CV领域中数据增强相关的论文推荐
    欢迎来到《每周CV论文推荐》。在这个专栏里,还是本着有三AI一贯的原则,专注于让大家能够系统性完成学习,所以我们推荐的文章也必定是同一主题的。数据增强在每一个深度学习项目......
  • 【AutoML】进化算法如何用于自动模型搜索(NAS)
    大家好,欢迎来到专栏《AutoML》,在这个专栏中我们会讲述AutoML技术在深度学习中的应用,这一期讲述进化算法用于模型搜索的基本概念和流程。作者&编辑|言有三一直以来,网络结构......
  • 【每周CV论文】初学深度学习图像对比度增强应该要读的文章
    欢迎来到《每周CV论文》。在这个专栏里,还是本着有三AI一贯的原则,专注于让大家能够系统性完成学习,所以我们推荐的文章也必定是同一主题的。图像对比度增强,即增强图像中的有用......
  • 【AutoML】强化学习如何用于模型蒸馏?
    大家好,欢迎来到专栏《AutoML》,在这个专栏中我们会讲述AutoML技术在深度学习中的应用,这一期讲述在知识蒸馏中的应用。作者&编辑|言有三上一期给大家介绍了AutoML技术在模型......
  • 根据tcode找增强(USEREXIT,BADI…
    其实我最近一年都没做过增强,光忙活别的了。再加上最近也确实忙,没帮他们的找。所以在此向朋友们道歉,然后说一个我有时候会用到的找增强的方法吧。其......
  • 外向交货单增强BADI:LE_SHP_DELIV…
    "参考销售订单创建外向交货单  CALL FUNCTION 'BAPI_OUTB_DELIVERY_CREATE_SLS'    EXPORTING    ......
  • 采购申请审批策略增强
    一般而言审批策略特征类创建时,特征项都是从CEBAN和CEKKO两个结构里取值。但是有时候,审批策略控制过程中,需要其他非以上两结构中字段,比如PS那边创建的采......
  • 批次属性相关增强
    如果使用了批次,收货的时候,会产生一个批次,也有与之对应的属性相关TCODE:MB1A,MB1B,MB1C,MIGO等MB1C的操作说明输入tcode:MB1C,填写如下参数​​​​​​​​​​​​​​......
  • BADI EXIT等增强报W警告类消息
    一般报E类型错误,E类型会中断进程继续执行,所以直接报E类型message,就会弹出来,而且不继续执行但是有时候需要报W类型警告发现直接用W类型messag......
  • ME54N审批、撤批触发增强点:ME_RE…
    需求: 用户通过标准审批事务(如:ME54N或ME55)或客制化程序对采购申请执行审批撤销操作时,若EBAN-EBELN<>””andEBAN-BSMNG<>0,则系统错误提示用“采购申请XXXX行项目XX存在......