评价此页

AlphaDropout#

class torch.nn.AlphaDropout(p=0.5, inplace=False)[source]#

对输入应用 Alpha Dropout。

Alpha Dropout 是一种可以保持自归一化特性的 Dropout。对于均值为零、标准差为一的输入,Alpha Dropout 的输出会保持输入的原始均值和标准差。Alpha Dropout 与 SELU 激活函数配合使用,后者可确保输出具有零均值和单位标准差。

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

在评估期间,该模块仅执行恒等函数。

更多细节请参阅论文 Self-Normalizing Neural Networks

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

  • inplace (bool, optional) – 如果设置为 True,则将执行此操作的就地操作

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

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

示例

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