一.网络结构
1.图示
2.结构解析
一般情况下,神经网络的层数是指隐藏层和输出层的和,输入层不计入总层数。上示为一个3层神经网络。对各个参数进行解析:
:第
层第
个神经元的输出。
:第
层第
个神经元的未激活输出。
:第
层的第
个元素到第
层第
个元素的权重系数。
::第
层第
个神经元的偏置系数。
:神经元的激活函数。
各个参数关系如下:
二.前向传播
1.前向传播的数学原理
假设神经网络为一共有
层(不包括输入层),第
层有神经元
个,第
层有
个神经元,则前向传播中,第
层的输出为:
其中,
。
2.前向传播过程
(1)初始化
。
(2)计算第
层的输出直到第
层:
三.反向传播
1.反向传播的数学原理
反向传播过程的主要作用是更新权重系数
和偏置
,输出层第
层的损失函数为
,则:
(1)求求输出层
层的参数
损失函数
分别对权重系数
和偏置
求梯度,分别为标量对矩阵求导和标量对向量求导,根据链式法则:
令公共项
为
,则:
例如,当损失函数为平方损失
时:
(2)求中间层
层的参数(非输出层)
被称作反向传播中的误差项,可以观察第
层的误差项和第
层的误差项的关系:
和
可以通过它们之间的关系求得:
综上:
从上式可以看出,知道了后一层的误差项
,即可求出本层误差项
。由于在上一节中最后一次层即输出层的误差项
求法已经给出,因此,可以求出倒数第二层的误差项
,进而递推求解隐藏层每一次的误差项
。
误差项已知,即可得损失函数对参数的梯度:
2.反向传播流程
(1)通过前向传播,计算出
(2)计算输出层误差项
(3)对于
为L-1层到第2层:
(4)达到终止条件时停止。