学习率(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)”或“学习率搜索”快速找合适值。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐