Neural network 自实现神经网络奇异收敛

Neural network 自实现神经网络奇异收敛,neural-network,Neural Network,我现在有一个问题,我已经有好几天没能用Java中的自实现神经网络来解决了。我的网络有两个输入神经元,对应于给定灰度图像中像素的x和y坐标,一个输出表示像素的色调。我使用的学习算法是RPROP。我遇到的问题是,在用整个训练数据集对网络进行多次迭代之后,它收敛到一个距离预期值非常远的点,并且在分析收敛网络的权重结构之后,我可以看到隐藏层中的所有神经元都具有完全相同的输入权重集。这与隐藏层中的神经元数量无关。这是因为我正在用相同的值初始化网络中的所有权重吗?我试着随机化重量,但这并没有使事情变得更好。

我现在有一个问题,我已经有好几天没能用Java中的自实现神经网络来解决了。我的网络有两个输入神经元,对应于给定灰度图像中像素的x和y坐标,一个输出表示像素的色调。我使用的学习算法是RPROP。我遇到的问题是,在用整个训练数据集对网络进行多次迭代之后,它收敛到一个距离预期值非常远的点,并且在分析收敛网络的权重结构之后,我可以看到隐藏层中的所有神经元都具有完全相同的输入权重集。这与隐藏层中的神经元数量无关。这是因为我正在用相同的值初始化网络中的所有权重吗?我试着随机化重量,但这并没有使事情变得更好。除了输出层之外,我在所有层中都使用了S形tanh激活函数。我不知道我是否在实现中犯了错误,或者我是否误解了神经网络学习过程的数学描述的某些部分。有人知道是什么导致了这种奇怪的行为吗?

你使用的是偏差单位吗?我会在神经网络中查找偏差单位的使用情况。此外,如果您正在执行一个简单的开箱即用的实现,您可能希望根据已知的NN库测试工作的迭代结果。

尝试使用网络正在执行的操作的打印输出进行调试。如果有少量单位,可以打印激活、增量、权重和权重更改。如果你有很多,你可以试着打印出它们绝对值的平均值

这可能会导致您遇到问题


还有-你有没有尝试过利用学习速率/动量?

神经网络如何仅从坐标推断颜色?