特征 AlphaDropout ¶
- class torch.nn.FeatureAlphaDropout(p=0.5, inplace=False)[source][source]¶
随机屏蔽整个通道。
通道是一个特征图,例如,批输入中第①个样本的第②个通道是输入张量③的 tensor)。与常规 Dropout 将激活设置为 0 不同,激活被设置为 SELU 激活函数的负饱和值。更多细节可以在论文《自归一化神经网络》中找到。
每个元素将在每次前向调用中以概率①独立掩码,并使用伯努利分布的样本进行掩码。要掩码的元素将在每次前向调用中随机化,并缩放和偏移以保持零均值和单位方差。
通常输入来自①模块。
如论文《使用卷积网络的快速目标定位》所述,如果特征图内的相邻像素(如早期卷积层中通常的情况)强相关,则独立同分布的 dropout 不会正则化激活,否则只会导致有效学习率降低。
在这种情况下,
nn.AlphaDropout()
将有助于促进特征图之间的独立性,应使用它代替。- 参数:
p(浮点数,可选)- 元素被置零的概率。默认值:0.5
inplace (布尔值,可选) – 如果设置为
True
,将在此处进行此操作
- 形状:
输入: 或 。
输出: 或 (与输入形状相同)。
示例:
>>> m = nn.FeatureAlphaDropout(p=0.2) >>> input = torch.randn(20, 16, 4, 32, 32) >>> output = m(input)