详细内容或原文请订阅后点击阅览
向初学者解释反向传播(第 3 部分):反向传播的实际工作原理
从一个梯度到每个梯度这篇文章《为初学者解释反向传播(第 3 部分):反向传播的实际工作原理》首先出现在《走向数据科学》上。
来源:走向数据科学回来了!
首先,非常感谢您对本系列前两部分的回复。
很高兴你们中的许多人发现它们很有帮助。
一如既往,如果您在阅读时有任何想法、问题或建议,我很想听听您的观点。
现在,让我们从第 2 部分结束的地方继续。
为什么重新计算相同的梯度?
我们使用链式法则计算了梯度。
\[
\frac{\partial L}{\partial w_1}
=
\frac{\partial L}{\partial \hat{y}}
\cdot
\frac{\partial \hat{y}}{\partial a_1}
\frac{\partial a_1}{\partial z_1}
\frac{\partial z_1}{\partial w_1}
\]
我们得到了与之前在第 1 部分中使用经典微分导出的相同方程。
-2(y-\hat{y})
w_3
\mathrm{ReLU}'(w_1x+b_1)
x
然后我们开始了解链式法则的重要性。
现在,其他参数的梯度怎么样?
b_1,\; w_2,\; b_2,\; w_3,\; w_4,\; b_3
我们已经看到了的整个过程。因此,我们通常会考虑对其余参数重复相同的步骤,即使用链式法则。
如果我们查看所有参数的链式法则方程,我们可以观察到许多偏导数出现了不止一次。
\frac{\partial L}{\partial b_1}
\frac{\partial z_1}{\partial b_1}
\]
\[
\frac{\partial L}{\partial w_2}
\frac{\partial \hat{y}}{\partial a_2}
\frac{\partial a_2}{\partial z_2}
\frac{\partial z_2}{\partial w_2}
\frac{\partial L}{\partial b_2}
\frac{\partial z_2}{\partial b_2}
\frac{\partial L}{\partial w_3}
\frac{\partial \hat{y}}{\partial w_3}
\frac{\partial L}{\partial w_4}
\frac{\partial \hat{y}}{\partial w_4}
\frac{\partial L}{\partial b_3}
\frac{\partial \hat{y}}{\partial b_3}
让我们考虑一下
\[b_1\]
该参数的链式法则方程为
现在,让我们将其与的链式法则方程进行比较。
我们可以观察到链的大部分实际上是相同的。
两个方程都包含
它们还包含
和
唯一的区别是最终的偏导数。
对于,最后一项是
而对于 b1,最后一项是
w_2,\; b_2,\; w_3,\; w_4,\; b_3
L为
