反向传播

  1. 在神经网络训练的过程当中,每次训练的最后一步便是误差的反向传播。反向传播的目的主要是对神经网络的权重矩阵进行修正,使得神经网络模型逐次向着更好的方向去发展。而神经网络的反向传播过程具体是如何进行的,下面将从线性和非线性两种情况进行叙述。

线性反向传播

   下图可描述一个神经网络的正向传播过程,需要注意的是,这里的x,y,z并不是变量,而是运算的中间结果。真正的变量是w和b。<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/2711349/1602943672300-fe580967-9110-4810-b043-4cfff4638570.png#align=left&display=inline&height=242&margin=%5Bobject%20Object%5D&name=image.png&originHeight=415&originWidth=695&size=57070&status=done&style=none&width=405)<br />       在之前学习模型训练过程中,我们知道,在前向传播计算预测值之后便要计算误差并进行反向传播,而在反向传播的过程中就涉及到了参数b的变化和参数w的变化。<br />       当仅考虑参数b的变化时,我们可以对参数b求偏导数得到对应的变化情况;当仅考虑参数w时,我们可以对参数w求偏导数得到对应的变化情况。当同时考虑参数b和参数w时,我们可以将误差平分为两份,分别让参数w和参数b求解各自的偏导数以得到对应的变化情况。

非线性反向传播

   对于非线性反向传播来说,其与线性反向传播的差别就在于对激活函数的求导。整体的传播过程没有过多的差别。