Dropout(论文,解释)将某些神经元的输出设置为零。因此对于MLP,您可以为鸢尾花数据集采用以下架构:
4 : 50 (tanh) : dropout (0.5) : 20 (tanh) : 3 (softmax)
它将像这样工作:
与,,,,(为简单起见,忽略了偏见)。
与和
其中操作将与逐点相乘(请参见Hadamard product)。
因此,我们每次都只是对矩阵采样,因此滤失成为结点与0的乘积。
但是对于CNN来说,我不清楚究竟会删除哪些内容。我可以看到三种可能性:
- 删除完整的功能图(因此是内核)
- 删除内核的一个元素(将内核的元素替换为0)
- 删除要素地图的一个元素
请在您的答案中添加参考/引用。
我的想法
我认为千层面(3)(请参阅代码)。这可能是最简单的实现。但是,更接近原始想法的可能是(1)。
似乎与Caffe类似(请参阅代码)。对于张量流,用户必须决定(代码 -我不确定noise_shape=None
传递时会发生什么)。
应该如何
(2)和(3)并没有多大意义,因为它会使网络向空间位置添加不变性,这可能是不希望的。因此(1)是唯一有意义的变体。但是我不确定如果使用默认实现会发生什么。
我在Lasagne用户组中也提出了这个问题。
—
马丁·托马
我的朋友指出(2)和(3)可能不是一个好主意,因为它可能会迫使网络在空间上传播信息。
—
马丁·托马(Marin Thoma)