目的:防止过拟合,般用在线性层和卷积层后面
基础知识:伯努利分布(Bernoulli distribution)又名两点分布或0-1分布
- AlphaDropout
- AlphaDropout是一种保持 self-normalizing 属性的Dropout。对于一个0均值和单位标准差的输入,AphaDropout的输出保持输入的均值和标准差不变。
- AlphaDropout和SELU激活函数一起使用,保证了输出是0均值和单位标准差。
- 训练过程中,AlphaDropout会以从伯努利分布中采样到的概率p使一些元素置零。每次前向调用过程中,保留的元素都是随机且会进行缩放和移位以保持0均值和单位标准差。
- 在评估过程中该模块都是仅仅计算一个恒等函数(评估过程中不进行Dropout)。
- 更多细节可在论文Self-Normalization Neural Networks(https://arxiv.org/abs/1706.02515)中找到。
- 参数
- p - 元素被置零的概率,默认为0.5
- inplace - 如果设置为True,将会就地执行该操作
- 形状
- 输入:输入可以是任意形状
- 输出:输出和输入的形状相同
对输入施加Alpha Dropout, 是一种保持输入均值和方差不变的Dropout,该层的作用是即使在dropout时也保持数据的自规范性。 通过随机对负的饱和值进行激活。