台大李宏毅-- 反向传播算法 Backpropagation

1. 链式法则

台大李宏毅-- 反向传播算法 Backpropagation

2. 反向传播算法 实例

台大李宏毅-- 反向传播算法 Backpropagation
台大李宏毅-- 反向传播算法 Backpropagation

计算前向传播:

台大李宏毅-- 反向传播算法 Backpropagation
比如:
台大李宏毅-- 反向传播算法 Backpropagation
你会发现,输入值就是前向传播中,要求求解的导数的值。
台大李宏毅-- 反向传播算法 Backpropagation

计算后向传播:

台大李宏毅-- 反向传播算法 Backpropagation

这里假设,一个样本造成的损失loss是:台大李宏毅-- 反向传播算法 Backpropagation
(每个样本有两个输入x1,x2)

综上所述:
台大李宏毅-- 反向传播算法 Backpropagation

由上图可得,在反向传输中,在计算过程中,是先算出最末尾的 Cy1,Cy2,再算出倒数第二个的偏导 CzCz , 再才算到 最前面的 Cz。这就是反向传播。

过程就是:

台大李宏毅-- 反向传播算法 Backpropagation
1. 计算Cy1,Cy2
2. 计算CzCz
3. 最终计算 Cz
台大李宏毅-- 反向传播算法 Backpropagation

如果是更多层的神经网络

如果是更多层的神经网络,那么为了计算方向传输的Cz,就应该像上面那样,从最末尾的地方(输出神经元)开始算起,一步一步计算,一步一步向左边推进,直到计算到最左边的第一层神经元,就计算到了Cz
台大李宏毅-- 反向传播算法 Backpropagation

3. 总结

台大李宏毅-- 反向传播算法 Backpropagation