1. 链式法则
2. 反向传播算法 实例
计算前向传播:
比如:
你会发现,输入值就是前向传播中,要求求解的导数的值。
计算后向传播:
这里假设,一个样本造成的损失loss是:
(每个样本有两个输入x1,x2)
综上所述:
由上图可得,在反向传输中,在计算过程中,是先算出最末尾的 ∂C∂y1,∂C∂y2 ∂ C ∂ y 1 , ∂ C ∂ y 2 ,再算出倒数第二个的偏导 ∂C∂z‘,∂C∂z‘‘ ∂ C ∂ z ‘ , ∂ C ∂ z ‘ ‘ , 再才算到 最前面的 ∂C∂z ∂ C ∂ z 。这就是反向传播。
过程就是:
1. 计算
∂C∂y1,∂C∂y2
∂
C
∂
y
1
,
∂
C
∂
y
2
2. 计算
∂C∂z‘,∂C∂z‘‘
∂
C
∂
z
‘
,
∂
C
∂
z
‘
‘
3. 最终计算
∂C∂z
∂
C
∂
z
如果是更多层的神经网络
如果是更多层的神经网络,那么为了计算方向传输的
∂C∂z
∂
C
∂
z
,就应该像上面那样,从最末尾的地方(输出神经元)开始算起,一步一步计算,一步一步向左边推进,直到计算到最左边的第一层神经元,就计算到了
∂C∂z
∂
C
∂
z
。