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

一、使用场合

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

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

例子

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

二、解决方法

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

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

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

RMSProp

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

Adam优化器

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

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

例子

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

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

如何解决这个问题?

Learning Rate Decay

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

Warm Up

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

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

实例论文支撑的warm up

三、总结

相关推荐
FlagOS智算系统软件栈5 分钟前
CUDA Tile IR 接入 FlagOS 多芯片统一编译器 FlagTree,加速 AI 芯片生态迈向“开放计算”
人工智能·深度学习·flagos
大模型丫丫27 分钟前
Transformer架构详解:从Attention到GPT的演进之路
gpt·深度学习·transformer
aichitang202431 分钟前
快乐泛函每一天!内积空间
c++·python·数学·算法·机器学习·ai·泛函分析
是上好佳佳佳呀1 小时前
【深度学习|DAY05】卷积神经网络深度学习笔记
笔记·深度学习·cnn
-To be number.wan1 小时前
我的创作纪念日
学习
茜茜数模1 小时前
2026年天府杯大学生数学建模A题全套资源
人工智能·算法·机器学习
盼小辉丶2 小时前
PyTorch强化学习实战——用预训练语言模型和ChatGPT玩转文本游戏
pytorch·深度学习·语言模型·chatgpt·强化学习
for_ever_love__2 小时前
SQL学习: SQL入门与DDL
数据库·sql·学习
m4Rk_2 小时前
【论文阅读】Agent 记忆机制(45):ReMemR1——让长期上下文 Agent 可以回溯历史记忆进行非线性推理
论文阅读·人工智能·学习·开源·github
个 人 练 习 生2 小时前
数据结构链表:带头双向循环链表
c语言·数据结构·经验分享·学习·其他·链表