深度学习基础—学习率衰减与局部最优问题

1.学习率衰减

下图中,蓝色的线是min-batch梯度下降法过程中较大学习率的的优化路径,绿线是较小学习率的优化路径。

如果使用min-batch梯度下降法,在模型的学习过程中,会有很多噪声,在靠近最小值的时候,由于学习率a不变,因此最终算法在最小值附近摆动。要解决这个问题,就需要减少学习率a,让靠近最小值的过程中,模型的步长小一点,这就需要学习率衰减来解决。

一个训练集被拆成多个min-batch,对一个训练集训练一遍成为1epoch,我们有如下相关的学习率衰减公式:

其中,decay_rate是衰减率,epoch_num是训练的代数,a0是初始学习率,k是小于1的参数。这些做法都可以让学习率随着训练代数的增加,逐渐衰减,从而让模型更加接近最小值。

2.局部最优问题

接下来看看局部最优问题,如下图所示,蓝点是局部最优解,红点是全局最优解。局部最优和全局最优都是梯度为0的点,也就是所有维度都是凹函数。

下图是鞍点,鞍点是部分维度为凸函数,部分维度为凹函数的点,该点的梯度也为0。

实际的神经网络中,尤其是大模型,参数非常多,损失函数的图像在高维空间难以画出,运行过程中,遇到的梯度为0的点很难是局部最优点(这需要所有维度都是凹函数,概率极低)。最容易遇到的是鞍点,遇到鞍点是让人头疼的问题:

因为马鞍面有一部分很平缓,这部分的梯度很小,使用梯度下降法时会经过很长时间才能走到鞍点附近,在鞍点附近扰动,直到找到梯度更大的方向,梯度下降法才能有更深的进展。这个平稳段需要更好的优化算法来加速训练,Adam算法就是很成熟的优化算法,可以帮助我们加速走出平稳段和鞍点,从而搜索到全局最优。

相关推荐
yvestine几秒前
自然语言处理——文本表示
人工智能·python·算法·自然语言处理·文本表示
zzc9219 分钟前
MATLAB仿真生成无线通信网络拓扑推理数据集
开发语言·网络·数据库·人工智能·python·深度学习·matlab
点赋科技10 分钟前
沙市区举办资本市场赋能培训会 点赋科技分享智能消费新实践
大数据·人工智能
Camellia031117 分钟前
嵌入式学习--江协stm32day5
stm32·嵌入式硬件·学习
HeteroCat17 分钟前
一周年工作总结:做了一年的AI工作我都干了什么?
人工智能
a_1571532498621 分钟前
SpringCloud学习笔记-4
笔记·学习·spring cloud
编程有点难24 分钟前
Python训练打卡Day43
开发语言·python·深度学习
2301_8050545630 分钟前
Python训练营打卡Day48(2025.6.8)
pytorch·python·深度学习
YSGZJJ30 分钟前
股指期货技术分析与短线操作方法介绍
大数据·人工智能