我正在尝试创建一个具有 2 个输入神经元、1 个具有 3 个神经元的隐藏层和一个具有单个神经元的输出层的简单神经网络,并针对 XOR 问题对其进行训练。
根据我对神经网络的理解,我计划在每个神经元中都有一个输入的加权线性函数和一个 Sigmoid 激活函数。因此,例如,第一个输入神经元x将计算c=ax+b,a作为参数并b作为其偏差。然后它将馈送
c到 Sigmoid 函数以计算z=1/(1+exp(-c))哪个将是它的输出。如果我在这方面有任何错误,请纠正我。
现在,我正在尝试按照这篇文章创建反向传播微分方程。它表示dc = z * (1-z) * dz其中 dz 是绿色边缘的梯度,然后da = x * dc是da在此反向传播迭代中计算的梯度。
我的问题是有三个zs(一个对应于每个向外边缘),它们的值(重量)将是相同的(z=1/(1+exp(-c)))。我假设,那么隐藏层中三个神经元中的所有值和梯度也将相同。那么隐藏层中有三个神经元有什么意义呢?是什么导致随机性导致三个绿色边缘中的每一个都具有三个不同的梯度?如果它们实际上不同,我怎么能dc简单地计算出z * (1-z) * dz三个zs 和三个dzs 呢?