Standout
作为标准的Dropout方法,L。J. Ba和B. Frey引入的Standout 基于伯努利蒙版(我将根据它们遵循的分布来称呼这些蒙版,这会更简单)。区别在于神经元遗漏的概率p在该层上不是恒定的。它根据权重的值是自适应的。
这可以用于任何g激活函数,甚至可以是单独的神经网络。类似地,对于Ws可以是W的函数。然后对于测试阶段,我们通过存在概率进行平衡。
有点晦涩,所以让我们举个例子。他们在论文中表明,在实践中,信念网络权重可以近似为权重的仿射函数。例如,我将S型曲线的绝对值作为激活函数。
我们可以看到,权重越大,将忽略神经元的可能性就越大。这有力地限制了某些神经元可能具有的高预测能力。
Gaussian Dropout
应用于神经网络的Dropout方法列表不断增长。因此,在继续讲DNN之前,我想谈一谈最引人入胜的Dropout方法类别。
仅举几个例子,快速Dropout,变项Dropout或具体Dropout是从贝叶斯角度解释Dropout的方法。具体而言,我们没有使用伯努利蒙版,而是有一个蒙版,其元素是遵循高斯分布(正态分布)的随机变量。在这里,我将不进行大数定律的演示,这不是重点。因此,让我们尝试直观地理解这一点。
这几篇论文表明,我们可以用正常定律模拟我们的Dropout的伯努利掩码。但这有什么区别。一切都什么都没有。关于这些方法与由于过度适应和/或我们神经元的预测能力而导致的过度拟合的相关性,它没有改变。但是,与之前介绍的方法相比,它改变了训练阶段所需的执行时间。
从逻辑上讲,通过在每个迭代中省略具有缺失的神经元,在迭代过程中不会更新在迭代中省略的神经元。它们不存在。因此,训练阶段变慢了。另一方面,通过使用高斯Dropout方法,在每次迭代和每个训练样本中都暴露了所有神经元。这样可以避免减速。
在数学上,有一个与高斯掩码的乘法(例如,以伯努利定律标准偏差p(1-p)为中心的1)。通过在每次迭代中使所有神经元保持活动状态来随机加权其预测能力,从而模拟了Dropout现象。该方法的另一个实用优势集中于1:在测试阶段,与没有Dropout的模型相比,无需进行任何修改。
Pooling Dropout
图像或特征图的问题在于像素非常依赖于它们的邻居。简而言之,在猫的图片上,如果拍摄一个与其外衣相对应的像素,则所有相邻像素都将与同一外衣相对应。几乎没有差异。
因此,我们了解了标准Dropout方法的局限性。我们甚至可以说它效率低下,唯一带来的变化就是额外的计算时间。如果我们随机忽略图像上的像素,则几乎不会删除任何信息。省略的像素与其周围几乎相同。这意味着性能不佳,无法防止过拟合。
为什么不利用CNN中经常使用的池化呢?例如最大池化层。对于那些不知道的人:“最大池化层”是通过图片或(功能图)选择重叠区域的最大激活程度的滤镜。
Max-Pooling Dropout 是一种应用于H. Wu和X. Gu提出的CNN的丢弃方法。在执行合并操作之前,它将伯努利的遮罩直接应用于“最大池化层”内核。凭直觉,这允许最小化高活化剂的聚集。限制某些神经元的沉重预测能力是一个很好的观点。在测试阶段,然后可以根据存在的可能性对以前的方法进行加权。
以最大池化层为例,但其他池化层也可以这样做。例如,对于平均池化层,我们可以在训练阶段以相同的方式应用Dropout。然后在测试阶段,因为它已经是加权平均值,所以不会有任何变化。
Spatial Dropout
对于CNN,我们可以利用池化层。但是我们也可以遵循J. Tompson等人提出的Spatial Dropout 方法,变得更聪明。他们提议用经典的丢失方法来克服该问题,因为相邻像素高度相关。
除了可以在像素上随机应用滤除之外,我们还可以考虑对每个要素贴图应用滤除。如果我们以猫为例,那就像从图像中去除红色,然后将其强制推广到图像的蓝色和绿色。然后在接下来的迭代中将其他特征图随机删除。
我不知道如何正确地数学写作以使其易于理解。但是,如果您了解以前的方法,则不会有任何麻烦。在训练阶段,每个特征图都应用伯努利遮罩,其概率为p。然后在测试阶段,没有丢失,而是通过存在概率1-p进行加权。