深度学习中不同学习率调整策略

1、StepLR

功能:固定等间隔调整学习率

主要参数:

step_size:调整间隔数

gamma:调整系数

调整方式:
l r = l r ∗ g a m m a lr=lr\ast gamma lr=lr∗gamma

2、MultiStepLR

功能:按给定间隔调整学习率

主要参数:

milestones:设定调整的时刻数

gamma:调整系数

调整方式:
l r = l r ∗ g a m m a lr=lr\ast gamma lr=lr∗gamma

3、ExponentialLR

功能:按指数衰减调整学习率

主要参数:

gamma:指数的底

调整方式:
l r = l r ∗ g a m m a e p o c h lr=lr\ast gamma^{epoch} lr=lr∗gammaepoch

4、CosineAnnealingLR

功能:预弦周期调整学习率

主要参数:

T_max:下降周期

eta_min:学习率下限

调整方式:
η t = η m i n + 1 2 ( η m a x − η m i n ) ( 1 + cos ⁡ T c u r T m a x Π ) \eta _{t} =\eta _{min}+\frac{1}{2} \left (\eta {max} -\eta {min}\right ) \left ( 1+\cos \frac{T{cur} }{T{max} }\Pi \right ) ηt=ηmin+21(ηmax−ηmin)(1+cosTmaxTcurΠ)

这里的T_max是以epoch为单位的,T_max对于余弦函数学习率的半周期(下降的半周期)

5、LinearLR

主要参数:

start_factor:起始factor

end_factor:终止factor

LinearLR是线性学习率,给定起始factor和最终的factor,LinearLR会在中间阶段做线性插值,比如学习率为0.1,起始factor为1,最终的factor为0.1。那么刚开始迭代时,学习率将为0.1,最终轮学习率为0.01。下面设置的总轮数total_iters为80,所以超过80时,学习率恒为0.01。

相关推荐
wydxry3 分钟前
MOE架构详解:原理、应用与PyTorch实现
人工智能·pytorch·架构
MUTA️11 分钟前
SAM附录详解
图像处理·人工智能·计算机视觉
热心不起来的市民小周22 分钟前
基于 BiLSTM+自注意力机制(改进双塔神经网络) 的短文本语义匹配
人工智能·深度学习·神经网络
奇墨 ITQM24 分钟前
FastGPT + Kymo AI生态创新平台,搭建企业智能化知识管理
人工智能
说私域1 小时前
零售新范式:开源AI大模型、AI智能名片与S2B2C商城小程序源码驱动下的圈层渗透革命
人工智能·开源·零售
Eli_Optics1 小时前
《通信原理》学习笔记——第六章
笔记·学习
麦兜*1 小时前
大模型时代,Transformer 架构中的核心注意力机制算法详解与优化实践
jvm·后端·深度学习·算法·spring·spring cloud·transformer
柠檬味拥抱1 小时前
基于YOLOv8的无人机位置捕捉识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!
人工智能
算家计算1 小时前
告别“AI味”图像!最新开源AI模型FLUX.1-Krea实现真实光影生成
人工智能·开源·aigc
用户46175752470651 小时前
小白也能懂---Transformer中Look-Ahead Mask 的实现
人工智能