优 化 器 篇 优化器篇 优化器篇
什么是优化器?
管理并更新模型中的可学习参数,使得模型的预测输出值逼近真实标签,即降低loss。
更新过程:
- 先由损失函数模块得出模型输出和标签之间的差异的loss值
- 再利用AutoGrad自动求导模块求到模型中学习参数(权值、偏置)的梯度
- 最后优化器拿到这个梯度,采取一系列策略,更新模型的学习参数,使得Loss值下降
基础概念:
- 导数:函数在指定坐标轴上的变化率
- 方向导数:指定方向上的变化率
- 梯度:一个向量,方向为方向导数取得最大值的方向
学习率调整策略:
StepLR:间隔调整学习率
MultiStepLR:按设定的间隔调整学习率
ExponentialLR︰按指数衰减调整学习率
CosineAnnealingLR:以余弦函数为周期,在每个周期最大值时重置学习率
CosineAnnealingWarmRestarts : CosineAnnealingLR加上warmup
ReduceLROnPlateau:当某指标不再变化(下降或升高),调整学习率
一 基于PyTorch实现各类优化器
优 化 器 策 略 优化器策略 优化器策略
一 AdamW
二 Adadelta
三 Adagrad
四 Adam
五 SparseAdam
六 Adamax
七 ASGD
八 LBFGS
九 RMSprop
十 Rprop
十一 SGD
十二 LookaHead优化器
学 习 率 调 整 策 略 学习率调整策略 学习率调整策略
一 MultiplicativeLR
二 LambdaLR
三 StepLR
四 MultiStepLR
五 ExponentialLR
六 CosineAnnealingLR
七 ReduceLROnPlateau
八 CyclicLR
九 OneCycleLR
十 CosineAnnealingWarmRestarts