2009-11-28 91 views
1

我想在两个不同的程序中运行一个NN学习者在相同的数据。尽管一切(数据和参数)都是相同的,并且我也手动将初始权重设置为相同的值(0),但是我在2个程序中导致了不同的权重。 有趣的是,连续运行每个程序不会改变独立结果。 我什么调试和检查:OpenCV神经网络权重

1)输入数据,

2)NN参数

3)初始化。重量

4)类标签(输出节点)

这些都是相同的。我还应该检查什么?

回答

1

我认为正在发生的事情是,NN训练算法正在设置一些种子randomicaly,因此,你的权重矩阵将在你的训练中以不同的值结束。其次,只要你使用了相同的训练集,你的神经网络中得到的分类在两个程序中都将几乎相同。

1

如答案1所述,它可能将权重初始化为随机值。一般来说,您不应该将NN权重初始化为零,因为这总是一个鞍点。这意味着典型的反向传播训练算法将失败。