我正在尝试在2个不同的程序中运行相同数据的NN学习者。虽然一切(数据和参数)都相同,而且我手动将初始权重设置为相同的值(0),但我在2个程序中导致不同的权重。 有趣的是连续运行每个程序不会改变独立的结果。 我调试和检查的是:
1)输入数据,
2)NN参数
3)初始。权重
4)类标签(输出节点)
这些都是一样的。我还应该检查什么?
答案 0 :(得分:1)
我认为正在发生的事情是NN训练算法正在随机设置一些种子,因此,你的体重矩阵在训练中最终会得到不同的值。
其次,只要您使用相同的训练集,您的神经网络中的结果分类在两个程序中几乎都是相同的。
答案 1 :(得分:1)
正如答案1所说,它可能正在将权重初始化为随机值。通常,您不应将NN权重初始化为零,因为这始终是一个鞍点。这意味着典型的反向传播训练算法将失败。