我正在编程一个神经网络来测试我的想法。问题是我还没有能够测试网络的性能如何,因为无论输入如何,它都会输出完全相同的输出。与不同输入(神经网络)相同的输出
网络正在接受MNIST数据集的训练,并有10个输出节点。
简单地说,由于神经网络如何计算数学,即使神经网络没有收敛于任何东西,它仍然不会在数学上感知它将输出精确到百万分之一的小数位。
每当我重新训练网络它当然有一个新的输出,可能是由于新的计算权重集。但是,不管输入如何,输出都保持不变。
有没有人有任何想法可能是什么问题?
编辑:
我正在使用sigmoid函数。
我训练后,查询它,我的输出看起来像这样。
`array([[ 0.10651613],
[ 0.11501053],
[ 0.11034159],
[ 0.11213908],
[ 0.10754446],
[ 0.09952921],
[ 0.10827382],
[ 0.11763775],
[ 0.10538466],
[ 0.10562691]])
然后,我将与不同的输入进行查询,并会得到完全相同的输出。
这取决于。您尚未提供有关网络结构,激活或输出的任何信息。另外,我会在黑暗中拍摄一张照片,但你可能会遇到一个渐变的爆炸。 –
我正在使用sigmoid函数。 当我训练它,并查询它,我的输出看起来像这样。 阵列([[0.10651613], [0.11501053], [0.11034159], [0.11213908], [0.10754446], [0.09952921], [0.10827382], [0.11763775], [0.10538466], [0.10562691]]) 然后我会用不同的输入查询它,并会得到相同的确切输出。 –
我对这个问题和潜在的解决方案有几点想法。但是没有任何代码是不可能的。 :) –