梯度下降算步长选择
ViperEkura Lv1

1. 梯度下降更新规则

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

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

为简化记号,令 ,则更新规则变为:


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

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


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

代入上式:


4. Lipschitz 连续性假设

假设:存在常数 ,使得对任意 有:

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


5. Hessian 矩阵简介

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

Lipschitz 常数 控制 Hessian 的最大曲率:对任意向量 ,有


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

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

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

其中 位于 之间。


6.2 应用 Lipschitz 条件控制二次型

由 Lipschitz 条件,,代入得:

这就是最终的不等式。


7. 步长上限推导

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

结论:步长必须小于


8. 最优步长推导

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

令导数为零:

最大值:

结论:最优步长为 ,此时每一步损失至少下降


9. 总结表

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

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

 REWARD AUTHOR