更新于 2026年8月21日

学习率#


术语解释#

在深度学习和机器学习的优化过程中,学习率(Learning Rate)是一个至关重要的超参数。 学习率(通常用 $\alpha$ 或 lr 表示)是优化算法(如梯度下降)中的一个步长(Step Size)参数 。 在更新模型权重 $W$ 时,学习率决定了参数沿着梯度反方向移动的幅度大小,其经典的更新公式为:

$$ W = W - \alpha \cdot \frac{\partial J}{\partial W} $$

其中 $\frac{\partial J}{\partial W}$ 是目标函数关于参数的梯度。

学习率属于超参数,这意味着它不能通过数据集训练自动得到,必须由开发者手动设置,其取值直接影响模型的最终效果和收敛速度。

出现动机#

学习率的引入主要是为了在优化过程中平衡收敛速度与稳定性:

  • 控制下降的“步幅”: 优化过程可以类比为一个人试图跳向山谷底部(目标函数最小值)。如果没有学习率(或者学习率固定为 1),模型可能会因为单次更新步子迈得太大而直接跳过谷底。

  • 防止目标函数发散: 如果学习率设置得过大,目标函数在优化过程中可能会在峡谷两边来回震荡,甚至进入发散状态,导致永远无法找到最优解。

同样迭代次数但使用不同学习率时模型的收敛情况
同样迭代次数但使用不同学习率时模型的收敛情况
  • 加速模型收敛: 合适的学习率可以显著加快收敛过程。较小的学习率虽然稳健,但会导致模型更新非常缓慢,需要极多次迭代才能到达最优解附近。

影响#

  • 过大:会导致训练不稳定,损失函数剧烈震荡甚至发散。

  • 过小:会导致训练速度极慢,且容易陷入局部的平坦区域(梯度接近 0),使参数无法得到有效更新。

因此,在实际训练中,开发者往往会使用学习率调度器(Scheduler),让学习率在训练初期较大(Warmup阶段)以加速探索,在后期逐渐减小以实现精确收敛。

阅读 --