反向传播算法是多层神经网络的训练中举足轻重的算法,本文着重讲解方向传播算法的原理和推导过程。因此对于一些基本的神经网络的知识,本文不做介绍。在理解反向传播算法前,先要理解神经网络中的前馈神经网络算法。
前馈神经网络
如下图,是一个多层神经网络的简单示意图:
给定一个前馈神经网络,我们用下面的记号来描述这个网络:
L :表示神经网络的层数;
前馈神经网络通过如下的公式进行信息传播:
反向传播算法
在了解前馈神经网络的结构之后,我们一前馈神经网络的信息传递过程为基础,从而推到反向传播算法。首先要明确一点,反向传播算法是为了更好更快的训练前馈神经网络,得到神经网络每一层的权重参数和偏置参数。
在推导反向传播的理论之前,首先看一幅能够直观的反映反向传播过程的图,这个图取材于Principles of training multi-layer neural network using backpropagation。如果图中看不清可以去源地址看。
给定一组样本 (xi,yi),1≤i≤N ,使用前馈神经网络,其输出为 f(x|W,b) ,而求解 W 和