【问题标题】:backpropagation with more than one node per layer每层具有多个节点的反向传播
【发布时间】:2019-09-11 20:27:06
【问题描述】:

我阅读了 this 关于反向传播如何工作的文章,我理解他们所说的一切。他们说要找到梯度,我们必须对每个权重/偏差取成本函数的偏导数。然而,为了解释这一点,他们使用了一个每层有一个节点的网络。对于每层有多个节点的网络,如何进行反向传播?​

【问题讨论】:

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


    【解决方案1】:

    我在这里提出的数学没有仔细检查过,所以如果有人在这里看到错误,请纠正我!

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

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

    【讨论】:

    • 你说Loss = a1的输出+ a2的输出
    • 如果第一层有2个节点,你会怎么做?
    • 如果第一层有 2 个节点,什么都不会真正改变。我们只计算 w.r.t 的梯度。每个人的体重。您可以将其视为单独优化每个权重(独立于所有其他权重)w.r.t.损失函数。此外,上面的方程是带有标量的。在真实环境中,这些将是矩阵方程。
    猜你喜欢
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    • 2020-11-23
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    • 2017-01-12
    • 1970-01-01
    相关资源
    最近更新 更多