神经网络为相同的输入提供不同的输出

时间:2017-07-09 08:40:53

标签: tensorflow neural-network

NN为同一输入输出不同值的潜在原因是什么?特别是当没有任何随机或随机过程时?

2 个答案:

答案 0 :(得分:2)

这是一个非常广泛和普遍的问题,可能甚至太宽泛甚至不在这里,但是你应该知道几个关于神经网络的事情:

  1. 它们是 NOT 找到一个完美最优解的方法。神经网络通常会学习它给出的示例,并“找出”预测结果的方法相当好。合理是相对的,对于某些模型可能意味着50%的成功,而对于其他模型,任何短缺99.9%都将被视为失败。

  2. 他们的结果非常依赖于训练过的数据。数据的顺序很重要,在训练期间改组数据通常是一个好主意,但这可能会导致截然不同的结果。此外,如果训练数据在性质上与测试数据非常不同,则数据质量很重要。

  3. 计算中神经网络的最佳类比当然是大脑。即使具有相同的信息和相同的基础生物学基础,我们都可以根据无穷无尽的其他变量对事物发展不同的观点。在某种程度上与计算机学习相同。

  4. 某些类型的神经网络使用dropout层,专门用于在训练期间关闭网络的随机部分。这不应该影响最终的预测过程,因为对于预测层通常设置为允许网络的所有部分运行,但是如果您输入数据并告诉模型它是“训练”而不是要求它预测,结果可能会有很大差异。

  5. 所有这一切的总和只是说:神经网络的训练应该预期会产生与类似起始条件不同的结果,因此必须针对每个条件多次测试以确定什么它的一部分是不可避免的,哪些部分不是。

答案 1 :(得分:0)

这可能是由于数据的混乱,如果你想使用相同的向量,你应该关闭shuffle参数。