我是神经网络新手。我在很多平台上学习了一些教程,但有一件事我不明白。
在一个简单的多层感知器中:我们有输入层,这个例子中的一个隐藏层(与输入层相同的神经元数)和一个单位的输出层。
我们在隐层中随机地在小值范围内初始化单位的权值。现在,输入层与隐藏层完全连接。因此,隐藏层中的每个单元都将接收相同的参数。他们如何从彼此身上提取不同的特征呢?
谢谢你的解释!
发布于 2016-11-29 10:39:41
我们在隐层中随机地在小值范围内初始化单位的权值。现在,输入层与隐藏层完全连接。因此,隐藏层中的每个单元都将接收相同的参数。他们如何从彼此身上提取不同的特征呢?
实际上,每个神经元都不会有相同的值。要获得隐藏层的激活,您可以使用矩阵方程Wx + b,在这种情况下,W是形状的权重矩阵(隐藏大小,输入大小)。X是形状的隐层(输入尺寸)的输入向量,b是形状的偏差(隐大小)。这将导致形状的激活(隐藏大小)。因此,当每个隐藏神经元都“看到”相同的x向量时,它将取x的点积和它自己的随机行向量,并添加它自己的随机偏差,这将给这个神经元一个不同的值。W矩阵和b向量中包含的值是经过训练和优化的。由于他们有不同的起点,他们最终会通过梯度学习不同的特征体面。
https://stackoverflow.com/questions/40863356
复制相似问题