当前位置:网站首页>深度学习:优化器
深度学习:优化器
2022-08-09 02:53:00 【ZERO_pan】
0. 各种优化器介绍
参考这个博客: 各种优化器SGD,AdaGrad,Adam,LBFGS都做了什么?
1.优化器选择(优先选择以下三个)
1.0. 代码使用pytorch
1.1. SGD+Momentum
optimer = optim.SGD(model.parameters(), lr=0.1, weight_decay=0.2, momentum=0.9, nesterov=True)
- weight_decay:L2正则化惩罚系数
- momentum:惯性动量
- nesterov:就是Nesterov Accelerated Gradient这个优化器,防止按照惯性走的太快,会衡量一下梯度做出修正
- 以上超参数需要调参
1.2. Adam
optimer= optim.Adam(model.parameters(), lr=0.1, weight_decay=0)
- 为不同参数产生自适应的学习速率
- 没有L2正则化
1.3. AdamW(Adam+L2正则)
optimer = optim.AdamW(model.parameters(), lr=0.1, weight_decay=0.2)
2. 学习率更新
手动设置的学习率更新。用的比较少,可以结合SGD使用。
step1.设置一个动态学习率
optimer = optim.SGD(model.parameters(), lr=0.1, weight_decay=0.2, momentum=0.9, nesterov=True)
scheduler = optim.lr_scheduler.LinearLR(optimer , start_factor=1.0, end_factor=0.6, total_iters=5)
start_factor:开始的权重系数
end_factor:结束的权重系数
total_iters:迭代系数
step2.在更新模型参数的同时,更新学习率
optimer.step()
scheduler.step()
step3.学习率
- 0.1*1.0=0.1
- 0.1*0.9=0.09
- 0.1*0.8=0.08
- 0.1*0.7=0.07
- 0.1*0.6=0.06
- 0.06
- 0.06
- 不再改变
边栏推荐
猜你喜欢
独立机器连接cdh的spark集群,远程提交任务(绝对可以成功,亲测了n遍)
一款免费的强大办公工具。
Lottie进阶和原理分析
【网络教程】IPtables官方教程--学习笔记3
grafana的panel点击title,没有反应,没有出现edit选项
【信号去噪】基于Sage-Husa自适应卡尔曼滤波器实现海浪磁场噪声抑制及海浪磁场噪声的产生附matlab代码
C专家编程 第9章 再论数组 9.6 C语言的多维数组
Jenkins environment deployment, (packaging, publishing, deployment, automated testing)
带你做接口测试从零到第一条用例 总结
【机器学习】21天挑战赛学习笔记(三)
随机推荐
(面试题)面试官为啥总是让我们手撕call、apply、bind?
【洛谷】P1082 同余方程
多态 polymorphism
20220523搜索和排序:搜索旋转排序数组
dice和iou
笔算开2次方根、3次方根详细教程
C专家编程 第9章 再论数组 9.2 为什么会发生混淆
[LeetCode305周赛] 6136. 算术三元组的数目,6139. 受限条件下可到达节点的数目,6137. 检查数组是否存在有效划分,6138. 最长理想子序列
【扫雷--1】
旋转霓虹圆圈
HMS Core分析服务智能运营6.5.1版本上线
数字 01 Vivado2018.2安装及实操
数字 07 verilog仿真实例
JavsScript系列-Promise的错误捕获
【信号去噪】基于Sage-Husa自适应卡尔曼滤波器实现海浪磁场噪声抑制及海浪磁场噪声的产生附matlab代码
lvs+keepalived高可用负载均衡集群
C专家编程 第9章 再论数组 9.1 什么时候数组与指针相同
JS 实现千分位分隔符
opencv在图像上长按左键画矩形单击右键清除
ReentrantLock源码分析