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

1.学习率衰减

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

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

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

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

2.局部最优问题

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

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

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

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

相关推荐
小兵张健1 小时前
35岁程序员的春天来了
人工智能
大怪v1 小时前
AI抢饭?前端佬:我要验牌!
前端·人工智能·程序员
冬奇Lab1 小时前
OpenClaw 深度解析(六):节点、Canvas 与子 Agent
人工智能·开源
刀法如飞2 小时前
AI提示词框架深度对比分析
人工智能·ai编程
IT_陈寒4 小时前
Python开发者必知的5大性能陷阱:90%的人都踩过的坑!
前端·人工智能·后端
1G5 小时前
openclaw控制浏览器/自动化的playwright MCP + Mcporter方案实现
人工智能
踩着两条虫5 小时前
VTJ.PRO 双向代码转换原理揭秘
前端·vue.js·人工智能
扉川川5 小时前
OpenClaw 架构解析:一个生产级 AI Agent 是如何设计的
前端·人工智能
星浩AI5 小时前
让模型自己写 Skills——从素材到自动生成工作流
人工智能·后端·agent
千寻girling9 小时前
Python 是用来做 AI 人工智能 的 , 不适合开发 Web 网站 | 《Web框架》
人工智能·后端·算法