Alpha Dropout

classtorch.nn.AlphaDropout(p=0.5, inplace=False)[源代码]

对输入应用Alpha Dropout。

Alpha Dropout 是一种特殊的 Dropout 类型,能够保持自归一化的特性。对于均值为零且标准差为一的输入数据,Alpha Dropout 的输出将保留原始输入的均值和标准差。它通常与 SELU 激活函数一起使用,以确保输出具有零均值和单位标准差。

在训练过程中,它以概率 p 使用伯努利分布的样本随机屏蔽输入张量的一些元素。每次前向调用时,要被屏蔽的元素都是随机选择的,并且会被缩放和偏移以保持零均值和单位标准差。

在评估期间,该模块只是计算恒等函数。

更多细节可以在论文 《自归一化神经网络》 中找到。

参数
  • p (float) – 控制元素被丢弃的概率。默认值为 0.5。

  • inplace (bool, 可选) – 如果设置为 True,将以原地方式执行此操作

形状:
  • 输入: $(*)$。输入可以是任意形状。

  • 输出: $(*)$。输出的形状与输入相同

示例:

>>> m = nn.AlphaDropout(p=0.2)
>>> input = torch.randn(20, 16)
>>> output = m(input)
本页目录