深度学习 —— 梯度下降法的优化方法
目录一、梯度下降法 回顾二、梯度下降法的缺点三、如何选择优化方法1.了解 —— 指数移动加权平局1.1 公式1.2 图例说明1.3 结论2.优化方法2.1 图解2.2 如何选择优化方法2.3 对应API动量法 MomentumAdaGrad 自适应学习率RMSprop 自适应学习率Adam 自适应矩估计AdamW 自适应矩估计2.4 梯度下降法优化方法总结一、梯度下降法 回顾W新 W旧 - 学习率 * 梯度假设 学习率 lr 0.1.① 6.4 8.0 - 0.1 * 16.0② 5.12 6.4 - 0.1 * 12.8③ 4.01 5.12 - 0.1 * 10.24...二、梯度下降法的缺点1.碰到平缓区间梯度值较小参数优化变慢2.碰到”鞍点“梯度为0参数无法优化3.碰到局部最小值参数不是最优。无法跳出比如 y x ^ 3 。x 0的时候 就是”鞍点“ 导数为0三、如何选择优化方法1.了解 ——指数移动加权平局1.1 公式1.2 图例说明β beta 一组散点天气数据beta 0 beta 0.5beta 0.9 beta 11.3 结论1.对于指数移动加权平均值β 值调节系数越大移动加权平均值越平缓越考虑历史数据。β 值 越小移动加权平均值越接近当前数据。2.特例β 值 0就是当前数据的原始值β 值 1就是第一天的初始值2.优化方法2.1 图解2.2 如何选择优化方法* Adam / AdamW (推荐) - RMSprop - 动量法 Momentum - 原始SGDAdaGrad 不建议对比 Adam 和 AdamWAdam① 同时调整 学习率 和 梯度② 使用梯度一阶矩来调整梯度二阶矩来调整学习率AdamW① Adam的优化版② 解耦了权重衰减③ 原始Adam直接在梯度中添加了 权重衰减项使得调整梯度和调整学习率藕合在一起会造成模型训练后期不稳定。④ AdaW 使用原始梯度在更新参数时直接添加权重衰减项目解耦了调整梯度和调整学习率2.3 对应API# 优化器模块实现梯度下降法以及梯度下降的优化方法 import torch.optim as optim动量法 Momentumoptim.SGD([w],lr0.01,momentum0.95)AdaGrad 自适应学习率optim.Adagrad([w],lr0.01)RMSprop 自适应学习率optim.RMSprop([w],lr0.01)Adam 自适应矩估计optim.Adam([w],lr0.01)AdamW 自适应矩估计optim.AdamW([w],lr0.01)2.4梯度下降法优化方法总结1. SGD原始梯度下降法optim.SGD, 使用当前梯度直接更新参数用于凸优化问题容易陷入局部最优解2. 动量法Momentum: optim.SGD(momentum0.9), 引入动量概念利用历史梯度信息加速收敛3. AdaGrad: optim.Adagrad, 自动调整学习率学习率下降过快过早导致模型更新慢4. RMSprop: optim.RMSprop, 自动调整学习率对AdaGrad的改进5. Adam: optim.Adam, 结合 动量法和RMSprop同时调整学习率和梯度训练稳定6. AdamW: optim.AdamW, 对Adam的改进解决权重衰减问题推荐使用
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2542402.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!