当输入可以包含零时,丢失是否适用于输入节点?

时间:2017-09-12 01:01:47

标签: machine-learning neural-network

我对神经网络丢失的理解是,你实际上是要将要丢弃的神经元的值设置为零。

但是,如果您的一个输入是一个可以包含零的数字范围,那么这是否意味着由丢失设置的零值可能会被混淆为零值作为合法输入?

4 个答案:

答案 0 :(得分:0)

是的,辍学是您基本上将要退出的神经元的值设置为零,但关键是要实现随机。对于每个隐藏图层,您可以设置不同的辍学率。您的输入图层不是丢失的一部分。

答案 1 :(得分:0)

不,因为Dropout不应该应用于输入,只应用于给定图层的输出。将Dropout应用于输入层是没有意义的。

答案 2 :(得分:0)

  

...不应将压降应用于输入...

我认为情况并非如此:

  

在输入上使用dropout并不少见。在原始论文中,作者通常使用遗漏,对于隐藏单位的保留率为50%,对于(实值)输入的保留率为80%。对于表示分类值(例如,一键编码)的输入,可能不适合采用简单的删除程序。

回答您的问题;我认为在这种情况下,将其像合成噪声一样容易对待。是的;它永远不会用“噪声”覆盖零值,这确实是一个问题。

因此,将其推论出来,不是所有值都一样可疑,而是高值值得信赖,而零值得怀疑。您可能会像平常一样使用高斯白噪声,而不是把所有这些弄乱了,这样可能会更好。除非您的实际测试集可能实际上缺少输入内容,否则……这似乎是一种很好的方法。

混淆未知的零输入将导致问题;但是将未知输入设置为-1或其他任何值;它将为每个输入创建一个附加的脱节模式,并阻止您的通用化。

建议我建议,如果将未知值设置为平均期望值,则对这方面的危害最小。因此,如果您事先对数据进行了归一化处理(您应该拥有)零作为平均值,那么一切都会正常进行。

P.S。在我看来,如果使用与已知值的相关性来猜测未知值,并假设它们是相关的,则可以得到更准确的预期均值。到那时,您不能再使用辍学层了。所以可能有更好的方法来解决这个问题。

答案 3 :(得分:0)

从大脑的角度思考神经网络。神经元的输出就像电信号一样。如果输出为零,则表示没有信号。通过设计,神经元将其输出计算为权重与上一层输出的乘积,因此零乘以零将产生零。神经元产生的零输出对随后的信号传播没有贡献。

此外,NN是一个近似值,因此您不能期望它会产生所需的精确值。您将其输入并反馈回信号。对于某些输入值,您可能希望信号大于其他输入信号,并且在训练过程中您会学习NN来做到这一点。进行二进制分类,您可能希望NN对于阳性标签会产生大于或等于零的信号,而对于阴性标签则会产生小于零的信号。