神经网络反向传播算法公式推导详解
1. 基本结构理解
神经网络的基本结构如下图所示
神经网络结构理解: 不论神经网络的结构如何复杂,都可以将其理解为一个输入向量到输出的一个函数。将神经网络应用到分类问题上,其目标为:使得训练数据的真实标签与网络中最后一层输出的差值尽可能的小,即损失函数尽可能小。
神经网络训练: 即通过给神经网络输入不同的训练数据,不停的调整网络中的参数,使得损失函数的值趋于最优。
2.变量表示定义:
(1) C:损失函数
3: 反向传播公式的推导
注意:下述公式中所有加粗符号表示向量,未加粗符号表示标量。
(1) 公式1:损失函数在输出层神经元上的误差。(此时符号表示网络的输出层)
对于层上的所有神经元,则可表示为向量形式
(2) 公式2:损失函数在中间层误差: 因为之前已经求出了输出层的误差,根据误差反向传播的原理,当前层的误差可理解为上一层所有神经元误差的复合函数。即:使用上一层的误差来表示当前层误差,并依次递推。(此时符号表示网络的中间层)
其中,从(a)到(b)可理解为当前层的残差是其后一层各个神经元的残差传播而来,即可当前层当前神经元的残差是后一层各个神经元的残差的复合函数,按照多元复合函数的求导公式,即可表示为(b)所示的求和的形式。
其向量表示为:
(3)公式3推导:损失函数对权重的导数
(4)公式4推导:损失函数对偏置项的导数
参考文献:
1. Michael Nielsen Neural Networks and DeepLearning