Machine learning 为什么我的神经网络对不同的输入返回相同的输出?

Machine learning 为什么我的神经网络对不同的输入返回相同的输出?,machine-learning,neural-network,Machine Learning,Neural Network,我正在编写一个神经网络来测试我的想法。问题是,我甚至无法测试网络的性能,因为无论输入如何,它都会输出完全相同的输出 该网络正在使用MNIST数据集进行训练,有10个输出节点 简单地说,由于神经网络是如何计算数学的,即使神经网络没有收敛到任何东西,它仍然没有任何数学意义,它将输出精确相同的输出,精确到小数点后百万位 每当我重新训练网络时,它当然会有一个新的输出,可能是由于新的计算权重集。但无论输入如何,输出都保持不变 有人知道问题出在哪里吗 编辑: 我用的是一个sigmoid函数 在我训练它并查询

我正在编写一个神经网络来测试我的想法。问题是,我甚至无法测试网络的性能,因为无论输入如何,它都会输出完全相同的输出

该网络正在使用MNIST数据集进行训练,有10个输出节点

简单地说,由于神经网络是如何计算数学的,即使神经网络没有收敛到任何东西,它仍然没有任何数学意义,它将输出精确相同的输出,精确到小数点后百万位

每当我重新训练网络时,它当然会有一个新的输出,可能是由于新的计算权重集。但无论输入如何,输出都保持不变

有人知道问题出在哪里吗

编辑:

我用的是一个sigmoid函数

在我训练它并查询它之后,我的输出看起来像这样

`array([[ 0.10651613],
   [ 0.11501053],
   [ 0.11034159],
   [ 0.11213908],
   [ 0.10754446],
   [ 0.09952921],
   [ 0.10827382],
   [ 0.11763775],
   [ 0.10538466],
   [ 0.10562691]])

然后,我将使用不同的输入查询它,并将得到相同的精确输出。

这取决于具体情况。您尚未提供任何有关网络结构、激活或输出的信息。另外,我将在黑暗中拍摄,但你可能会遇到爆炸性的梯度。我使用的是一个S形函数。在我训练它并查询它之后,我的输出看起来像这样。数组([[0.10651613],[0.11501053],[0.11034159],[0.11213908],[0.10754446],[0.09952921],[0.10827382],[0.11763775],[0.10538466],[0.10562691]),然后我将使用不同的输入查询它,我对这个问题和潜在的解决方案有一些想法。但如果没有任何代码,就无法确定答案。:)我只是做了更多关于爆炸梯度的研究,发现:在阅读了第一段之后,我认为它与我的问题有着密切的关系,可能会让我走上解决问题的正确道路。谢谢你的提示!如果我最终解决了这个问题,我会告诉你。(刚刚看到你的下一条消息)是的,我理解你的观点,并认为这个问题可能会出现。问题是,我不太愿意把我的代码发布到网上,因为我认为我的想法可能真的很有价值,而且我不想冒险让别人为我的想法争光。