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

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。

相关推荐
لا معنى له1 小时前
目标检测的内涵、发展和经典模型--学习笔记
人工智能·笔记·深度学习·学习·目标检测·机器学习
AKAMAI3 小时前
Akamai Cloud客户案例 | CloudMinister借助Akamai实现多云转型
人工智能·云计算
石像鬼₧魂石3 小时前
内网渗透靶场实操清单(基于 Vulhub+Metasploitable 2)
linux·windows·学习·ubuntu
小a杰.4 小时前
Flutter 与 AI 深度集成指南:从基础实现到高级应用
人工智能·flutter
colorknight5 小时前
数据编织-异构数据存储的自动化治理
数据仓库·人工智能·数据治理·数据湖·数据科学·数据编织·自动化治理
Lun3866buzha5 小时前
篮球场景目标检测与定位_YOLO11-RFPN实现详解
人工智能·目标检测·计算机视觉
janefir5 小时前
LangChain框架下DirectoryLoader使用报错zipfile.BadZipFile
人工智能·langchain
醇氧5 小时前
org.jetbrains.annotations的@Nullable 学习
java·开发语言·学习·intellij-idea
齐齐大魔王5 小时前
COCO 数据集
人工智能·机器学习
敲敲了个代码6 小时前
隐式类型转换:哈基米 == 猫 ? true :false
开发语言·前端·javascript·学习·面试·web