前馈神经网络和反向传播算法
一、前馈神经网络
在对多层神经网络进行分析前,先对神经网络中的一些字符进行一些说明:
下图为一个多层神经网络的简单示意图:
每个神经元的表达式如下:
所以可知前向传播的步骤如下,就是一步一步对节点对应的值进行计算:
二、反向传播算法的具体实现
反向传播算法是为了更好更快的训练前馈神经网络,从而得到神经网络每一层的权重参数和偏置参数。下面以一组图来讲解前向传播和反向传播算法的具体实现方式:
下图为一个多层神经网络:
函数f为一个神经元激励函数,下图对输入信号的转化做了详细的解释:
下图详细解释了在前向传播的过程中,输入信号和第一层隐藏层的计算过程:
下图详细解释了在前向传播的过程中,第一层隐藏层和第二层隐藏层的转化过程:
利用第二层隐藏层计算的结果推导出最后输出层的结果,至此前向传播过程结束:
接下来就是反向传播的过程,先计算出前向神经网络得到的输出结果跟实际的结果的差值:
利用计算得到的差值找到前一层的残差:
然后利用得到的残差更新每一层的权重:
至此可以得到更新后的权值,从而实现对多层神经网络的训练。