
首先回顾梯度下降的流程:

BP 的一个核心方法就是运用 chain rule:

其中 [公式] 表示输出和真实 label 之间的差异,也就是 loss。

可以先拿上图的左上角部分分析,可将 loss 关于参数的导数通过 chain rule 分为两部分 [公式] 和 [公式] 。

下面分别来分析 forward pass 和 Backward pass:其中 forward pass 很好理解,就是连接权重的 input

比较难理解的是 Backward pass,其实也是一系列 chain rule。 现在只有[公式] 和 [公式] 这两项是未知的,现在先假设这两项是已知的。

那么问题来了, 怎么算[公式] 和 [公式] 这两项呢?这里分两种情况,第一种情况是当 [公式] 和 [公式] 后面直接通过激活函数得到输出时:这时候每一项都可以简单的算出来。

第二种情况不是 output 层的时候:其实就是根据递归的思想从后往前算。

所以 loss 关于某个参数 w 的微分形式为:


视频地址:https://www.bilibili.com/video/av48
本文转载自 Alex-zhai 知乎账号。
原文链接:https://zhuanlan.zhihu.com/p/84780891
评论