
下面的计算过程如有错误,还请指正
定义一个三层全连接网络,输入层(第0层),隐藏层(第1层),输出层(第2层)。无偏置,激活函数为Sigmoid

初始化神经网络如下:
输入层:对应矩阵和
;输入到神经元1中的值为0.35,输入到神经元2中的值为0.9
隐藏层:神经元3,神经元4
输出层:神经元5
:前向传播时输入层和隐藏层之间的权重参数。
为神经元1和神经元3之间的权重,
为神经元2和神经元3之间的权重,
为神经元1和神经元4之间的权重,
为神经元2和神经元4之间的权重
:前向传播时隐藏层和输出层之间的权重参数,
为神经元3和神经元5之间的权重,
为神经元4和神经元5之间的权重。
单个神经元的结构如下:

是该神经元的输入(前一层的输出)与对应权重的线性组合;
是激活函数,这里是Sigmoid函数,对应公式为:
;
是把
经过激活函数处理后的值,如果没有偏置参数
的话即为该神经元的输出值,有偏置项的话神经元的输出值如 y 所示;
神经网络参数计算和更新流程如下:

1. 前向传播过程计算
正向计算1,从输入层到隐藏层
正向计算2,从隐藏层到输出层
则经过第一轮前向传播之后的输出值为0.690
2. 构建损失函数
定义损失函数为:
由于输出层的真实值为0.5,所以第一轮前向传播计算后的损失为
3. 反向传播过程计算

反向传播计算1,从输出层到隐藏层
已知Sigmoid函数的导数
求损失函数对最后一层
中
的偏导,根据链式法则:
求损失函数对最后一层
中
的偏导,根据链式法则:
反向传播计算2,从隐藏层(神经元3)到输入层
已知
求损失函数对第一层
中
的偏导,根据链式法则
求损失函数对第一层
中
的偏导,根据链式法则
反向传播计算3,从隐藏层(神经元4)到输入层
已知
求损失函数对第一层
中
的偏导,根据链式法则
求损失函数对第一层
中
的偏导,根据链式法则
4、权重更新
假设学习率 ,则
(1) 反向传播后最后一层权重参数对应的梯度矩阵
=
更新:
(2) 反向传播后第一层权重参数对应的梯度矩阵
=
更新: