【问题标题】:Backpropagation issues反向传播问题
【发布时间】:2010-12-25 23:02:37
【问题描述】:

我有几个关于如何编写神经网络的反向传播算法的问题:

我的网络拓扑结构是输入层、隐藏层和输出层。隐藏层和输出层都有sigmoid函数。

  1. 首先,我应该使用偏差吗? 我应该在哪里连接偏见 在我的网络中?我应该把一个偏见 隐藏层中的每层单位 层和输出层?关于什么 输入层?
  2. 在这个link 中,他们将最后一个增量定义为输入 - 输出,并反向传播增量,如图所示。他们拿着一张桌子放 实际上之前的所有三角洲 在 a 中传播错误 前馈时尚。这是一个 偏离标准 反向传播算法?
  3. 我应该减少学习吗 随时间变化的因素?
  4. 万一有人知道,是 Resilient 在线或批量传播 学习技巧?

谢谢

编辑:还有一件事。在下图中,d f1(e) / de,假设我使用的是sigmoid函数,是f1(e) * [1- f1(e)],对吧?

【问题讨论】:

    标签: artificial-intelligence neural-network


    【解决方案1】:
    1. 它会有所不同。就个人而言,我看不出有太多偏见的原因,但我对神经网络的研究还不够多,无法真正提出支持或反对它们的有效理由。我会尝试并测试结果。

    2. 没错。反向传播首先涉及计算增量,然后在整个网络中传播它们。

    3. 是的。学习因素应该随着时间的推移而降低。但是,使用 BP,您可能会遇到不正确的局部平台期,因此有时在第 500 次迭代左右,将学习因子重置为初始速率是有意义的。

    4. 我无法回答......从未听说过任何关于 RP 的消息。

    【讨论】:

    • Re 4) 我认为 RP可以在线也可以批量
    【解决方案2】:

    您的问题需要更彻底地说明...您需要什么?概括还是记忆?你期待一个复杂的模式匹配数据集,还是一个连续域的输入输出关系?这是我的 0.02 美元:

    1. 我建议你留下一个偏置神经元以备不时之需。如果 NN 认为没有必要,训练应该将权重驱动到可以忽略的值。它将连接到前面层中的每个神经元,但不连接到前一层中的任何神经元。

    2. 据我所知,方程看起来像标准反向传播。

    3. 很难概括您的学习率是否需要随着时间的推移而降低。该行为高度依赖数据。你的学习率越小,你的训练就越稳定。但是,它可能会痛苦地缓慢,尤其是当您像我以前那样使用脚本语言运行它时。

    4. 弹性反向传播(或 MATLAB 中的 RProp)应同时处理在线和批量训练模式。

    我想补充一点,如果可能,您可能需要考虑替代激活函数。 sigmoid 函数并不总是能给出最好的结果...

    【讨论】:

    • 我的目标是概括。我现在实际上正在使用 tanh。除了这些,你还有什么建议?
    • 隐藏和输出神经元的 tanh 和线性函数的组合分别适用于连续函数映射。阶跃函数适用于模式识别。请为您的问题添加更多详细信息。
    猜你喜欢
    • 2011-05-04
    • 2013-02-28
    • 2011-10-28
    • 1970-01-01
    • 1970-01-01
    • 2017-07-27
    • 2016-02-19
    • 1970-01-01
    相关资源
    最近更新 更多