背景 梯度下降
链式法则
连锁影响(可以看出x会影响y,y会影响z)
BP主要用到了chain rule
反向传播
(1)损失函数(Loss function)是定义在单个训练样本上的,也就是就算一个样本的误差,比如我们想要分类,就是预测的类别和实际类别的区别,是一个样本的,用L表示。
(2)代价函数(Cost function)是定义在整个训练集上面的,也就是所有样本的误差的总和的平均,也就是损失函数的总和的平均,有没有这个平均其实不会影响最后的参数的求解结果。
(3)总体损失函数(Total loss function)是定义在整个训练集上面的,也就是所有样本的误差的总和。也就是平时我们反向传播需要最小化的值。
取出一个Neuron进行分析
从这一小部分中去看,把计算梯度分成两个部分
Forward Pass
那么,首先计算∂w/∂z(Forward pass的部分):
Backward Pass
最终的式子结果:
case 1 : Output layer
case 2 : Not Output Layer
实际上进行backward pass时候和向前传播的计算量差不多。
总结