【发布时间】:2010-03-22 05:40:47
【问题描述】:
我正在尝试在 2 个不同程序中对相同数据运行 NN 学习器。尽管一切(数据和参数)都是相同的,而且我手动将初始权重设置为相同的值(0),但我在 2 个程序中产生了不同的权重。 有趣的是连续运行每个程序不会改变独立的结果。 我调试和检查的是:
1) 输入数据,
2) 神经网络参数
3) 初始化。权重
4)类标签(输出节点)
这些都是一样的。我还应该检查什么?
【问题讨论】:
标签: opencv
我正在尝试在 2 个不同程序中对相同数据运行 NN 学习器。尽管一切(数据和参数)都是相同的,而且我手动将初始权重设置为相同的值(0),但我在 2 个程序中产生了不同的权重。 有趣的是连续运行每个程序不会改变独立的结果。 我调试和检查的是:
1) 输入数据,
2) 神经网络参数
3) 初始化。权重
4)类标签(输出节点)
这些都是一样的。我还应该检查什么?
【问题讨论】:
标签: opencv
我认为正在发生的事情是 NN 训练算法正在随机设置一些种子,因此,您的权重矩阵最终会在两次训练中得到不同的值。
其次,只要您使用相同的训练集,您的神经网络中的分类结果在两个程序中实际上是相同的。
【讨论】:
正如答案 1 所说,它可能将权重初始化为随机值。通常,不应将 NN 权重初始化为零,因为这始终是鞍点。这意味着典型的反向传播训练算法会失败。
【讨论】: