反向传播算法是多层神经网络的训练中举足轻重的算法,本文着重讲解方向传播算法的原理和推导过程。因此对于一些基本的神经网络的知识,本文不做介绍。在理解反向传播算法前,先要理解神经网络中的前馈神经网络算法。
前馈神经网络
如下图,是一个多层神经网络的简单示意图:
给定一个前馈神经网络,我们用下面的记号来描述这个网络:
L
:表示神经网络的层数;
nl
:表示第
l
层神经元的个数;
fl(∙)
:表示
l
层神经元的激活函数;
Wl∈Rnl×nl−1
:表示
l−1
层到第
l
层的权重矩阵;
bl∈Rnl
:表示
l−1
层到
l
层的偏置;
zl∈Rnl
:表示第
l
层神经元的输入;
al∈Rnl
:表示第
l
层神经元的输出;
前馈神经网络通过如下的公式进行信息传播:
zl=Wl⋅al−1+<span style="transition: none; -webkit-transition: none; box-sizing: border-box; display: inline-block; position: relative; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px; line-height: normal; width: 0.805em; height: 0px;"