关于深度学习优化器【转载以学习、回忆】
2022/4/9 23:50:23
本文主要是介绍关于深度学习优化器【转载以学习、回忆】,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
来源链接:https://mp.weixin.qq.com/s/kUE7NcTiQyYP-oWi0T_mbA
来源公众号:阿柴的算法学习日记
转载以学习回忆
___________________________开始
原文此处有动图。。。。
梯度下降是指,给定待优化的模型参数和目标函数后,算法沿梯度
的相反方向更新来最小化。学习率a决定了每一时刻的更新步长。对于每一个时刻t,我们可以用下述步骤来描述梯度下降的流程。
1.计算目标函数的梯度
2.更新模型参数
梯度下降法目前主要分为三种方法,区别在于每次参数更新时计算的样本数据量不同:批量梯度下降法(BGD, Batch Gradient Descent),随机梯度下降法(SGD, Stochastic Gradient Descent)及小批量梯度下降法(Mini-batch Gradient Descent)。
一:
- 批量梯度下降法 BGD
- 随机梯度下降法 SGD
- 小批量梯度下降法 Mini-batch GD
注意红箭头 目前的SGD默认是小批量梯度下降算法
对于随机梯度下降算法,明显存在以下缺点
-
选择合适的learning rate比较困难 ,学习率太低会收敛缓慢,学习率过高会使收敛时的波动过大;
-
所有参数都是用同样的learning rate;
-
SGD容易收敛到局部最优,并且在某些情况下可能被困在鞍点。
二 动量优化法
动量优化方法引入物理学中的动量思想,加速梯度下降,有Momentum和Nesterov两种算法。当我们将一个小球从山上滚下来,没有阻力时,它的动量会越来越大,但是如果遇到了阻力,速度就会变小,动量优化法就是借鉴此思想,使得梯度方向在不变的维度上,参数更新变快,梯度有所改变时,更新参数变慢,这样就能够加快收敛并且减少动荡。
- Momentum
【吴恩达里边的讲解】
- NAG(Nesterov accelerated gradient)
三 自使用学习率优化算法
- AdaGrad
- AdaDelta
- RmsProp
又称均方根传递。和动量一样减小震荡,能利用大学习率,从而加速。
- Adam
关于Adam的就看不懂了
Adam 本质实际上是Momentum和RMSprop结合在了一起
吴恩达讲解视频https://www.bilibili.com/video/BV1i741147Q5?p=20
要理解这些算法 要用【指数加权平均】
【理解指数加权平均】
【偏差修正】
当t增大无影响,初期修正了过小的缺点
【动量梯度下降法】
这篇关于关于深度学习优化器【转载以学习、回忆】的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?