权重成为“南”,在实现神经网络

问题描述 投票:-1回答:2

我试图实现神经网络的具有5隐藏层分类,和与在输出层SOFTMAX交叉熵。实现在JAVA。

为了优化,我已经使用MiniBatch梯度下降(批量大小= 100,学习率= 0.01)

然而,几次迭代后,权重成为“南”,并预测值变成是对每个测试用例相同。

无法调试这个错误的根源。这里是GitHub的链接代码(与测试/培训文件。)https://github.com/ahana204/NeuralNetworks

machine-learning neural-network gradient-descent softmax multilabel-classification
2个回答
1
投票

就我而言,我忘了标准化训练数据(减去均值)。这是导致我的SOFTMAX的分母为0。希望这有助于。


0
投票

假设你执行的代码是正确的,原因之一是大的学习率。如果学习速率大,权重可能不收敛,并可能变得非常小或非常大的可能被显示为NaN。尽量降低学习率是否有任何变化。

© www.soinside.com 2019 - 2024. All rights reserved.