前向传播(Forward Propagation)与反向传播(Back Propagation)举例

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

1.神经网络

神经网络又称为人工神经网络(ANN)或模拟神经网络(SNN)是深度学习算法的核心是模仿生物神经元相互传递信号的方式主要包含一个输入层、一个或多个隐藏层、一个输出层每个神经元结点连接到另一个结点并带有关联的权重和阀值。前向传播Forward Propagation指的是神经网络从左到右按顺序运行一直运行至最后一层反向传播Back Propagation根据前向传播从左到右运行的结果由于输出的结果与期望的实际值存在误差那么须对里面的权重和偏移量更新减少这种误差的存在。

在这里插入图片描述

2. 通过例子来展示前项传播与反向传播计算过程

如图这是一个简单的神经网络输入层有两个单元隐藏层有两个单元输出层有两个单元。w1,w2,w3……w8代表各自的权重b为偏移量。h1为单个神经元在一个单元内发生了加权和再通过激活函数压缩加权和这里使用的是常见的Sigmoid函数

在这里插入图片描述

2.1前向传播(Forward Propagation)计算
从输入层到输出层对神经网络从左到右依次计算先得到sumh1再通过Sigmod函数计算outputh1加权值再与w5、w6相乘加上偏移量b值最终得出outputO1,同理得出outputO2前项传播的计算相对直观套公式直接得出结果。

在这里插入图片描述

2.2计算总误差这里总误差就是损失函数(Loss function),用的是经典的均方误差(MSE)在这个例子中我们计算设定的目标值是0.05和0.95与前向传播输出的0.73492和0.77955存在一定的误差根据MSE公式分别计算E1和E2相加得出最后总误差。

在这里插入图片描述

2.3反向传播(Back Propagation)计算
现在计算在w5对E1的贡献情况(请回看最前面例子的神经网络图)回归一下链式求导公式根据链式求导公式对链式每一个部分求导计算根据梯度下降迭代定义新的权重w5更新为0.45187同理对w6、w7、w8进行更新分别为0.55073、0.71056、0.81081常见的y=ax+b自变量x的变化引起y的变化这里链式求导是将里面变化情况进行了进一步的分解

在这里插入图片描述
在这里插入图片描述

再次对w1、w2、w3、w4进行权重更新这次链式求导会更长对w1进行演示这里总误差是由E1和E2构成w1均受E1和E2的影响因此分别进行计算最后进行加总。
w1对E1的贡献

在这里插入图片描述

w1对E2的贡献

在这里插入图片描述

w1对E1和E2影响进行汇总梯度下降迭代更新w1在这里插入图片描述
2.4计算完所有新权重w需要用这些新权重更新所有旧权重权重更新一次一个反向传播就完成了。再次基于前向传播计算新的输出值计算总误差再次更新权重一直持续到损失值收敛到最小值。
理解反向传播3个基本关键点1.神经网络基本构造和计算2.理解梯度下降梯度迭代是如何定义以及为什么要这样定义 3.理解反向传播中链式求导和梯度下降迭代关系线性回归其实可以看成是一个简化版的神经网络
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6