卷积层的dropout - dropblock

DropBlock: A regularization method for convolutional networks

dropout的不足

dropout是深度学习中避免过拟合的手段之一,经典网路结构中,dropout都被放到全连接层之后,鲜有放到卷积层之后。这是因为实验证明卷积层后的dropout层对网络泛化能力的改进微乎其微,本文分析了其中的原因:卷积层输出特征图各个元素之间存在很强的相关性,随机把某些原始置为0,其邻域元素带有何其相似的信息,dropout的功能没法实现。基于这个分析,本文提出了针对卷积层输出特征的dropout改进版:dropblock,不是随机把某些元素置零,而是随机把某些block都置零。如下图所示。
在这里插入图片描述why-drop-block

实现

dropblock有两个参数:block_size和 γ \gamma γ。其中 γ \gamma γ的含义和dropout中参数一致,表示每个元素被置零的概率,被用来从特征图的valid区域中选择一些需要置为0的元素(valid区域是指区域内任意点作为中心点,block_sized大小的邻域不会超出特征图尺寸)。以这些选中的元素为中心,确定block_size x block_size的邻域,这个区域内所有特征点都要置为0。算法伪码如下:
alg

scheduled dropblock

和dropout不同,实验发现dropblock的 γ \gamma γ值如果训练初始就设置较小的值,则会影响网络收敛。文中采用 f a c t o r = 4 factor=4 factor=4的线性函数在训练过程中从1开始逐步降低 γ \gamma γ的值,直至达到目标值

实验

DropBlock for Resnet50

合适配置DropBlock,可以帮助resnet50在ImageNet上提高1~2%, resent的bottleneck模块包括skip和conv两个分支,dropBlock不仅可以作用在conv分支,也可以作用在skip分支上。如下下图所示
exp_resnet50
第一列base实验,第二列是在skip分支增加dropblock模块,第三列是利用scheduled dropblcok。最优的参数是block_size=7.

  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值