【问题标题】:Self-implemented neural-network strange convergance自实现神经网络奇异收敛
【发布时间】:2012-02-11 20:10:45
【问题描述】:

我目前遇到一个问题,我用 Java 自我实现的神经网络几天都无法解决。我的网络有两个输入神经元,对应于给定灰度图像中像素的 x 和 y 坐标,一个输出表示像素的色调。我使用的学习算法是 RPROP。我遇到的问题是,在向网络提供整个训练数据集的无数次迭代之后,它收敛到一个远离预期的点,并且在分析了收敛网络的权重结构之后,我可以看到所有神经元在隐藏层中具有完全相同的一组输入权重。这与隐藏层中神经元的数量无关。是因为我用相同的值初始化网络中的所有权重吗?我尝试将权重随机化,但并没有让事情变得更好。我在除输出层之外的所有层中使用 sigmoidal (tanh) 激活函数。我不知道我是否在实现中犯了错误,或者我是否误解了神经网络学习过程的数学描述的某些部分。有谁知道什么可能导致这种奇怪的行为?

【问题讨论】:

  • 神经网络如何仅从坐标推断颜色?

标签: neural-network


【解决方案1】:

您是否使用偏置单位?我会查找神经网络中偏差单元的使用。此外,如果您正在执行一个简单的开箱即用实现,您可能希望针对已知的 NN 库测试您的工作的迭代结果。

【讨论】:

    【解决方案2】:

    尝试使用网络正在执行的打印输出进行调试。如果您有少量单位,您可以打印出激活、增量、权重和权重更改。如果你有很多 - 你可以尝试打印出它们绝对值的平均值。

    这可能会导致您遇到问题。

    另外 - 您是否尝试过使用学习率/动量?

    【讨论】:

      猜你喜欢
      • 2012-03-03
      • 2018-05-24
      • 2016-05-13
      • 2016-07-10
      • 2019-02-20
      • 2016-05-13
      • 2018-11-04
      • 1970-01-01
      相关资源
      最近更新 更多