深度学习的学习率
在梯度下降算法中,权重更新公式是这样的:θ:模型参数。
·
“学习率(learning rate)”是深度学习中最重要的超参数之一,它决定了模型参数每次更新的步长,直接影响训练的速度和效果。我们来分开讲一下:
1. 什么是学习率
在梯度下降算法中,权重更新公式是这样的:
θnew=θold−η⋅∇L(θ)
-
θ:模型参数
-
η:学习率(learning rate)
-
∇L(θ):损失函数的梯度
这里的 η 就是学习率,它控制着模型在每一步训练中沿着梯度方向前进的幅度。
2. 学习率太大 or 太小会怎样
| 学习率大小 | 影响 |
|---|---|
| 太大 | 梯度更新步子太大,可能会跳过最优解甚至发散,损失震荡无法收敛。 |
| 太小 | 更新步子太小,训练会非常慢,容易陷入局部最优或者过早停滞。 |
⚠ 直观理解:
-
学习率 大 = 每次跳很远,可能直接跳过山谷。
-
学习率 小 = 每次移动一点点,慢慢滑向低谷。
3. 常见解决方案
(1) 学习率衰减(Learning Rate Decay)
训练过程中逐渐减小学习率。
例如:ηt=η0/(1+k⋅t)
这样前期快收敛,后期细调。
(2) 自适应学习率算法
-
经典优化器(优化算法)会自动调整学习率:
-
Adam:根据历史梯度自适应调整每个参数的学习率
-
RMSProp / Adagrad:适合稀疏梯度
-
SGD + momentum:带动量的随机梯度下降,收敛更
(3) 循环调节(Cyclical LR)
-
让学习率在一个范围内循环变化,有助于跳出局部最优。
-
4. 如何选学习率
经验值:
-
通常 0.001 ~ 0.1 是常见范围
-
Adam 默认 0.001
-
SGD 默认 0.01
-
做实验:
-
用“学习率预热(learning rate warm-up)”或“学习率搜索”快速找合适值。
更多推荐
所有评论(0)