2017-07-26 120 views
1

我已经看到,https://www.quora.com/If-one-initializes-a-set-of-weights-in-a-Neural-Network-to-zero-is-it-true-that-in-future-iterations-they-will-not-be-updated-by-gradient-descent-and-backpropagation 说,零值权重将保持为零的所有迭代。训练期间神经网络的零值权重是否保持为零?

然后我将一些权重初始化为零,但是在训练后它们不再是零。

我使用keras和initilizer来使权重为零。优化器是sgd或adam。

有人可以解释吗?非常感谢!

回答

0

不,这是不正确的。权重的实际值并不重要,重要的是成本函数偏重于权重。如果该导数为零,则梯度下降算法无法更新此权重。这是一个已知的ReLUs问题,可能会导致死亡的神经元。这就是为什么其他非线性经常是首选的,例如Leaky ReLUs或ELU。

+0

谢谢你的回答。其实我想创建一个不完整的连接层,我可以自己定义神经元之间的连接。这就是为什么我启动一些权重为零。不幸的是,零初始化不起作用。你可能有想法吗? – Bin