【问题标题】:How does the Gradient function work in Backpropagation?梯度函数在反向传播中如何工作?
【发布时间】:2021-05-08 03:25:41
【问题描述】:

在反向传播中,是使用梯度 w.r.t 计算的 Loss w.r.t layer L 的梯度。 L-1 层?或者,是损失 w.r.t 的梯度。使用梯度 w.r.t 层 L 计算的层 L-1?

【问题讨论】:

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


    【解决方案1】:

    在反向传播中使用梯度下降函数来找到调整权重的最佳值。有两种常见的梯度下降类型:Gradient DescentStochastic Gradient Descent

    梯度下降是一个函数,它决定了改变权重的最佳调整值。在每次迭代中,它决定了权重应该调整的体积/数量,离最佳确定的权重越远,调整值越大。你可以把它想象成一个滚下山坡的球;球的速度是调整值,山是可能的调整值。本质上,您希望球(调整值)尽可能接近世界底部(可能的调整)。球的速度会增加,直到它到达山脚 - 山脚是最好的值。 更实用的解释可以在here找到。

    随机梯度下降是梯度下降函数的更复杂版本,它用于可能具有错误最佳调整值的神经网络,其中常规梯度下降不会找到最佳值,而是找到最佳值认为是最好的。这可以类比为球滚下两座山丘,山丘的高度不同。它滚下第一座山丘,到达第一座山丘的底部,以为它已经达到了可能的最佳答案,但是通过随机梯度下降,它会知道它现在所处的位置不是最佳位置,但实际上,第二座山的底部。

    左边是梯度下降的输出。 右边是随机梯度下降会找到的(最好的可能值)。 可以在here 找到该解释的更具描述性和实用性的版本。

    最后总结一下我对你的问题的回答,在反向传播中,你计算最右边的权重矩阵的梯度,然后相应地调整权重,然后向左移动一层,L-1,(在下一个weight-matrix) 并重复该步骤,换句话说,您确定梯度,进行相应调整,然后向左移动。

    这个问题我在另一个问题里也有详细讲过,可能对check that one out有帮助。

    【讨论】:

    • 谢谢!然而,这个问题的答案是什么 - >在反向传播中,是使用梯度 w.r.t 计算的 Loss w.r.t 层 L 的梯度。 L-1 层?或者,是损失 w.r.t 的梯度。使用梯度 w.r.t 层 L 计算的层 L-1?
    • @AnubhavSachdev 我不完全确定你在问什么?你的意思是,How do you calculate Gradient of Loss?
    • 在反向传播过程中,当我们计算任意给定层 L 的权重矩阵的 Gradient 时,过程的顺序是什么?我们是先计算前一层(L-1)的梯度,然后计算当前层(L),还是先计算当前层(L)的梯度,然后计算前一层(L-1)的梯度?
    • 所以反向传播的过程顺序如下:首先像往常一样前向传播网络,然后反向传播,这是前向传播的相反方向(向后)所以从右到左。您从最后一层开始并找到该层的渐变并相应地调整权重,然后转到下一层(在这种情况下是左边的那个)并重复,所以是的。你计算当前层的梯度,调整权重,然后移动到当前层之前的层(L-1)。我会在我的答案中包含这个
    • @AnubhavSachdev 我希望我回答了您的问题,如果您对我的回答感到满意,请点赞并接受我的回答!
    【解决方案2】:

    总之,

    左层右层

    的前馈工作

    右层左层的反向传播可以更新所有层的权重和偏差,从而将成本降至最低。在每次迭代中,我们计算损失并更新权重和偏差。

    【讨论】:

      【解决方案3】:

      L wrt layer l−1的梯度是使用梯度wrt layer l计算的

      【讨论】:

      • 欢迎来到 Stack Overflow!我看不出这如何回答本页顶部的问题,但应该如此。请edit根据How to Answer或删除答案。否则,它可能会被标记为“不是答案”并被删除。
      猜你喜欢
      • 2020-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-15
      • 1970-01-01
      相关资源
      最近更新 更多