梯度下降算步长选择
ViperEkura Lv1

1. 梯度下降更新规则

梯度下降的基本更新公式:


θnew = θold − ηL(θold)

其中: - θ:模型参数 - L(θ):损失函数 - L(θold):梯度(一阶导数) - η:学习率(步长)

为简化记号,令 g = ∇L(θold),则更新规则变为:


θnew = θold − ηg


2. 用中值定理表示损失函数的变化

多变量中值定理:存在 ξ 位于 θoldθnew 之间,使得:


L(θnew) = L(θold) + ∇L(ξ) ⋅ (θnew − θold)


3. 代入梯度下降的更新量

θnew − θold =  − ηg 代入上式:




4. Lipschitz 连续性假设

假设:存在常数 L > 0,使得对任意 x, y 有:


∥∇L(x) − ∇L(y)∥ ≤ Lx − y

这个条件等价于 Hessian 矩阵的最大特征值  ≤ L


5. Hessian 矩阵简介

Hessian 矩阵 H(θ) 是损失函数对参数向量的二阶偏导数矩阵:



Lipschitz 常数 L 控制 Hessian 的最大曲率:对任意向量 v,有 vH(θ)v ≤ Lv2


6. 利用二阶泰勒展开推导下降不等式

6.1 二阶泰勒展开(拉格朗日余项)

θold 处对 L 展开到二阶,精确等式为:



其中 ξ 位于 θoldθnew 之间。




6.2 应用 Lipschitz 条件控制二次型

由 Lipschitz 条件,gH(ξ)g ≤ Lg2,代入得:



这就是最终的不等式。


7. 步长上限推导

为了保证损失函数一定下降,需要 。因为 η > 0,等价于:



结论:步长必须小于 2/L


8. 最优步长推导

我们希望最大化每一步的下降量,即最大化系数



令导数为零:



最大值:



结论:最优步长为 η = 1/L,此时每一步损失至少下降


9. 总结表

概念 公式 含义
Lipschitz 常数 L 梯度的最大变化速率
步长上限 η < 2/L 超过此值可能发散
最优步长 η = 1/L 理论最快收敛步长
最小下降量 每一步至少下降这么多

实际建议: - 已知 L 则直接用 η = 1/L - 未知 L 则从小学习率开始尝试(0.001, 0.01, 0.1 等) - 自适应学习率方法(Adam、RMSprop)可自动调整

 REWARD AUTHOR