评价此页

AlphaDropout#

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

对输入应用 Alpha Dropout。

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

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

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

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

参数
  • pfloat)– 元素被丢弃的概率。默认为:0.5

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

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

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

示例

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

执行前向传播。

返回类型

张量