神经网络对于相同的输入给出不同的输出

Ric*_*Han 5 neural-network tensorflow

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

Ofe*_*dan 5

这是一个非常广泛和普遍的问题,甚至可能太广泛了,甚至无法在这里讨论,但是您应该了解有关神经网络的几件事:

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

  2. 他们的结果非常依赖于训练的数据。数据的顺序很重要,在训练期间打乱数据通常是个好主意,但这可能会导致截然不同的结果。此外,数据的质量也很重要——例如,如果训练数据在本质上与测试数据有很大不同。

  3. 神经网络在计算中最好的类比当然是——大脑。即使拥有相同的信息和相同的基本生物学基础,我们也可能会基于无数的其他变量对事物产生不同的看法。在某种程度上,计算机学习也是如此。

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

所有这些的总和只是说:神经网络的训练应该在相似的起始条件下产生不同的结果,因此必须对每个条件进行多次测试,以确定其中哪些部分是不可避免的,哪些部分不是。 。