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

一、使用场合

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

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

例子

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

二、解决方法

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

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

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

RMSProp

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

Adam优化器

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

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

例子

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

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

如何解决这个问题?

Learning Rate Decay

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

Warm Up

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

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

实例论文支撑的warm up

三、总结

相关推荐
勇往直前plus23 分钟前
学习和掌握RabbitMQ及其与springboot的整合实践(篇二)
spring boot·学习·rabbitmq·java-rabbitmq
py有趣1 小时前
LeetCode算法学习之杨辉三角
学习·算法·leetcode
北诺南兮1 小时前
大模型算法面试笔记——多头潜在注意力(MLA)
笔记·深度学习·算法
具身新纪元2 小时前
现代机器人学习入门:一份来自Hugging Face与牛津大学的综合教程开源SOTA资源库
学习·机器人
Fuxiao___2 小时前
OpenVLA-OFT+ 在真实世界 ALOHA 机器人任务中的应用
人工智能·深度学习·计算机视觉
搞科研的小刘选手2 小时前
【多所高校主办】第七届机器人、智能控制与人工智能国际学术会议(RICAI 2025)
人工智能·机器学习·ai·机器人·无人机·传感器·智能控制
~无忧花开~2 小时前
掌握Axios:前端HTTP请求全攻略
开发语言·前端·学习·js
Dev7z2 小时前
基于Swin Transformer的肝脏肿瘤MRI图像分类与诊断系统
人工智能·深度学习·transformer
敲代码的嘎仔3 小时前
JavaWeb零基础学习Day5——MySQL
java·数据库·学习·程序人生·mysql·adb·改行学it
java1234_小锋3 小时前
PyTorch2 Python深度学习 - 张量(Tensor)的定义与操作
开发语言·python·深度学习·pytorch2