【AI之路】变化的学习率

动态学习率与模型训练优化
本文探讨了训练模型时学习率的重要性。不同的参数需要不同的学习率,学习率应随训练过程动态调整。文中提到了井喷现象,即学习率在训练初期的小幅增加可能导致模型训练的大幅波动。通过时间序列分析和热身训练策略,可以有效控制学习率,避免这种现象,从而得到更好的训练效果。热身训练允许在训练初期使用较高的学习率,促进模型快速收敛。

前言

大多数人在训练模型时遇到训练卡住,无法继续往下进行时,会把它归结为梯度下降过小,已经进入critical point。其实不然,如果在这个时间去计算其梯度会发现,梯度远没有到达足够小的情况。那么是什么样的原因导致了训练无法继续下去呢?本文将揭示可能影响到训练的另一个因素——学习率(learning rate)

1. 不同的参数需要不一样的学习率

正如此段的标题,学习率在训练的过程中应该处于一个动态变化的过程,即从,

变化为如下:

其中,分母的值与之前经过的点的梯度值有关,换句话说,目前所处的梯度趋势,将会间接影响到学习率。当曲线斜率略显陡峭时,分母大,学习率小,从而使步长减少;当曲线趋于平缓,分母小,学习率增大,使步长增大。

2. 学习率与时序的关系

2.1 “井喷”现象

通过使learning rate产生变化,如上图所示,我们可以发现,已经可以走到目标点,模型训练基本完成。但明显可以观察到,模型在训练过程中发生了几次特别大的起伏,这是什么原因呢?
在训练时,学习率呈现一个由小增大的趋势。sigma在图中第一个转折点后变小,随着小sigma的不断累积,使得某一点的学习率突然增大,因此出现井喷现象。由于井喷现象发生后,g值增大,又使得步长减小,能够在一定的迭代次数后,又回到正轨。为了解决这一问题,我们使分子随着时间进行变化

2.2 时间序列

时间与n呈反比例关系,使模型训练进行到后期时,学习率永远呈现一个比较小的值,从而步长趋于平缓,得到了一个很好的结果

2.3 热身训练

https://arxiv.org/abs/1706.03762

在这篇文章中,提出了一个热身的概念,即先让学习率在开始后的短时间内,保持一个较大的值,可以极大的促进训练的效果。

参考资料

  1. 李宏毅2021机器学习
### OneCycle 学习率调度策略 OneCycle 是一种常用的学习率调度策略,在训练神经网络过程中表现出色。该策略的核心思想是在整个训练期间仅经历一次学习率的上升和下降过程,而不是像传统方法那样逐渐降低学习率。 #### OneCycle 调度器的工作原理 在 OneCycle 方法中,初始阶段会快速提升学习率至最大值,随后逐步减少到某个较低水平。这种设计有助于加速收敛并提高最终模型性能[^1]。具体来说: - **预热期**:从非常低的学习率开始,迅速增加到峰值。 - **退火期**:达到最高点之后,平滑地下降到最小值附近。 - **超参数调整**:可以通过设定 `max_lr` 来指定最高的学习速率;还可以配置其他参数来控制曲线形状,比如总迭代次数、每相位的比例等。 对于 PyTorch 和 FastAI 用户而言,实现 OneCycle 非常简单。FastAI 库内置了对 OneCycle 支持的良好接口,使得应用此技术变得异常便捷[^2]。 ```python from fastai.callback.schedule import Learner learn = cnn_learner(dls, resnet34, metrics=error_rate) learn.fit_one_cycle(5, max_lr=slice(1e-3)) ``` 上述代码展示了如何利用 FastAI 创建一个卷积神经网络,并采用 one-cycle policy 进行优化训练。这里 `fit_one_cycle()` 函数接受两个主要参数——训练轮数(epochs)以及最大学习率范围 (`slice`)。 #### 实验效果与优势 研究表明,当应用于各种类型的深度学习任务时,OneCycle 可以显著改善泛化能力和缩短训练时间。这是因为适当的选择学习路径能够帮助避开局部最优解,促进更有效的探索权重空间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodeSlogan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值