深度神经网络反向传播算法,由输出层的误差开始到输出层的输入,如下所示
这里的箭头表示的是前者是后者的函数,不是反向传播的方向。式中是输出层的训练误差,训练结果中输出层节点的输出,是前向传播中,输出层的带权输入。其中是的函数,是的函数。由链式求导法则
可得到输出层的输入对误差的偏导数,以下分别计算式两项
根据样本输出和标准输出,采用最小二乘法得训练损失函数
所以有式第一项
由到是做了激活操作,这里使用的激活函数是sigmoid函数
求导得
式第二项
所以式可以写为
反向传播的梯度下降算法核心便是从后向前计算出每个节点的误差项,记
以下对节点处在输出层和隐藏层两种情况分开讨论。
一、节点是输出层节点:
神经网络反向传播由后向前传播到输出层的隐藏函数
结合式,是上一层节点到输出层节点的边的权重,是的函数,那么有:
式中第一项是节点的误差项,已由式给出。第二项计算如下
根据反向传播梯度下降算法更新,其中是学习率:
得
式即是我们再反向传播中,要更新的,隐藏层中与输出层相连的边对应的权重公式。再强调下,是隐藏层到输出层节点的权重,是学习率,是节点传递给节点的输入值。
二、节点是隐藏层节点:
反向传播中,由输出层到隐藏层的输入
这里的和中的是隐藏层中节点到输出层所有节点的集合,记为,分别是隐藏层节点的输出和输入,结合式,是的函数,是的函数,是的函数,
由链式求导法则可得
结合上一节,式第一项
式第二项
式第三项
式第四项
节点的误差项记为,有
是节点的输出值,是节点下游节点集合,即节点所在层的下一层网络中与相连的节点集合,是节点到节点的连接权重,是节点的误差项