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

一、使用场合

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

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

例子

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

二、解决方法

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

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

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

RMSProp

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

Adam优化器

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

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

例子

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

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

如何解决这个问题?

Learning Rate Decay

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

Warm Up

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

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

实例论文支撑的warm up

三、总结

相关推荐
王小王-1236 小时前
基于机器学习算法的恶意软件行为分析与检测系统设计与实现
机器学习·pyqt5·检测系统·恶意软件行为检测
code_pgf6 小时前
mllm训练过程中有效地利用辅助监督信号来减少幻觉的方法
人工智能·深度学习·计算机视觉
装不满的克莱因瓶6 小时前
自然语言处理常见任务——从文本理解到生成式AI的完整任务体系
人工智能·pytorch·python·深度学习·ai·自然语言处理
Godspeed Zhao6 小时前
Level 4自动驾驶系统设计0——功能与场景0
人工智能·机器学习·自动驾驶
H__Rick6 小时前
C51学习-DAY4
嵌入式硬件·学习·51单片机·硬件工程
CCC:CarCrazeCurator6 小时前
大模型核心注意力机制技术深度报告:MHA、MQA、GQA 与 MLA 技术原理、性能对比与场景适配
人工智能·机器学习·自动驾驶·transformer
炎武丶航6 小时前
LeNet-5深度学习详解:从手写数字识别到代码实战
人工智能·python·深度学习·机器学习·ai·cnn·lenet
red_redemption7 小时前
自由学习记录(201)
学习
一条泥憨鱼7 小时前
Java开发效率神器:Lombok从入门到精通!
java·后端·学习·开发·lombok
阿部多瑞 ABU7 小时前
数据循环悖论:AI检测模型的技术局限与生态灾难
大数据·人工智能·安全·机器学习·ai·自然语言处理