平台网站建设方案模板,创造与魔法官方网站做自己,如皋市建设局网站,wordpress洛米主题前言#xff1a; SGD的不足#xff1a; ①呈“之”字型#xff0c;迂回前进#xff0c;损失函数值在一些维度的改变得快#xff08;更新速度快#xff09;#xff0c;在一些维度改变得慢#xff08;速度慢#xff09;- 在高维空间更加普遍
②容易陷入局部极小值和鞍点…前言 SGD的不足 ①呈“之”字型迂回前进损失函数值在一些维度的改变得快更新速度快在一些维度改变得慢速度慢- 在高维空间更加普遍
②容易陷入局部极小值和鞍点 ③对于凸优化而言SGD不会收敛只会在最优点附近跳来跳去 这里面主要讲解一下梯度更新的两个技巧在训练的时候
应用比较多. 目录 momentum learn rate decay 一 momentum 正常的梯度更新公式: 通过动量更新梯度公式: 当前的梯度更新方向 由当前的梯度和历史梯度叠加组成的。 Momentum算法的优点 当某个参数在最近一段时间内的梯度方向不一致时其真实的参数更新幅度变小 相反当在最近一段时间内的梯度方向都一致时其真实的参数更新幅度变大起到加速作用。 一般而言在迭代初期梯度方向都比较一致动量法会起到加速作用可以更快地到达最优点。在迭代后期梯度方向会取决不一致在收敛值附近震荡动量法会起到减速作用增加稳定性。从某种角度来说当前梯度叠加上部分的上次梯度一定程度上可以近似看作二阶梯度。 PyTorch 里面的API 函数
torch.optim.SGD(net.parameters(), lrlr, momentum0.9,weight_decaywd)对于ADM 这类优化器是内部自带的不需要手动设置。 二 learn rate decay 学习率衰减 现有问题 1 学习率太小长时间无法到达最优点 2 学习率太大参数激烈震荡,无法收敛 默认的学习率是1e-3,1e-4
解决方案 learn rate decay 每训练一些batch 后学习率逐渐降低如下图 如下图,随着训练的batch 增加学习率降低降低了
参数震荡能够快速的朝一个方向收敛 PyTorch方案1 通过观测loss 是否减少来动态调整学习率 torch.optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode‘min’, factor0.1, patience10, verboseFalse, threshold0.0001, threshold_mode‘rel’, cooldown0, min_lr0, eps1e-08)
PyTorch方案2
如下图每训练30次 参考
课时59 动量与学习率衰减_哔哩哔哩_bilibili
https://www.cnblogs.com/shiliuxinya/p/12261966.html
pytorch 中ReduceLROnPlateau 的使用_pytorch的reducelronplateau_zx66zx的博客-CSDN博客
【pytorch 优化器】ReduceLROnPlateau详解_reducelronplateau参数_devil_son1234的博客-CSDN博客