【数据增强】Cutout「建议收藏」

【数据增强】Cutout「建议收藏」论文:ImprovedRegularizationofConvolutionalNeuralNetworkswithCutout.Github:https://github.com/uoguelph-mlrg/Cutout.Cutout的出发点和随机擦除一样,也是模拟遮挡,目的是提高泛化能力,实现上比RandomErasing简单,随机选择一个固定大小的正方形区域,然后采用全0填充就OK了,当然为了避免填充0值对训练的影响,应该要对数据进行中心归一化操作,norm到0。(如果你还不了

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

论文: Improved Regularization of Convolutional Neural Networks with Cutout.
Github: https://github.com/uoguelph-mlrg/Cutout.

Cutout的出发点和随机擦除一样,也是模拟遮挡,目的是提高泛化能力,实现上比Random Erasing简单,随机选择一个固定大小的正方形区域,然后采用全0填充就OK了,当然为了避免填充0值对训练的影响,应该要对数据进行中心归一化操作,norm到0。(如果你还不了解Random Erasing,请查看【数据增强】Random Erasing

本文和随机擦除几乎同时发表,难分高下(不同场景下谁好难说),区别在于在cutout中,擦除矩形区域存在一定概率不完全在原图像中的。而在Random Erasing中,擦除矩形区域一定在原图像内。Cutout变相的实现了任意大小的擦除,以及保留更多重要区域。

需要注意的是作者发现cutout区域的大小比形状重要,所以cutout只要是正方形就行,非常简单。具体操作是利用固定大小的矩形对图像进行遮挡,在矩形范围内,所有的值都被设置为0,或者其他纯色值。而且擦除矩形区域存在一定概率不完全在原图像中的(文中设置为50%)

论文中有一个细节可以看看:作者其实开发了一个早期做法,具体是:在训练的每个epoch过程中,保存每张图片对应的最大激活特征图(以resnet为例,可以是layer4层特征图),在下一个训练回合,对每张图片的最大激活图进行上采样到和原图一样大,然后使用阈值切分为二值图,盖在原图上再输入到cnn中进行训练,有点自适应的意味。但是有个小疑问:训练的时候不是有数据增强吗?下一个回合再用前一次增强后的数据有啥用?我不太清楚作者的实现细节。如果是验证模式下进行倒是可以。

这种做法效果蛮好的,但是最后发现这种方法和随机选一个区域遮挡效果差别不大,而且带来了额外的计算量,得不偿失,便舍去,就变成了现在的cutout了。可能和任务有关吧,按照我的理解,早期做法非常make sense,效果居然和cutout一样,比较奇怪。并且实际上考虑目标检测和语义分割,应该还需要具体考虑,不能照搬实现。学习这类论文我觉得最重要的是思想,能不能推广到不同领域上面?是否可以在训练中自适应改变?是否可以结合特征图联合操作?

Cutout为什么能make sense
直接引用论文中的原话就是This technique encourages the network to better utilize the full context of the image, rather than relying on the presence of a small set of specific visual features.,简单点说就是,CutOut能够让CNN利用整幅图像的全局信息,而不是一些小特征组成的局部信息。其实这种思想和大部分细粒度论文的思想是类似的。

最后给出Cutout的效果图:
在这里插入图片描述

参考资料
[1]: Improved Regularization of Convolutional Neural Networks with Cutout.
[2]: 想读懂YOLOV4,你需要先了解下列技术(一).

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189733.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • PDB 文件

    PDB 文件PDB文件什么是PDB文件PDB(ProgramDataBase)即程序的基本数据,是VS编译链接时生成的文件,每个程序集(EXE或DLL)都有一个与之对应的PDB文件。DPB文件主要存储了VS调试程序时所需要的基本信息,主要包括源文件名、变量名、函数名、对应的行号等等。因为存储的是调试信息,所以一般情况下PDB文件是在Debug模式下才会生成。…

    2022年6月2日
    91
  • python之内置函数

    一、数学运算类二、集合类操作三、逻辑判断四、反射compile(source,filename,mode[,flags[,dont_inherit]])五、IO操作

    2021年12月18日
    44
  • fast 存储_stata时间序列adf检验代码

    fast 存储_stata时间序列adf检验代码介绍了Fastai框架下的数据准备以及数据增强的操作。

    2022年9月8日
    0
  • Pytest(15)pytest分布式执行用例[通俗易懂]

    Pytest(15)pytest分布式执行用例[通俗易懂]前言平常我们功能测试用例非常多时,比如有1千条用例,假设每个用例执行需要1分钟,如果单个测试人员执行需要1000分钟才能跑完当项目非常紧急时,会需要协调多个测试资源来把任务分成两部分,于是执行时间

    2022年7月28日
    3
  • 腾讯和字节待遇_字节和腾讯哪个值得去

    腾讯和字节待遇_字节和腾讯哪个值得去分享我对两家互联网大厂的了解和主观感受大家好,我是鱼皮,最近这段时间,应该是正值大三的小伙伴最忙碌的时候,不少同学都在准备秋季校园招聘。我当时是通过暑期实习转正进入的腾讯,再加上之前也在字节跳动实习过,所以今天就分享下我对这两家互联网公司的了解和工作感受,希望能帮助大家选择,也可以给还在校园的小伙伴一些坚持的动力吧。工作感受接下来我会从多个方面来分享。由于公司很大,不同部门存在差异,所以工作感受比较主观,不代表整个公司的情况。薪资互联网公司的薪资还是挺高的。像我当时在字节跳动实习时.

    2022年10月6日
    0
  • laravel5数据库配置及其注意事项

    laravel5数据库配置及其注意事项

    2021年10月20日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号