神经网络Drop大法,真香!
Posted 计算机视觉life
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了神经网络Drop大法,真香!相关的知识,希望对你有一定的参考价值。
快速获得最新干货
drop方法从一开始提出的时候,就用来当作正则化使用,提升模型的鲁棒性。近年来drop方法被玩出花来,drop方法有两种明显的趋势:
随机drop-> 自适应drop
像素级drop -> 区域级drop
本文主要介绍Dropout、DropBlock、AttentionDrop和TargetDrop四篇文章。
01
Dropout
在2012年,Hinton提出Dropout。当一个复杂的前馈神经网络被训练在小的数据集时,容易造成过拟合。为了防止过拟合,可以通过阻止特征检测器的共同作用来提高神经网络的性能。
Dropout可以作为训练深度神经网络的一种trick供选择。在每个训练批次中,通过忽略一半的特征检测器(让一半的隐层节点值为0),可以明显地减少过拟合现象。这种方式可以减少特征检测器(隐层节点)间的相互作用,检测器相互作用是指某些检测器依赖其他检测器才能发挥作用。
Dropout说的简单一点就是:我们在前向传播的时候,让某个神经元的激活值以一定的概率p停止工作,这样可以使模型泛化性更强,因为它不会太依赖某些局部的特征,如图所示。
对于feature map来说,相当于随机mask掉像素。
02
DropBlock
Dropout的主要缺点是它随机drop特征。虽然这对于全连接层是有效的,但是对于卷积层则是无效的,因为卷积层的特征在空间上是相关的。当这些特性相互关联时,即使有dropout,有关输入的信息仍然可以发送到下一层,这会导致网络overfit。为了更好地规范卷积网络,引入DropBlock方法,这是一种结构形式的dropout,对卷积网络的正则化效果好。在DropBlock中,一个block中的features,即feature map中的的一个相邻区域,会一起被drop掉。
03
AttentionDrop
现有的正则化方法如Dropout和DropBlock从输入特征图中删除单元来防止过拟合。然而,它们要么忽略了特征的空间语义信息,要么不能自适应物体的形状区域。而AttentionDrop可以自适应物体的形状和位置来降低所选区域的激活值。另外,用soft mask代替传统的binary mask。
Adaptive Mask
AttentionDrop首先提出了一个简单的adaptive mask。对feature map的每个像素值进行排序,选择最大百分位值来确定mask的位置。定义
Soft Mask
之前的大多数drop方法大多数使用binary mask,AttentionDrop使用soft mask。如adaptive mask所述,shape mask偏向于高激活区域,采用min- max normalization对当前特征图进行归一化:
04
TargetDrop
TargetDrop类似于AttentionDrop + DropBlock。
Target Channels
TargetDrop第一步得到不同通道的重要程度,类似于SENet的做法。使用全局平均池将每个特征图的局部信息聚合成通道方向的向量,这个操作可以定义为:
为了进一步确定通道之间的依赖关系,通过两个FC层得到不同通道的注意力。
然后选择topk个最重要的通道进行mask。
Target Regions
TargetDrop考虑到图像像素值的连续性,选择具有最大值的位置(a, b),并将其周围的k×k区域丢弃。可以定义为:
05
总结
TargetDrop和AttentionDrop的区别:
1. TargetDrop的soft value通过attention module学习得到的,而AttentionDrop的soft value通过统计计算得到的
2. TargetDrop是区域级的drop,而AttentionDrop是像素级的drop
学习得到的soft value,自由度更高,区域级的drop得到的结构语义信息更强。但是感觉AttentionDrop和TargetDrop没有在Imagenet数据集上实验,说服力不够
感觉Drop大法都快被玩烂了,我能想到的改进是TargetDrop的基础上再加一个DCN,学习kxk的offset进行mask,说不定就有人做了
Reference
[1] Dropout: A Simple Way to Prevent Neural Networks from Overfitting
[2] DropBlock: A regularization method for convolutional networks
[3] AttentionDrop for Convolutional Neural Networks
[4] TargetDrop: A targeted regularization method for convolutional neural networks
交流群
投稿、合作也欢迎联系:simiter@126.com
扫描关注视频号,看最新技术落地及开源方案视频秀 ↓
以上是关于神经网络Drop大法,真香!的主要内容,如果未能解决你的问题,请参考以下文章