• NeurIPS2018: DropBlock: A regularization method for convolutional networks


    NIPS 改名了!改成了neurips了。。。

    深度神经网络在过参数化和使用大量噪声和正则化(如权重衰减和 dropout)进行训练时往往性能很好。dropout 广泛用于全连接层的正则化,但它对卷积层的效果没那么好。原因可能在于卷积层中的激活单元是空间关联的,使用 dropout 后信息仍然能够通过卷积网络传输到下一层。相比于dropout一个一个扔掉神经元,自然而然我们就要成块成块扔。因此就产生了这种叫dropblock的方法来对卷积网络进行正则化约束,它会丢弃特征图相邻区域中的单元。此外,在训练过程中逐渐增加丢弃单元的数量会带来更高的准确率,使模型对超参数选择具备更强的鲁棒性。

    如下图更加形象生动:

    图(a)中图片狗的区域是包含语义信息的,(b)中dropout扔神经元基本是这样随机扔,这就导致了很多狗这个实例的相关性信息被保存下来了,如(c), dropblock的思想是随机找一些点,然后自定义一个区域(block)把这里的信息一股脑全扔了。这样语义信息就不会冗余,从一定程度上使学习到的特征更加鲁棒。

    如何操作:

    block_size: 控制block的区域大小

    : 控制丢掉多少神经元,注意这里的神经元不是真正丢了,而是某一次不用它的概率。

    参数设置:

    Blocksize设置为1的时候和dropout类似,但是只在图中绿色区域丢

    设置:

    Keep_prob 为保存信息的比率

    feat_size 为整个feature map的大小

    feat_size-block_size+1 为绿色区域的大小,我把它命名为语义信息区域吧。。

    我的想法:

    读了这篇文章,我倒是有些想法,我们的目标不是去除图像像素之间的冗余特征吗,那么我们根据这样一句话:

    the m best features are not the best m features....在卷积层与全连接层的中间加一个去冗余层。

    扔特征的目标是不是就是找出含有个特征的特征子集S?其实相对于也是丢弃一部分特征

    那我们这样:

    1:与标签的最大相关性:

    (2)

    C为类别,S 为特征子集,为第i个特征。

    变量间的最小冗余度:

    (3)

    其中I函数为给定两个随机变量x和y,他们的概率密度函数(对应于连续变量)为p(x),p(y),p(x,y)p(x),p(y),p(x,y),则互信息为 :

    那么我们整个神经网络优化公式为:

    传统损失 - 公式(2)+公式(3)

    当然上面思想主要来自于mrmr算法,正好可以结合卷积来做一下。一点初步的idea,有空实现下,在来分享。

  • 相关阅读:
    IPC总结学习
    机器学习中的范数规则
    机器学习的几个误区-转载
    来几道大数据的面试题吧
    海量数据随机抽样问题(蓄水池问题)
    字符串类算法题目总结
    RPC学习
    如何做出健壮的系统设计
    关于bind函数和connect函数的测试结论
    [置顶] Codeforces Round #197 (Div. 2)(完全)
  • 原文地址:https://www.cnblogs.com/xiaohuahua108/p/9977295.html
Copyright © 2020-2023  润新知