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

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。

相关推荐
vocal15 分钟前
谷歌第七版Prompt Engineering—第一部分
人工智能
MonkeyKing_sunyuhua16 分钟前
5.6 Microsoft Semantic Kernel:专注于将LLM集成到现有应用中的框架
人工智能·microsoft·agent
arbboter23 分钟前
【AI插件开发】Notepad++ AI插件开发1.0发布和使用说明
人工智能·大模型·notepad++·ai助手·ai插件·aicoder·notepad++插件开发
BB_CC_DD24 分钟前
四. 以Annoy算法建树的方式聚类清洗图像数据集,一次建树,无限次聚类搜索,提升聚类搜索效率。(附完整代码)
深度学习·算法·聚类
我的golang之路果然有问题34 分钟前
快速了解redis,个人笔记
数据库·经验分享·redis·笔记·学习·缓存·内存
IT_Octopus36 分钟前
AI工程pytorch小白TorchServe部署模型服务
人工智能·pytorch·python
果冻人工智能41 分钟前
AI军备竞赛:我们是不是正在造一个无法控制的神?
人工智能
暴龙胡乱写博客1 小时前
OpenCV---图像预处理(四)
人工智能·opencv·计算机视觉
程序员辣条1 小时前
深度测评 RAG 应用评估框架:指标最全面的 RAGas
人工智能·程序员
curdcv_po1 小时前
字节跳动Trae:一款革命性的免费AI编程工具完全评测
人工智能·trae