Mas*_*Zob 12 algorithm neural-network
嘿大家,我一直试图让我编码的ANN用于反向传播算法.我已经阅读了几篇关于它们的论文,但我注意到了一些差异.
这似乎是算法的超级通用格式:
但问题在于:显然,权重需要在某个时刻更新.但是,因为我们正在反向传播,所以在计算更靠近输入层的层的误差时,我们需要使用先前层的权重(更靠近输出层的权重,我的意思).但我们已经计算出更接近输出层的层的重量变化!因此,当我们使用这些权重来计算更接近输入的图层的误差时,我们是使用旧值还是"更新值"?
换句话说,如果我们要在我的超级通用算法中更新权重的步骤,它会是:
(立即更新重量)
要么
(使用权重的"旧"值)
在本文中,我读到了两个抽象的例子(基于图3.3和3.4的例子),他们说要使用旧值,而不是立即更新值.但是,在他们的"工作示例3.1"中,他们使用新值(即使他们说他们使用的是旧值)来计算隐藏层的误差.
此外,在我的书"Ethem Alpaydin的机器学习简介"中,虽然有很多抽象的东西我还不了解,但他说"注意第一层权重delta-w_hj的变化,利用了第二层权重v_h.因此,我们应该计算两个层的变化并更新第一层权重,利用第二层权重的旧值,然后更新第二层权重.
说实话,看起来他们只是犯了一个错误,所有的权重都在最后同时更新,但我想确定.我的ANN给了我奇怪的结果,我想要肯定这不是原因.
谁知道?
谢谢!