反向传播,每层不止一个节点

时间:2019-04-22 16:47:04

标签: machine-learning neural-network deep-learning backpropagation gradient-descent

我读过this文章,内容涉及反向传播的工作原理,我理解他们所说的一切。他们说,要找到梯度,我们必须对每个权重/偏差取成本函数的偏导数。但是,为了解释这一点,他们使用了每层只有一个节点的网络。对于每层具有一个以上节点的网络,您如何进行反向传播?

1 个答案:

答案 0 :(得分:1)

我还没有对我在这里提出的数学进行过彻底的检查,所以如果有人在这里看到错误,请纠正我!

无论如何,下面的图像是反向传播的一个非常简单的示例。如您所见,我们对权重W的损失函数L 的梯度(在这种情况下,损失函数非常简单并且效果不佳)感兴趣。 以便根据梯度下降优化器更新权重(还有其他更好的优化器,但是梯度下降是最容易理解的一种,因此建议您仔细阅读) 。我想您理解的关键是方框中的第一个方程式,您可以看到您首先使用链式规则,然后总结这样可以为您提供的所有渐变

为进一步理解,我建议您写出所有正向传播的方程式,然后在每一层计算dL​​ / dW和dL / da的链规则。如果进一步分解等式并设置 a = f(z),z = W * X (为了使链式规则更直观;即 dL / dW = dL / da * da / dz * dz / dW )。还有许多指南可供您阅读以进一步了解。

Backpropagation multiple nodes