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

一、使用场合

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

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

例子

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

二、解决方法

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

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

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

RMSProp

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

Adam优化器

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

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

例子

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

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

如何解决这个问题?

Learning Rate Decay

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

Warm Up

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

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

实例论文支撑的warm up

三、总结

相关推荐
可乐ea5 小时前
Agent 模型分级升级路由:用置信度阈值把贵模型省下来
人工智能·算法·机器学习·结构化输出·置信度路由·模型升级路由·大模型成本优化
晚安code5 小时前
大模型是什么?讲透 Token、上下文窗口、Temperature 和 MoE
人工智能·深度学习·机器学习
for_ever_love__5 小时前
机器学习入门——手写线性回归与梯度下降
人工智能·python·学习·机器学习·线性回归
在猴站学算法5 小时前
(SQL注入学习)无回显的报错注入(Error-Based)
学习·网络安全·sql注入·ctf竞赛
CHEEVEN_QY6 小时前
液冷板热阻计算与流阻优化的实战方法
人工智能·算法·机器学习
Zguigo6 小时前
【CUDA6】CUDA Stream 是什么,为什么 CUDA 是异步执行,如何正确测量 GPU 时间以及多个任务如何重叠执行
人工智能·pytorch·深度学习
知识分享小能手7 小时前
C++ 学习教程,从入门到精通,C++ 友元、异常和其他特性 — 详细知识点(15)
开发语言·c++·学习
fanged8 小时前
Camera学习2(V4L2和Media Controller)(TODO)
学习
梦帮科技8 小时前
vLLM / TensorRT-LLM 极限推理:PagedAttention 细粒度物理页表管理与连续批处理(Continuous Batching)实战
数据结构·人工智能·分布式·python·深度学习·算法·vllm
努力学习的代码小白10 小时前
源码学习15
学习