Shortcuts

AlphaDropout

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

对输入应用 Alpha Dropout。

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

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

在评估过程中,该模块仅计算一个恒等函数。

更多细节可以在论文 Self-Normalizing Neural Networks 中找到。

Parameters
  • p (float) – 元素被丢弃的概率。默认值:0.5

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

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

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

示例:

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