《DropBlock: A regularization method for convolutional networks》笔记

Introduction

Dropout的思想是随机失活一部分激活单元,让输出的feature或feature map丢失一些信息,使得网络能够关注更多的有辨别能力的特征,而不是只关注某几个特征,从而使得网络更加鲁棒,从另一方面来说,dropout起到了正则化的作用。

Dropout应用到卷积网络的feature map上,具体操作是在每个feature map上随机失活部分神经元。DropBlock的作者认为,feature map上随机失活几个神经元,并没有减少feature map上的语义信息,失活神经元的信息可以通过附近的神经元的信息近似得到,如下图所示
dropout的缺点和dropblock的示意图
图b的蓝色部分表示语义信息,表示图a的狗。图b的“x”表示失活,图b是dropout的随机失活过程,一些语义信息删除了,并不会对下一层的卷积结果造成太大影响,因为失活部分的信息可以通过卷积窗口的邻域神经元信息近似得到。这样就达不到正则化的效果。

图c表示dropblock的失活区域,与dropout相比,dropblock随机失活feature map上一个连续的区域(正方形区域)。失活的区域的信息很难通过附近区域的信息猜想得到。dropblock能够达到删除feature map上语义信息的效果。

还有一种dropout方式,叫做SpatialDropout,它会随机失活某些channels,就是失活整个feature map。

Dropout随机失活feature map上散乱的神经元,dropblock随机失活feature map上连续神经元组成的区域,spatialdropout随机失活整个feature map,随机失活的区域逐渐变大。DropBlock处于中间位置,一种折中的方法。

Method

DropBlock的方法很简单,看上图的图c就能猜到它是怎么做的。

首先和dropout一样随机选择一个神经元。然后以这些神经元为中心,附近的block_size*block_size区域就是失活的区域。随机选择神经元时要注意不要让扩展的失活区域超过feature map区域。这两个过程如下图所示
dropblock过程

block_size在论文实验中效果最好的是7。keep_prob的值随着训练的进行慢慢减少,效果比固定keep_prob训练的效果好。

论文分析了DropBlock丢失语义信息的效果。分析的方法就是在测试的时候,使用dropblock,看看分类的效果降低多少,实验的结果如下
语义信息丢失程度
block_size=1就是dropout。可以看到,block_size=7时,不用dropblock训练的网络,随着keep_prob的下降,分类精度下降的很快,比dropout下降得还要快。这个实验说明了dropblock能够明显地丢失feature map的语义信息,增强正则化的效果。

Experiment

DropBlock实验的效果比其他的dropout类型的方法的效果要好
分类实验结果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章