简单神经网络的矢量化实现中的反向传播问题

杰夫罗伊(Devjeet Roy)

我一直在阅读UFLDL教程。在简单神经网络的矢量化实现中,这些教程建议一种方法是遍历整个训练集而不是迭代方法。在反向传播部分,这意味着替换:

 gradW1 = zeros(size(W1));
 gradW2 = zeros(size(W2)); 

for i=1:m,
  delta3 = -(y(:,i) - h(:,i)) .* fprime(z3(:,i)); 
  delta2 = W2'*delta3(:,i) .* fprime(z2(:,i));

  gradW2 = gradW2 + delta3*a2(:,i)';
  gradW1 = gradW1 + delta2*a1(:,i)'; 
end;

delta3 = -(y - h) .* fprime(z3)
delta2 = W2'*delta3().*fprime(z2)

gradW2 = delta3*a2'
gradW1 = delta2*a1' 
//apply weight correction now that all gradients
//are computed

请访问此页面以获取有关符号和算法的信息。

但是,此实现在gradW1和gradW2内部产生异常大的值。这似乎是由于我在处理每个训练输入时未更新权重的结果(在另一个较早的工作实现中进行了测试)。我说得对吗?通过阅读教程,似乎有一种方法可以使这项工作奏效,但我无法提出可行的建议。

尤里·扎列茨基(Yuriy Zaletskyy)

反向传播有两种实现方式:批处理和在线训练算法。最初,您描述了在线训练算法。然后,您发现并尝试实现了批次训练算法,该算法有时会产生您所描述的副作用。在您的情况下,将学习样本分成较小的块并从中学习是个好主意。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

简单神经网络的矢量化实现中的反向传播问题

来自分类Dev

神经网络反向传播实施问题

来自分类Dev

神经网络中的反向传播偏差

来自分类Dev

反向传播神经网络

来自分类Dev

简单的反向传播神经网络算法(Python)

来自分类Dev

神经网络反向传播算法中的训练数据循环

来自分类Dev

神经网络反向传播中的验证集

来自分类Dev

难以理解神经网络中的反向传播算法

来自分类Dev

神经网络在梯度下降中的反向传播与线性回归

来自分类Dev

Tensorflow.js神经网络中的反向传播

来自分类Dev

人工神经网络中的全矩阵反向传播方法

来自分类Dev

关于张量流中的反向传播深度神经网络

来自分类Dev

乙状结肠-反向传播神经网络

来自分类Dev

XOR神经网络反向传播

来自分类Dev

神经网络反向传播未训练

来自分类Dev

反向传播的神经网络无法收敛

来自分类Dev

神经网络和反向传播

来自分类Dev

神经网络的反向传播算法的推导

来自分类Dev

神经网络和反向传播

来自分类Dev

神经网络中2个隐藏层的反向传播和正向传播

来自分类Dev

MNIST数字的神经网络根本无法学习-反向传播问题

来自分类Dev

numpy 中的高效实现(矢量化)

来自分类Dev

在神经网络中,偏置项的权重是否在反向传播中得到更新?

来自分类Dev

单元测试反向传播神经网络代码

来自分类Dev

反向传播直到神经网络的输入层

来自分类Dev

神经网络:反向传播阶段的分步细分?

来自分类Dev

反向传播直到神经网络的输入层

来自分类Dev

神经网络反向传播权重变化对预测的影响

来自分类Dev

反向传播神经网络无法正常工作

Related 相关文章

热门标签

归档