一个相当容易的,但现在只是变得疯狂。
当应用dropout来规范我的神经网络时,应该在哪里应用它?
对于这个例子,让我们想象2个卷积层,然后是1个完全连接的层。 “A2”是第二个转换层的激活。我应该对这些激活应用dropout,还是应该将它应用于以下完全连接层的权重?或者它并不重要?
我的直觉告诉我,正确的做法是对完全连接层的权重应用dropout,而不是在第二个conv层的激活中应用dropout,但我在许多地方看到了相反的情况。
我见过两个类似的问题,但没有一个问题令人满意。
答案 0 :(得分:3)
两者都有效。当您放弃激活时,它被称为 dropout ,当您放下权重时,它被称为 dropconnect 。 DropConnect是DropOut方法的通用版本。 DropConnect论文中的这张图片很好地解释了这一点。
如果节点u3
的所有权重都为零(3/4为零),则在Dropconnect的情况下,这与在r3
节点上应用丢失相同。另一个区别在于权重的掩码矩阵。
左边一个表示dropconnect的掩码矩阵,右边一个表示如果将dropout应用于两个连续层的有效掩码矩阵。 请注意丢失掩码矩阵中的模式。 作者show that dropconnect击败基准数据集中的丢失并产生最先进的结果。
因为,dropconnect是我会使用它的通用版本。