DropBlock:A regularization method for convolutional networks

常用在全连接层的dropout在卷积层中效果很差,原因在于特征图上的各激活单元具有空间相关性,只丢弃几个神经元不影响信息的流通,所以成块的舍弃,强迫卷积网络从剩余信息中学习,能提高分类的准确率。


算法:

参数 \gamma 控制drop块的个数,block_size控制丢弃块的大小。keep_prob就是dropout的参数

如:keep_prob=0.75  block_size=3  feature_map_size=15   \gamma = 0.03698

根据特征图A的维度随机生成一个矩阵,矩阵元素介于0-1之间,与 \gamma 计算伯努利分布,将矩阵转化为包含-1 0 1 三个值的矩阵,再进行relu激活去负值,该矩阵为mask。\gamma 越大得到的mask的1越多。对mask进行填充和最大池化操作,block_size为池化参数。A×(1-mask)为最后的输出。

实现:

PyTorch版
https://github.com/miguelvr/dropblock
https://github.com/Randl/DropBlock-pytorch
https://github.com/gan3sh500/dropblock

TensorFlow版
https://github.com/DHZS/tf-dropblock            
https://github.com/shenmbsw/tensorflow-dropblock

Dropout

为避免过拟合提出的,在训练过程中,全连接网络中每个神经元以P概率被舍弃,训练完成后神经元的输出乘以被舍弃的概率P,因为训练过程中dropout相当于网络瘦身,舍弃不同的神经元会得到不同的子网络,当训练完成后原神经网络尺寸过大,对其神经元输出的操作相当于对训练时可能出现的网络取平均。dropout刚出现时,要求全连接层的输入层P=0.2,隐藏层P=0.5,输出层不丢弃。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值