蓝狮娱乐-蓝狮注册登录站

PyTorch学习—13.优化器optimizer的概念及常用优化器

日期:2024-07-29 14:12 / 作者:佚名

*

+ 引言
+ 一、什么是优化器?
+ 二、optimizer的基本属性
+ 三、optimizer的基本方法
+ 四、方法实例
+
* 1.optimizer.step()
* 2. optimizer.zero_grad()
* 3. optimizer.add_param_group()
* 4. optimizer.state_dict()
* 5. optimizer.load_state_dict()
+ 五、优化器中的常用参数
+
* 1.learning rate 学习率
* 2.momentum 动量
+ 六、Pytorch十种优化器简介

本文学习优化器optimizer的基本属性、基本方法和作用

pytorch的优化器: 管理更新模型中可学习参数的值,使得模型输出更接近真实标签。通俗一点,就是采样梯度更新模型的可学习参数,使得损失减小。







1.optimizer.step()



2. optimizer.zero_grad()



3. optimizer.add_param_group()



4. optimizer.state_dict()



5. optimizer.load_state_dict()




1.learning rate 学习率

梯度下降:
+ = ? ( ) + = ? l r ? ( ) _{+}=_ ? (_ )\_{+}=_ ? lr * (_)w i +1 ?=w i g (w i ?)w i +1 ?=w i l r ?g (w i ?)
学习率(learning rate)控制更新的步伐
需要



2.momentum 动量

momentum 动量:结合当前梯度与上一次更新信息,用于当前更新。pytorch中更新公式为:
v i=m ? v i ? 1 + g ( w i ) w i + 1=w i ? l r ? v i v_i=mv_{i-1}+g(w_i)\w_{i+1}=w_i-lrv_i v i ?=m ?v i ?1 ?+g (w i ?)w i +1 ?=w i l r ?v i ?
v i v_i v i ?:更新量
m m m:momentum系数,通常设置为0.9
g ( w i ) g(w_i)g (w i ?):w i w_i w i ?的梯度
v i v_i v i ?有两部分组成,v i v_i v i ?直接依赖于v i ? 1 v_{i-1}v i ?1 ?和g ( w i ) g(w_i)g (w i ?),而不仅仅是g ( w i ) g(w_i)g (w i ?)。

= ? + ( )= ( ) + ? ( ? + ( ) )= ( ) + ? ( ) + ? = ( ) + ? ( ) + ? ( ) + ? 99 _{}= ? _{} + (_{}) \=(_{}) + ? ( ? _{} + (_{})) \=(_{}) + ? (_{}) + ^ ? _{} \=(_{}) + ? (_{}) + ^ ? (_{}) + ^ ? _{99}v 1 0 0 ?=m ?v 9 9 ?+g (w 1 0 0 ?)=g (w 1 0 0 ?)+m ?(m ?v 9 8 ?+g (w 9 9 ?))=g (w 1 0 0 ?)+m ?g (w 9 9 ?)+m 2 ?v 9 8 ?=g (w 1 0 0 ?)+m ?g (w 9 9 ?)+m 2 ?g (w 9 8 ?)+m 3 ?v 9 9 ?
可以看到越往前梯度信息的作用就越小。


PyTorch学习—13.优化器optimizer的概念及常用优化器
  1. optim.SGD:随机梯度下降法

主要参数:
– params:管理的参数组
– lr:初始学习率
– momentum:动量系数
– weight_decay:L2正则化系数
– nesterov:是否采用NAG
2. optim.Adagrad:自适应学习率梯度下降法
3. optim.RMSprop: Adagrad的改进
4. optim.Adadelta: Adagrad的改进
5. optim.Adam:RMSprop结合Momentum
6. optim.Adamax:Adam增加学习率上限
7. optim.SparseAdam:稀疏版的Adam
8. optim.ASGD:随机平均梯度下降
9. optim.Rprop:弹性反向传播
10. optim.LBFGS:BFGS的改进

上述优化器的使用可参考:torch.optim
SGD与Adam是两种最常用的方式。PyTorch官方文档介绍的非常详细!

如果对您有帮助,麻烦点赞关注,这真的对我很重要!!!如果需要互关,请评论或者私信!

PyTorch学习—13.优化器optimizer的概念及常用优化器

Original: https://blog.csdn.net/weixin_46649052/article/details/119718582
Author: 哎呦-_-不错
Title: PyTorch学习—13.优化器optimizer的概念及常用优化器

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/710379/

转载文章受原作者版权保护。转载请注明原作者出处!

平台注册入口