04 自动调整学习率(Learning Rate)-学习笔记-李宏毅深度学习2021年度
上一篇:03 梯度(Gradient)很小怎么办(Local Minima与Saddle Point)-学习笔记-李宏毅深度学习2021年度
下一篇:05 Classification-学习笔记-李宏毅深度学习2021年度
本节内容及相关链接
自动调整 Learning Rate 的常见策略
课堂笔记
当training陷入瓶颈时,不一定是gradient太小,有可能是由于学习率太大,导致其在山谷之间震荡,无法抵达最小值
对应到gradient的函数图像如下图:
x
x
x 轴为更新次数,
y
y
y 为gradient的大小
要根据迭代次数,当前梯度等因素,自动调整 Learning Rate。 θ \theta θ 的更新公式改为: θ i t + 1 ← θ i t − η σ i t g i t \theta_i^{t+1}\leftarrow \theta_i^t - \frac{\eta}{\sigma_i^t}g^t_i θit+1←θit−σitηgit
对于Learning Rate的调整,都是通过调整 σ \sigma σ 来实现
常见的调整策略有:
- Root Mean Square:考虑本次的梯度和过去的所有梯度
- RMSProp:重点考虑本次的梯度,稍微考虑过去的所有梯度
- Adam:结合了RMSProp和Momentum
- Learning Rate Decay:随着更新次数的增多,因为我们就会越接近目标,所以要将Learning Rate调小
- Warm Up:一开始Learning Rate小一点,然后随着迭代次数增多而增大,然后到某一个点时,再随着迭代次数增多而减小。如图所示:
Root Mean Square公式为: σ i t = 1 t + 1 ∑ i = 0 t ( g i t ) 2 \sigma_{i}^{t}=\sqrt{\frac{1}{t+1} \sum_{i=0}^{t}\left(g_{i}^{t}\right)^{2}} σit=t+11i=0∑t(git)2
RMSProp公式为: σ i t = α ( σ i t − 1 ) 2 + ( 1 − α ) ( g i t ) 2 \sigma_{i}^{t}=\sqrt{\alpha\left(\sigma_{i}^{t-1}\right)^{2}+(1-\alpha)\left(g_{i}^{t}\right)^{2}} σit=α(σit−1)2+(1−α)(git)2 其中 α \alpha α 为要调的超参数, 0 < α < 1 0<\alpha<1 0<α<1
Adam 建议采用Pytorch默认的参数。
Adam的调整策略如下:
相关文章
- BGFX学习笔记01
- Docker学习笔记:容器自动重启--restart
- 【学习笔记28】JavaScript数组字符串面试题
- 数据挖掘,计算机网络、操作系统刷题笔记45
- 机器学习笔记之生成模型综述(二)监督学习与无监督学习
- 统计学习方法笔记 -- Boosting方法
- 堆栈 学习笔记
- Dynamic CRM 2013学习笔记(三十四)自定义审批流5 - 自动邮件通知
- Dynamic CRM 2013学习笔记(二十四)页面保存前进行逻辑验证
- PID控制器改进笔记之二:改进PID控制器之手自动切换
- Java_jdbc 基础笔记之十五 数据库连接(取得数据库自动生成的主键)
- IDEA使用笔记(八)——自动生成 serialVersionUID 的设置
- SWIFT学习笔记02
- 概率图模型(PGM)学习笔记(二)贝叶斯网络-语义学与因子分解
- MySQL6天笔记——day04
- android学习笔记一
- Arduino学习笔记27
- Python量化交易学习笔记(十四)demo52——程序化交易,交易时间段内自动买入跟踪股票