神经网络中的权重初始化

数据挖掘 机器学习 神经网络 深度学习 情绪分析 权重初始化
2022-02-22 01:52:21

我正在查看用于情绪分析的自定义神经网络的代码。它有 3 层(1 个隐藏层)。我更关心层的权重初始化

 self.weights_0_1 = np.zeros((self.input_nodes,self.hidden_nodes))
 self.weights_1_2 = np.random.normal(0.0, self.output_nodes**-0.5,(self.hidden_nodes,self.output_nodes))

初始化零的权重矩阵背后的想法是什么。我了解到将权重初始化为零可能会导致线性。

这可能是一个非常模糊的问题,我很乐意提供您想要的任何细节。 https://github.com/udacity/deep-learning/blob/master/sentiment-network/Sentiment_Classification_Solutions.ipynb

1个回答

三层,一层隐藏层?这听起来不对。你有 2 层,输入 -> 隐藏 -> 输出,只有 2 层,有两组权重。

初始化的单层0不会收敛,因为导数将严格相同(此规则也适用于网络中的任何此类最后一层,该层基本上无用)。在这里,之后还有第二层可以节省时间,但总的来说这仍然是一个不好的做法。