首页 > 其他分享 >梯度下降、梯度消失、梯度爆炸

梯度下降、梯度消失、梯度爆炸

时间:2023-11-14 11:45:36浏览次数:35  
标签:函数 权重 爆炸 梯度 消失 正则 训练

https://www.3blue1brown.com/lessons/gradient-descent

梯度下降:

成本函数:当网络自信地正确地对这个图像进行分类时,成本很小,但当它不知道自己在做什么时,成本就很大。

最小化成本函数:找到训练成本的最小值

  微积分,有时可以通过求解斜率为零时来明确地计算出最小值。然而,对于真正复杂的函数来说,这并不总是可行的。

  另一种想法,检查每个点的新斜率并重复执行此操作,即可接近函数的局部最小值。

  有两个输入和一个输出的函数。您可以将输入空间视为 xy 平面,类似小球滑倒底谷

  

 

梯度:

高维空间中,将“斜率”作为一个单一的数字来谈论是没有意义的。相反,我们需要使用向量来表示最陡峭的上升方向。

熟悉多变量微积分,这个向量被称为“梯度”,它告诉你应该朝哪个方向迈进才能最快地增加函数

梯度下降:

找到最小成本函数,这是一种告诉计算机的方法,让他来调整模型的参数和权重的。例如:“不,糟糕的计算机,输出层应该有激活,大多数神经元的激活是 0,但第三个神经元的激活是 1。你给我的完全是垃圾

 

 经典的梯度消失到梯度爆炸!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

梯度消失

定义:

  梯度消失是指在神经网络训练过程中,由于链式法则的多次相乘,导致某些梯度变得非常小,甚至趋近于零。这可能导致网络无法学习到某些参数的更新,从而影响整个网络的性能。

原因:

  因为某些激活函数(如 sigmoid 或 tanh)在输入较大或较小的情况下,导数的值趋于零,因此反向传播时,梯度也会趋于零,从而引发梯度消失问题

表现:

  损失函数变得很缓慢,无法从模型中学习到新的内容

解决:

  换激活函数

梯度爆炸

定义:  

  通常发生在反向传播过程中。当神经网络的权重更新过大,导致梯度急剧增加(陡峭),进而权重的更新也变得非常大,这可能导致模型训练不稳定甚至无法收敛。

表现:

  损失函数的值变得非常大,模型在训练数据上无法收敛

  训练过程不收敛: 如果损失函数在训练过程中不收敛,或者波动幅度很大,这也可能是梯度爆炸的迹象

解决:

  1. 权重初始化: 使用合适的权重初始化方法,如Xavier/Glorot初始化,以确保权重的初始值不会过大。这有助于防止在初始阶段就出现梯度爆炸。

  2. 梯度裁剪: 设置一个梯度阈值,如果梯度的范数超过这个阈值,就将梯度裁剪到阈值以内。这有助于防止梯度爆炸传播到整个网络。

  3. 使用梯度正则化: 在损失函数中引入梯度正则化项,类似于权重正则化(L1或L2正则化),以限制梯度的增长。

  4. 调整学习率: 适当的学习率对于防止梯度爆炸非常重要。如果梯度爆炸发生,可以尝试减小学习率,或者使用自适应学习率算法,如Adam。

  5. 使用梯度归一化技术: Batch Normalization可以帮助在每一层的输入分布上保持稳定性,有助于缓解梯度爆炸问题。

 

标签:函数,权重,爆炸,梯度,消失,正则,训练
From: https://www.cnblogs.com/mxleader/p/17831241.html

相关文章

  • elementplus弹窗可拖拽draggable,点击空白处不消失close-on-click-modal,modal是否去掉
    <el-dialog:modal="false"v-model="dialogVisible"title=""width="30%"draggable:close-on-click-modal="false"class="message-dialog"></el-dialog&g......
  • 传统的运维将消失?体系化的 SRE 可靠性与连续性保障,了解一下?
    什么是SRE?在刚刚接触SRE时,很多人认为就是Google的一个具备全栈能力的岗位,可以独立解决很多问题的人。而在深入探究之后发现,SRE确实可以解决很多问题,但问题实在太多了,一个岗位或一个人是很难高效快速的解决的。比如怎么做容量评估、怎么进行故障演练、怎么能做到服务限流、怎么做到......
  • 梯度下降法 Method of steepest descent.
    梯度下降法是一个一阶最优化算法,通常也称为最速下降法。梯度下降法,就是利用负梯度方向来决定每次迭代的新的搜索方向,使得每次迭代能使待优化的目标函数逐步减小。梯度下降法是2范数下的最速下降法。   最速下降法的一种简单形式是:x(k+1)=x(k)-a*g(k),其中a称为学习速率,可以是较......
  • P4141 消失之物
    P4141消失之物基本思路做\(n\)次计数背包。当然\(TLE\).#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>usingnamespacestd;constintN=2020;intn,m;intF[N];intv[N];intmain(){ cin>>n>&g......
  • 在求解线性回归的参数时 可以使用不同的方法 其中最常用的是平均法和梯度下降法
    线性回归是一种用于预测或解释数据之间关系的统计方法,特别是当关系呈线性时。在回归分析中,我们试图找到一个最佳拟合线,以通过或最接近一系列数据点。在求解线性回归的参数时,可以使用不同的方法,其中最常用的是平均法和梯度下降法。平均法:这种方法的基本思想是简单地计算所有观察值......
  • 梯度下降求极值,机器学习&深度学习
    目录[梯度下降求极值][导数][偏导数][梯度下降][机器学习&深度学习][学习形式分类[1)有监督学习][2)无监督学习][预测结果分类][1)回归&分类][2)聚类]梯度下降求极值导数导数也叫导函数,或者微商,它是微积分中的重要基础概念,从物理学角度来看,导数是研究物体某一时刻的瞬时速度,比......
  • ⭐ go gorm 映射框架 好用到爆炸!!!
    使用Golandide插件搜索Gorm直接安装连接数据库并且选择表,鼠标右键gorm之后按照你的项目要求生成crud直接快人一步释放双手啦......
  • 神经网络基础篇:详解逻辑回归 & m个样本梯度下降
    逻辑回归中的梯度下降本篇讲解怎样通过计算偏导数来实现逻辑回归的梯度下降算法。它的关键点是几个重要公式,其作用是用来实现逻辑回归中梯度下降算法。但是在本博客中,将使用计算图对梯度下降算法进行计算。必须要承认的是,使用计算图来计算逻辑回归的梯度下降算法有点大材小用了。......
  • 刘老师《Pytorch深度学习实践》第三讲:梯度下降
    1.分治法不能用局部点干扰性大2.梯度下降3.随机梯度下降随机梯度下降法(StochasticGradientDescent,SGD):由于批量梯度下降法在更新每一个参数时,都需要所有的训练样本,所以训练过程会随着样本数量的加大而变得异常的缓慢。随机梯度下降法正是为了解决批量梯度下降法这一......
  • 计算机图形学中的正交透视——从平行线消失点开始
    平行线消失点在我们日常生活中,会发现这样一类现象:在照片或者图画上,原本是平行的物体(比如铁轨轨道,公路等)会随着他们的延伸逐渐相交于视野尽头,这个尽头就被称作消失点,类似于下面这幅图所显示的内容:为什么原本平行的物体会出现这样的现象呢?我们可以从几何光学的角度直观的分析一下......