评价此页

AlphaDropout#

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

对输入应用 Alpha Dropout。

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

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

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

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

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

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

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

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

示例

>>> m = nn.AlphaDropout(p=0.2)
>>> input = torch.randn(20, 16)
>>> output = m(input)
forward(input)[源代码]#

执行前向传播。

返回类型

张量