当前位置: 首页 > news >正文

深度学习--卷积神经网络之调整学习率

一、神经网络构造--梯度下降

二、调整学习率

1、什么是调整学习率

常用的学习率有0.1、0.01以及0.001等,学习率越大则权重更新越快。一般来说,我们希望在训练初期学习率大一些,使得网络收敛迅速,在训练后期学习率小一些,使得网络更好的收敛到最优解。

2、如何实现调整学习率

(1)使用库函数进行调整

(2)手动调整学习率

3、使用库函数调整

Pytorch学习率调整策略通过 torch.optim.lr_sheduler 接口实现。并提供3种调整方法:

(1) 有序调整

等间隔调整(Step),多间隔调整(MultiStep),指数衰减(Exponential),余弦退火(CosineAnnealing);

1.有序调整StepLR(等间隔调整学习率)

torch.optim.lr_scheduler.StepLR(optimizer, step_size, gamma=0.1)

参数:

optimizer: 神经网络训练中使用的优化器,如optimizer=torch.optim.Adam(…)

step_size(int): 学习率下降间隔数,单位是epoch,而不是iteration.

gamma(float):学习率调整倍数,默认为0.1

每训练step_size个epoch,学习率调整为lr=lr*gamma.

2.有序调整MultiStepLR(多间隔调整学习率)

torch.optim.lr_shceduler.MultiStepLR(optimizer, milestones, gamma=0.1)

参数:

milestone(list): 一个列表参数,表示多个学习率需要调整的epoch值,如milestones=[10, 30, 80].

3.有序调整ExponentialLR (指数衰减调整学习率)

torch.optim.lr_scheduler.ExponentialLR(optimizer, gamma)

参数:

gamma(float):学习率调整倍数的底数,指数为epoch,初始值我lr, 倍数为γepoch

4.有序调整CosineAnnealing (余弦退火函数调整学习率)

torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max, eta_min=0)

参数: Tmax(int):学习率下降到最小值时的epoch数,即当epoch=T_max时,学习率下降到余弦函数最小值,当epoch>T_max时,学习率将增大;

etamin: 学习率调整的最小值,即epoch=Tmax时,lrmin=etamin, 默认为0.

(2)自适应调整:

依训练状况伺机而变,通过监测某个指标的变化情况(loss、accuracy),当该指标不怎么变化时,就是调整学习率的时机(ReduceLROnPlateau); (3)自定义调整:通过自定义关于epoch的lambda函数调整学习率(LambdaLR)。

1.自适应调整ReduceLROnPlateau (根据指标调整学习率)

当某指标(loss或accuracy)在最近几个epoch中都没有变化(下降或升高超过给定阈值)时,调整学习率。

torch.optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode='min', factor=0.1, patience=10,verbose=False, threshold=0.0001, threshold_mode='rel', cooldown=0, min_lr=0, eps=1e-08)

2.自定义调整LambdaLR (自定义调整学习率)

可以为不同层设置不同的学习率

torch.optim.lr_scheduler.LambdaLR(optimizer, lr_lambda)

参数:

lr_lambda(function or list): 自定义计算学习率调整倍数的函数,通常时epoch的函数,当有多个参数组时,设为list.

http://www.jsqmd.com/news/418231/

相关文章:

  • go基础之逻辑运算与条件判断(中)
  • WPF 的 DPI 机制
  • AI Agent框架探秘:拆解 OpenHands(9)--- AgentController
  • 《白色相簿2》《一泊二日の凯旋》听后感
  • Windows 下 DPI 渲染
  • 一文看透!AI应用架构师在智能金融系统设计的策略布局
  • 一天一个开源项目(第35篇):GitHub Store - 跨平台的 GitHub Releases 应用商店
  • 开工有礼!获悉Bonree ONE新动态,申请试用领“小睿”新周边!
  • python基于 flask 的流浪动物收养系统设计与开发-vue pycharm django
  • 电脑蓝屏故障与swkb.sys文件问题的解决指南
  • [豪の算法奇妙冒险] 代码随想录算法训练营第四十八天 | 739-每日温度、496-下一个更大元素Ⅰ、503-下一个更大元素Ⅱ
  • 告别JSON!Anthropic发布Tool Calling 2.0,Agent上下文消耗骤降80%
  • 【PowerBI专栏】PowerBI的数据保留与删除操作
  • 杭州脱发自救指南:植发还是纹发?看这篇就懂! - 品牌测评鉴赏家
  • 杭州植发机构大揭秘:脱发星人的逆袭指南 - 品牌测评鉴赏家
  • 【数据分析】python探究云量变化对植被生产力的影响
  • 2026年专业深度测评:中国排名前5的geo优化公司权威榜单 - 电商资讯
  • 广州十大植发机构推荐✅美发博主实测!脱发星人避坑不花冤枉钱 - 品牌测评鉴赏家
  • glTF/glb:现在与未来
  • 2026年专业深度测评:中国排名前五的geo优化公司权威榜单 - 电商资讯
  • python+flask的药膳食谱管理系统-vue pycharm django
  • 毕业季救命指南:用 AI 快速搞定论文初稿,不被导师看穿
  • 20260227 模拟测 总结
  • Python+flask爬虫电影信息分类管理与推荐系统 数据可视化大屏分析系统_b7vq98d8-vue pycharm django
  • 广州植发机构实测|告别脱发尴尬,焊死精致发际线 - 品牌测评鉴赏家
  • python+flask的校园电动车短租平台-vue pycharm django
  • Windows 上运行开源项目时启用Docker Desktop的优势
  • Scikit-learn包介绍
  • 选择智盈客CRM,让增长有“数”可依
  • 北京十大植发机构推荐|美发博主深耕5年,避坑指南+精准选型 - 品牌测评鉴赏家