关于梯度的理解(梯度下降、梯度弥散、梯度爆炸)

本文深入探讨了梯度下降算法的思想及其在机器学习中的应用,解释了梯度消失、梯度弥散及梯度爆炸的现象,并讨论了如何通过调整学习率优化模型参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1)在微积分里,对多元函数的参数求\theta偏导数,把求得的各个参数以向量的形式写出来,就是梯度

(2)梯度向量从几何意义上来讲,就是 函数变化增加最快的地方

(3)在机器学习算法中,在最小化损失函数时,可以通过梯度下降法来一步步迭代求解,得到最小化损失函数和模型参数值

(4)通过反向传播,将最终的误差反向传递,步长决定在梯度下降迭代过程中,每一步 沿梯度方向前进的长度(需不断调整步长)。

一、梯度下降算法思想:

       一种优化算法,该算法从任一点开始,沿该点梯度的反方向(梯度方向为导数上升的方向)运动一段距离,再沿新位置的梯度反方向运行一段距离 ...... 如此迭代。解一直朝下坡最陡的方向运动,希望能运动到函数的全局最小点。

更通俗的理解:

利用损失函数进而调整权重参数最终使损失函数尽量小。

二、梯度不稳定:梯度消失、梯度弥散、梯度爆炸的理解

梯度消失,简单点来说,就是整个曲线太平了,太平意味这求导后的值越来越接近0.

如果梯度更新的慢,那么参数 w下沉的速度那是特别慢,从而导致收敛速度慢,训练时间无限延长。梯度消失和梯度爆炸本质上是一样的,都是因为网络层数太深而引发的梯度反向传播中的连乘效应。靠近输出层的hidden layer 梯度大,参数更新快,所以很快就会收敛;

而靠近输入层的hidden layer 梯度小,参数更新慢,几乎就和初始状态一样,随机分布。

在下面的四层隐藏层网络结构中,第一层比第四层慢了接近100倍!!

这种现象就是梯度弥散(vanishing gradient problem)。而在另一种情况中,前面layer的梯度通过训练变大,而后面layer的梯度指数级增大,这种现象又叫做梯度爆炸(exploding gradient problem)。

加深神经网络的层数(4层)

参考链接:

https://www.cnblogs.com/yangmang/p/7477802.html

https://zhuanlan.zhihu.com/p/33006526

这里x = points[i,0] 相当于points[i][0]

y = points[i,1] 相当于points[i][1]

是numpy的一种特殊写法

这里b_gradient和w_gradient的求法根据对b和W分别求导计算而出。

需要优化的模型参数W,b按照以下方式更新参数

其中lr为学习率:(防止每次更新步长跨越大,无法找到最小的点,如图,学习率设置太大,从A点跨到B点,而最小值在C点)

如果lr太小:收敛缓慢。

如果lr太大:不会在每次迭代中都减小,因此可能不会收敛。

损失函数loss的计算和参数w,b的更新方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值