梯度函数在反向传播中是如何工作的?

问题描述

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

解决方法

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

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

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

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

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

我在另一个问题中也详细讨论过这一点,它可能对check that one out有所帮助。

,

简而言之,

前馈从左层右层

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