首页 > 其他分享 >关于正向传播、反向传播、梯度爆炸、梯度消失的理解

关于正向传播、反向传播、梯度爆炸、梯度消失的理解

时间:2022-12-29 22:34:47浏览次数:38  
标签:输出 梯度 传播 反向 权值 输入 神经元

假设有这样一个神经网络,包含一个输入层I,一个隐藏层H,一个输出层O

 

 其中,输入层包含两个神经元,分别为i1和i2;隐藏层有两个神经元,分别为h1和h2;输出层有两个神经元,分别为o1和o2。

输入层到隐藏层的权重为w1、w2、w3和w4,偏置为b1;隐藏层到输出层的权重为w5、w6、w7和w8,偏置为b2。

每个神经元的输入y经过激活函数转变为输出z。

 

一、前向传播

1、计算隐藏层神经元h1和h2的带权输入:

 

 2、计算隐藏层神经元h1和h2的输出激活值:

 3、计算输出层神经元o1和o2的带权输入:

 

 

 

 4、计算输出层神经元o1和o2的输出激活值:

 

 以上就是正向传播的整个过程。

 

二、反向传播

1、计算总误差:

 

 2、权值更新

以w5为例:

 

 其中,

 

 

 

 综合可得:

可以发现,最终得到的表达式非常简单,其中所需要的数据都是在正向传播过程中已经计算出来并存储好的,或者是在模型建立之初就已经设置好的。

最后更新w5:

以w1为例:

 

 其中,

 

 

 

 

 

 综上可得,

 

可以发现,最终得到的表达式非常简单,其中所需要的数据都是在正向传播过程中已经计算出来并存储好的,或者是在模型建立之初就已经设置好的。

最后更新w1: 

 

 以上就是反向传播的过程。

 

 

 三、梯度消失和梯度爆炸。

假设有一个神经网络,有1个输入层,4个隐藏层,1个输出层,每个层都只有1个神经元。

如果要更新w1这个权重,可以得到下面这个偏导数,

化简,

梯度消失与梯度爆炸都是由于网络层数过多而引发的在反向传播时的链式法则连乘效应。

在最初的时候,通常使用Sigmoid函数作为神经网络的激活函数,而sigmoid激活函数的导函数取值范围为(0,0.25)。在模型训练时,初始化权值w通常小于1,随着层数的增加,根据链式法则,小于1的数不断相乘,导致梯度消失。而当训练的权值过大时,即|S'(z)w|>1,大于1的值不断相乘,导致梯度爆炸。

在产生梯度消失或梯度爆炸的情况时,越接近输出层的层级,梯度相对更为正常,权值也接近正常,而接近输入层的层级,若产生了梯度消失,权值更新缓慢或停止更新,神经网络就等价于仅有靠近输出层的浅层网络。

总的来说:

如果|S'(z)w|<1,随着网络层数的不断加深,最终梯度将以指数形式减少(梯度消失)。

如果|S'(z)w|>1,随着网络层数的不断加深,最终梯度将以指数形式增加(梯度爆炸)。

 

标签:输出,梯度,传播,反向,权值,输入,神经元
From: https://www.cnblogs.com/limitless-coding/p/17013464.html

相关文章

  • GDB反向调试命令介绍和操作演示
    反向调试命令汇总命令作用record开启记录模式recordstop停止记录bookmark设置执行标签infobookmarks查看标签goto-bookmarknum跳到num编号......
  • 为什么局部下降最快的方向就是梯度的负方向?
    红色石头的个人网站:​​redstonewill.com​​什么是梯度?对于梯度下降算法(GradientDescentAlgorithm),我们都已经很熟悉了。无论是在线性回归(LinearRegression)、逻辑回归(Log......
  • 数值计算:前向和反向自动微分(Python实现)
    1自动微分我们在《数值分析》课程中已经学过许多经典的数值微分方法。许多经典的数值微分算法非常快,因为它们只需要计算差商。然而,他们的主要缺点在于他们是数值的,这意味......
  • spring七种事务传播行为
    propagation_requierd:如果当前没有事务,就新建一个事务,如果已存在一个事务中,加入到这个事务中,这是最常见的选择。propagation_supports:支持当前事务,如果没有当前事务,就以非......
  • 『DL笔记』DNN(Deep Neural Networks)的前向传播推导(1)
    1、绪论神经网络技术起源于上世纪五、六十年代,当时叫感知机(perceptron),拥有输入层、输出层和一个隐含层。输入的特征向量通过隐含层变换达到输出层,在输出层得到分类结果。但......
  • 『DL笔记』深入理解softmax交叉熵损失函数反向传播求导过程分析
    目录​​一、softmax函数​​​​二、损失函数lossfunction​​​​三、最后的准备工作                         ......
  • 深度学习基础课:卷积层的后向传播推导
    大家好~本课程为“深度学习基础班”的线上课程,带领同学从0开始学习全连接和卷积神经网络,进行数学推导,并且实现可以运行的Demo程序线上课程资料:本节课录像回放1加QQ群,获......
  • Spring的隔离级别,Spring事务传播属性,Spring事务与数据库事务之间的联系
    一、Spring五大事务隔离级别Spring事务隔离级别比数据库事务隔离级别多一个default在进行配置的时候,如果数据库和spring代码中的隔离级别不同,那么以spring的配置为主。1)......
  • 高性能web服务器nginx和反向代理
    高性能web服务器——nginx一、 简介1. nginx是什么?l 是一个使用c语言开发的高性能的http服务器和反向代理服务器以及电子邮件(IMAP/POP3)代理服务器。l 是俄罗斯的程序设......
  • Nginx反向代理
    1、何为反向代理在介绍反向代理之前,先来了解一下正向代理。正向代理:如果把局域网外的Internet想象成一个巨大的资源库,则局域网中的客户端要访问Internet,则需要通过代理......