【2020春】李宏毅机器学习(反向传播)

https://www.bilibili.com/video/av94519857?p=13

唯一需要知道的就是链式法则:引入隐变量。

只需要计算每1个样本对w的偏微分,然后求和,就得到所有样本对w的偏微分了;(b也是同样的。)

先考虑1个神经元的情况:有两部分,forward pass和backward pass

先看forward pass(就是看wi前边的输入是啥)

例如

再看backward pass,按链式法则展开

假设已知两个红色❓

换个视角:

那如何计算前边的两个红色❓:

分两种情况

  • 输出层:取决于cost function,MSE、CE等等;
  • 隐藏层:根据链式法则,递归地取决于下一层所有神经元,直到输出层;

实际上,如果从后往前算,就比较直接了:

比如前向传播过程(神经网络):

那反向传播过程(也是一个神经网络):

总结(前向传播计算一部分,反向传播计算一部分,两部分结合起来,就是反向传播算法)

原文地址:https://www.cnblogs.com/CheeseZH/p/13547527.html