文章目录
一、反向传播(Backpropagation)
- 在之前的线性回归和逻辑回归中,通常我们做梯度下降的参数都是很少的。但对于神经网络而言,参数通常是百万数量级的,这就导致用常规方法来做梯度下降是不可靠的。需要用到反向传播的演算法来提高计算效率
- 链式法则(Chain Rule):如右图,就是微积分的链式法则
1.1 前向计算(Forward pass)
- ∂ z ∂ w 1 = x 1 \frac{\partial z}{\partial w_1}=x_1 ∂w1∂z=x1:这是可以秒算的
1.2 后向计算(Backward pass)
- 下面4图拆解了 ∂ C ∂ z \frac{\partial C}{\partial z} ∂z∂C,并假设我们已经知道了 ∂ C ∂ z ′ 和 ∂ C ∂ z ′ ′ \frac{\partial C}{\partial z'}和\frac{\partial C}{\partial z''} ∂z′∂C和∂z′′∂C,将其化简成了最后一项。

1.3 计算 ∂ C ∂ z ′ \frac{\partial C}{\partial z'} ∂z′∂C和 ∂ C ∂ z ′ ′ \frac{\partial C}{\partial z''} ∂z′′∂C
- 假设一:假设已经到了输出层(Output Layer),那么 ∂ y 1 ∂ z ′ \frac{\partial y_1}{\partial z'} ∂z′∂y1就等于激活函数的一次微分, ∂ C ∂ y 1 \frac{\partial C}{\partial y_1} ∂y1∂C就等于损失函数的一次微分。
- 假设二:假设还没有到达输出层,那么就一直重复后向计算(Backward pass)的过程,直到到达输出层。

本文含有隐藏内容,请 开通VIP 后查看