一维 Dropout
- classtorch.nn.Dropout1d(p=0.5, inplace=False)[源代码]
-
随机将整个通道设置为零。
一个通道是一维特征图。例如,批量输入中第$i$个样本的第$j$个通道是一个一维张量$\text{input}[i, j]$。
每个通道将在每次前向调用时以概率
p
独立地置零,样本来自伯努利分布。通常,输入来自
nn.Conv1d
模块。正如论文Efficient Object Localization Using Convolutional Networks 中所述,如果特征图中的相邻像素高度相关(这通常发生在早期卷积层),独立同分布的 dropout 将不会对激活进行正则化,并且实际上会导致有效学习率下降。
在这种情况下,应使用
nn.Dropout1d()
来帮助促进特征图之间的独立性。- 形状:
-
-
输入:$(N, C, L)$ 或 $(C, L)$。
-
输出: $(N, C, L)$ 或 $(C, L)$(与输入的形状相同)。
-
示例:
>>> m = nn.Dropout1d(p=0.2) >>> input = torch.randn(20, 16, 32) >>> output = m(input)