2022最新版-李宏毅机器学习深度学习课程-P15 自动调整学习速率(learning rate)

一、使用场合

当loss函数表面崎岖不平时,可以采用这招。

被困住时不一定是小梯度,还有可能在峡谷两端来回跳跃,下不去了

例子

当误差表面是凸函数(可以想成长轴很大的椭圆)时,可能在峡谷两端交替,再次减小学习率时,可能update很多次但走的贼慢,很难到达目标。

二、解决方法

不同的状态需要不同的学习率,所以引入Σ

与前面的所有梯度有关(注意只与梯度大小有关)

小梯度时大步走,大梯度时小步走

RMSProp

再引入α,控制比例(被以前梯度影响的多少)

Adam优化器

经常用的Adam优化器,就是采用了RMSProp和动量的结合

动量是与梯度方向有关的,但RMSProp只与其大小有关,所以不会抵消掉!!

例子

此时,该例子变成了这样,琢磨之后就知道很合理了,最后可以到目标。

为什么有向上下的一跃?Y轴方向累积了很多小的Σ,累积到一定地步后,下一step变得很大就喷出去了,走到大梯度的地方又迈着小步子回来了(左右山谷有摩擦力震荡着下来了)

如何解决这个问题?

Learning Rate Decay

加入decay,随着时间的增大,学习率在变小

Warm Up

还有一个变化叫做 warm up(预热)

为什么要先变大呢?刚开始Σ的统计量有很大误差(小学习率探索,先收集统计数据),只有足够多的统计后才会变准确。

实例论文支撑的warm up

三、总结

相关推荐
纤纡.1 小时前
轻松实现多语言文字识别与实时检测:PaddleOCR 实战指南
人工智能·深度学习·opencv·paddlepaddle
【建模先锋】1 小时前
精品数据分享 | 锂电池数据集(10)基于阻抗的锂离子电池在不均衡使用情况下的性能预测
人工智能·python·深度学习·锂电池·锂电池寿命预测·锂电池数据集·剩余寿命预测
热爱生活的五柒2 小时前
度量学习-Radar Signal Deinterleaving Using Transformer Encoder and HDBSCAN 论文解析
深度学习·学习·transformer
源码之家2 小时前
计算机毕业设计:Python城市天气数据挖掘与预测系统 Flask框架 随机森林 K-Means 可视化 数据分析 大数据 机器学习 深度学习(建议收藏)✅
人工智能·爬虫·python·深度学习·机器学习·数据挖掘·课程设计
幻风_huanfeng2 小时前
人工智能之数学基础:坐标下降法
人工智能·深度学习·计算机视觉·梯度下降法·坐标下降法
xuhaoyu_cpp_java2 小时前
事务学习(一)
数据库·经验分享·笔记·学习·mysql
nashane2 小时前
HarmonyOS 6学习:音频焦点管理实战——解决应用打开中断听书功能的技术指南
学习·音视频·harmonyos·harmonyos 5
大彼方..3 小时前
深入学习cpp初阶模板
开发语言·c++·学习
li星野3 小时前
Transformer架构梳理
人工智能·深度学习·transformer
思绪无限3 小时前
YOLOv5至YOLOv12升级:条形码二维码检测系统的设计与实现(完整代码+界面+数据集项目)
深度学习·yolo·目标检测·条形码二维码检测·yolov12·yolo全家桶