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

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。

相关推荐
滴滴哒哒答答3 分钟前
《自动驾驶与机器人中的SLAM技术》ch10:自动驾驶车辆的实时定位系统
人工智能·机器人·自动驾驶
灵性(๑>ڡ<)☆6 分钟前
Vue3学习-day4
前端·vue.js·学习
StudyWinter19 分钟前
【OpenCV(C++)快速入门】--opencv学习
c++·学习·计算机视觉·openev
siy23331 小时前
[c语言日寄]c语言也有“回”字的多种写法——整数交换的三种方式
c语言·开发语言·笔记·学习·算法
Mr.Winter`3 小时前
轨迹优化 | 基于贝塞尔曲线的无约束路径平滑与粗轨迹生成(附ROS C++/Python仿真)
人工智能·机器人·自动驾驶·ros·几何学·ros2·轨迹优化
臣妾写不来啊3 小时前
了解如何学习自然语言处理技术
人工智能·学习·自然语言处理
敲敲敲-敲代码4 小时前
【机器学习】神经网络(BP算法)含具体计算过程
人工智能·笔记·神经网络·机器学习
说私域6 小时前
社群团购项目运营策略的深度剖析:融合链动2+1模式、AI智能名片与S2B2C商城小程序的综合应用
大数据·人工智能·小程序
IT古董6 小时前
【机器学习】主动学习-增加标签的操作方法-流式选择性采样(Stream-based selective sampling)
人工智能·学习·机器学习