激活或权重的丢失

Dropout in activations or in weights

一个相当简单的,但现在只是疯狂地使用它。

当应用 dropout 来正则化我的神经网络时,应该在哪里应用?

对于这个例子,我们假设有 2 个卷积层,后面跟着 1 个全连接层。 "A2" 是第二个 conv 层的激活。我应该将 dropout 应用于这些激活,还是应该将其应用于以下全连接层的权重?或者真的不重要?

我的直觉告诉我,正确的做法是在全连接层的权重上应用 dropout 而不是在第二个 conv 层的激活中,但我在很多地方看到了相反的情况。

我看过两个类似的问题,但 none 个问题的答案令人满意。

两者都有效。当你放弃激活时,它被称为 dropout,当你放弃权重时,它被称为 dropconnect。 DropConnect 是 DropOut 方法的通用版本。这张来自 DropConnect 论文的图片解释得很好。

在 Dropconnect 的情况下,如果节点 u3 的所有权重都为零(3/4 为零),这与在 r3 节点上应用 dropout 相同。另一个区别在于权重的掩码矩阵。

左图为dropconnect的mask矩阵,右图为dropout应用于连续两层时的有效mask矩阵。 注意 dropout 掩码矩阵中的模式。 作者 show that dropconnect 在基准数据集中击败了 dropout 并产生了最先进的结果。

因为 dropconnect 是我会使用的通用版本。