梯度下降法是连续优化中最基本、最重要的一阶算法。它的思想朴素而自然:沿目标函数下降最快的方向迭代前进,逐步逼近最优解。然而,“下降最快的方向”只解决了方向问题,每一步走多远——即步长的选取——同样至关重要。步长过大可能导致函数值上升,步长过小则使迭代停滞不前。
3.1 迭代优化的一般框架与梯度下降# 3.1.1 迭代算法的一般步骤# 任何迭代优化算法都遵循相同的框架:
输入 :初始点 x 0 x^0 x 0 ,停机精度 ε \varepsilon ε ,迭代计数 k = 0 k = 0 k = 0
判断停机 :若停机准则满足(如 ∥ ∇ f ( x k ) ∥ < ε \|\nabla f(x^k)\| < \varepsilon ∥∇ f ( x k ) ∥ < ε ),输出 x k x^k x k 并停止
确定下降方向 :在 x k x^k x k 处找一个下降方向 d k d_k d k
确定步长 :选取步长 α k > 0 \alpha_k > 0 α k > 0 ,使得 f ( x k + α k d k ) < f ( x k ) f(x^k + \alpha_k d_k) < f(x^k) f ( x k + α k d k ) < f ( x k ) (通过线搜索)
更新 :x k + 1 = x k + α k d k x^{k+1} = x^k + \alpha_k d_k x k + 1 = x k + α k d k ,k ← k + 1 k \leftarrow k + 1 k ← k + 1 ,返回第 2 步
其中下降方向 有严格的定义:d d d 是 f f f 在 x x x 处的下降方向,若存在 t ˉ > 0 \bar{t} > 0 t ˉ > 0 ,使得对所有 t ∈ ( 0 , t ˉ ) t \in (0, \bar{t}) t ∈ ( 0 , t ˉ ) ,f ( x + t d ) < f ( x ) f(x + td) < f(x) f ( x + t d ) < f ( x ) 。对可微函数,d d d 是下降方向的充分条件为 ∇ f ( x ) ⊤ d < 0 \nabla f(x)^\top d < 0 ∇ f ( x ) ⊤ d < 0 ,即 d d d 与梯度的夹角大于 90 ° 90° 90° 。这个条件的几何含义是:d d d 在负梯度方向上有正的投影分量,沿 d d d 移动足够小的步长后函数值必然下降。
不同算法的区别在于第 3、4 步的具体策略:梯度下降取 d k = − ∇ f ( x k ) d_k = -\nabla f(x^k) d k = − ∇ f ( x k ) (最简单的选择),共轭梯度法取 d k d_k d k 为负梯度的共轭修正方向,牛顿法取 d k = − [ ∇ 2 f ( x k ) ] − 1 ∇ f ( x k ) d_k = -[\nabla^2 f(x^k)]^{-1}\nabla f(x^k) d k = − [ ∇ 2 f ( x k ) ] − 1 ∇ f ( x k ) (利用二阶信息)。本章聚焦于梯度下降。
3.1.2 L L L -光滑性:Lipschitz 连续梯度# 在分析梯度下降的收敛性之前,需要对目标函数的”弯曲程度”做出量化约束。这由 L L L -光滑性给出,它是本章乃至全书最频繁使用的正则性条件。
定义(L L L -光滑性). 设可微函数 f : R n → R f: \mathbb{R}^n \to \mathbb{R} f : R n → R ,若存在常数 L > 0 L > 0 L > 0 ,使得对任意 x , y ∈ R n x, y \in \mathbb{R}^n x , y ∈ R n ,
∥ ∇ f ( x ) − ∇ f ( y ) ∥ ≤ L ∥ x − y ∥ \|\nabla f(x) - \nabla f(y)\| \leq L\|x - y\| ∥∇ f ( x ) − ∇ f ( y ) ∥ ≤ L ∥ x − y ∥ 则称 f f f 的梯度是 Lipschitz 连续 的(Lipschitz 常数为 L L L ),也称 f f f 是 L L L -光滑 的。
L L L -光滑性对函数施加了一个全局约束:梯度的变化速率不超过 L L L 。常数 L L L 衡量的是梯度变化的剧烈程度——L L L 越大,梯度在相邻两点之间的差异越大,函数的”弯曲”就越厉害。对于二次函数 f ( x ) = 1 2 x ⊤ A x f(x) = \frac{1}{2}x^\top A x f ( x ) = 2 1 x ⊤ A x ,L L L 恰好等于 A A A 的最大特征值 λ max ( A ) \lambda_{\max}(A) λ m a x ( A ) ,这直接反映了函数沿曲率最大方向的弯曲程度。
L L L -光滑性有三个重要的等价刻画(当 f f f 额外为凸时):
(1) 梯度 Lipschitz 连续(常数 L L L );
(2) 函数 g ( x ) = L 2 x ⊤ x − f ( x ) g(x) = \frac{L}{2}x^\top x - f(x) g ( x ) = 2 L x ⊤ x − f ( x ) 是凸函数——这等价于 f ( x ) f(x) f ( x ) 的增长不超过二次函数 L 2 ∥ x ∥ 2 \frac{L}{2}\|x\|^2 2 L ∥ x ∥ 2 ;
(3) 梯度算子是余强制 (cocoercive)的:对任意 x , y x, y x , y ,
( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) ≥ 1 L ∥ ∇ f ( x ) − ∇ f ( y ) ∥ 2 (\nabla f(x) - \nabla f(y))^\top(x - y) \geq \frac{1}{L}\|\nabla f(x) - \nabla f(y)\|^2 ( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) ≥ L 1 ∥∇ f ( x ) − ∇ f ( y ) ∥ 2 这三个等价条件将在 3.5.1 节中正式陈述并用于证明。此处先给出直觉:条件 (2) 说 L L L -光滑性本质上是一个”函数弯曲程度的上界”——函数被 L 2 ∥ x ∥ 2 \frac{L}{2}\|x\|^2 2 L ∥ x ∥ 2 这个二次函数”压住”,不能弯曲得太厉害。条件 (3) 比梯度的单调性更强:不仅梯度差与自变量差的内积非负,还被梯度差的范数平方所下界。
L L L 对算法设计的直接影响在于:L L L 越大,函数越”难以预测”——一阶泰勒近似的有效范围越小,梯度下降每一步能安全走的距离就越短,步长上界越小。后面的分析将精确给出步长必须满足 α k < 2 / L \alpha_k < 2/L α k < 2/ L ,最优步长为 1 / L 1/L 1/ L 。
L L L -光滑性的一个直接推论是二次上界 :对任意 x , y x, y x , y ,
f ( y ) ≤ f ( x ) + ∇ f ( x ) ⊤ ( y − x ) + L 2 ∥ y − x ∥ 2 f(y) \leq f(x) + \nabla f(x)^\top(y - x) + \frac{L}{2}\|y - x\|^2 f ( y ) ≤ f ( x ) + ∇ f ( x ) ⊤ ( y − x ) + 2 L ∥ y − x ∥ 2 这正是下降引理的内容(3.3 节将给出完整证明)。二次上界进一步蕴含了梯度范数对函数值差的控制 :若 f f f 存在全局极小点 x ∗ x^* x ∗ ,在上式中对 y y y 取下确界,取 y = x − 1 L ∇ f ( x ) y = x - \frac{1}{L}\nabla f(x) y = x − L 1 ∇ f ( x ) 时右端达到最小,得到
f ( x ∗ ) ≤ f ( x ) − 1 2 L ∥ ∇ f ( x ) ∥ 2 f(x^*) \leq f(x) - \frac{1}{2L}\|\nabla f(x)\|^2 f ( x ∗ ) ≤ f ( x ) − 2 L 1 ∥∇ f ( x ) ∥ 2 即 f ( x ) − f ( x ∗ ) ≥ 1 2 L ∥ ∇ f ( x ) ∥ 2 f(x) - f(x^*) \geq \frac{1}{2L}\|\nabla f(x)\|^2 f ( x ) − f ( x ∗ ) ≥ 2 L 1 ∥∇ f ( x ) ∥ 2 。这个不等式在收敛性分析中反复出现:它将梯度范数(算法可计算的量)与函数值差(我们关心的量)联系起来。
3.1.3 梯度下降算法# 在一般框架中取 d k = − ∇ f ( x k ) d_k = -\nabla f(x^k) d k = − ∇ f ( x k ) (负梯度方向)时,迭代格式变为梯度下降算法 (Gradient Descent):
x k + 1 = x k − α k ∇ f ( x k ) x^{k+1} = x^k - \alpha_k \nabla f(x^k) x k + 1 = x k − α k ∇ f ( x k ) 负梯度方向是局部下降最快的方向,这一点可由一阶泰勒展开看出:在 ∥ d ∥ = 1 \|d\| = 1 ∥ d ∥ = 1 的约束下,f ( x + ϵ d ) ≈ f ( x ) + ϵ ∇ f ( x ) ⊤ d f(x + \epsilon d) \approx f(x) + \epsilon \nabla f(x)^\top d f ( x + ϵ d ) ≈ f ( x ) + ϵ ∇ f ( x ) ⊤ d 的下降量 − ∇ f ( x ) ⊤ d -\nabla f(x)^\top d − ∇ f ( x ) ⊤ d 在 d = − ∇ f ( x ) / ∥ ∇ f ( x ) ∥ d = -\nabla f(x)/\|\nabla f(x)\| d = − ∇ f ( x ) /∥∇ f ( x ) ∥ 时取最大值。
梯度下降的核心任务是分析该算法在不同函数类上的收敛性 与收敛速度 ,而这需要对步长 α k \alpha_k α k 的选取策略做出恰当的规定。
步长 α k \alpha_k α k 的选取是梯度下降中最微妙的问题。一个极端是取固定步长 α k = 1 / L \alpha_k = 1/L α k = 1/ L ,优点是不需要额外计算,但要求事先知道 L L L 的值。另一个极端是精确线搜索,每步都求解一维优化问题来获取最优步长,代价高但步长最优。实际中最常用的折中方案是非精确线搜索(如回退法配合 Armijo 准则),不需要知道 L L L ,每步只需几次函数求值。
3.2 线搜索与步长选取# 每一步迭代确定了下降方向 d k d_k d k 之后,步长 α k \alpha_k α k 的选取直接决定算法的性能。选取步长的过程称为线搜索 (line search):由于 x k x^k x k 和 d k d_k d k 已固定,f ( x k + α d k ) f(x^k + \alpha d_k) f ( x k + α d k ) 是关于 α \alpha α 的一元函数,步长选取就是在一条射线上搜索合适的点。
3.2.1 精确线搜索与最速下降法# 最理想的做法是求解一维优化问题:
α k = arg min α > 0 f ( x k + α d k ) \alpha_k = \arg\min_{\alpha > 0} f(x^k + \alpha\, d_k) α k = arg α > 0 min f ( x k + α d k ) 这称为精确线搜索 。当下降方向取 d k = − ∇ f ( x k ) d_k = -\nabla f(x^k) d k = − ∇ f ( x k ) 时,精确线搜索配合负梯度方向构成最速下降法 (Steepest Descent)。
最速下降法有一个有趣的性质:相邻两步的下降方向互相垂直 。证明如下:对 ϕ ( α ) = f ( x k + α d k ) \phi(\alpha) = f(x^k + \alpha d_k) ϕ ( α ) = f ( x k + α d k ) 求导并令其为零,由精确线搜索的最优性条件得
ϕ ′ ( α k ) = ∇ f ( x k + 1 ) ⊤ d k = 0 \phi'(\alpha_k) = \nabla f(x^{k+1})^\top d_k = 0 ϕ ′ ( α k ) = ∇ f ( x k + 1 ) ⊤ d k = 0 即 ∇ f ( x k + 1 ) ⊤ ∇ f ( x k ) = 0 \nabla f(x^{k+1})^\top \nabla f(x^k) = 0 ∇ f ( x k + 1 ) ⊤ ∇ f ( x k ) = 0 ,故 d k + 1 ⊥ d k d_{k+1} \perp d_k d k + 1 ⊥ d k 。
这一正交性导致了锯齿现象 :迭代轨迹呈锯齿形,初期远离最优点时下降很快,接近最优点后锯齿越来越密集、步长越来越小,收敛变慢。
以二次函数 f ( x , y ) = x 2 + 10 y 2 f(x, y) = x^2 + 10y^2 f ( x , y ) = x 2 + 10 y 2 为例,最速下降法的迭代轨迹会在椭圆等高线之间来回折返。等高线越扁(条件数越大),锯齿越密集,收敛越慢。
对于正定二次函数 f ( x ) = 1 2 x ⊤ A x − b ⊤ x f(x) = \frac{1}{2}x^\top A x - b^\top x f ( x ) = 2 1 x ⊤ A x − b ⊤ x ,可以精确推导最速下降法的收敛率。梯度为 ∇ f ( x ) = A x − b \nabla f(x) = Ax - b ∇ f ( x ) = A x − b ,精确线搜索的步长通过 d d α f ( x k − α ∇ f ( x k ) ) = 0 \frac{d}{d\alpha}f(x^k - \alpha \nabla f(x^k)) = 0 d α d f ( x k − α ∇ f ( x k )) = 0 求得:
α k = ∥ ∇ f ( x k ) ∥ 2 ∇ f ( x k ) ⊤ A ∇ f ( x k ) \alpha_k = \frac{\|\nabla f(x^k)\|^2}{\nabla f(x^k)^\top A\, \nabla f(x^k)} α k = ∇ f ( x k ) ⊤ A ∇ f ( x k ) ∥∇ f ( x k ) ∥ 2 记误差向量 e k = x k − x ∗ e^k = x^k - x^* e k = x k − x ∗ ,则 ∇ f ( x k ) = A e k \nabla f(x^k) = Ae^k ∇ f ( x k ) = A e k ,迭代格式变为 e k + 1 = ( I − α k A ) e k e^{k+1} = (I - \alpha_k A)e^k e k + 1 = ( I − α k A ) e k 。在 A A A -范数 ∥ x ∥ A = x ⊤ A x \|x\|_A = \sqrt{x^\top Ax} ∥ x ∥ A = x ⊤ A x 下,
∥ e k + 1 ∥ A 2 = e k ⊤ ( I − α k A ) A ( I − α k A ) e k \|e^{k+1}\|_A^2 = e^{k\top}(I - \alpha_k A) A (I - \alpha_k A) e^k ∥ e k + 1 ∥ A 2 = e k ⊤ ( I − α k A ) A ( I − α k A ) e k 将 e k e^k e k 展开到 A A A 的特征基 { v i } \{v_i\} { v i } 下,e k = ∑ i c i v i e^k = \sum_i c_i v_i e k = ∑ i c i v i ,代入 α k \alpha_k α k 的表达式并化简,可以证明
∥ e k + 1 ∥ A 2 ∥ e k ∥ A 2 ≤ max α > 0 max i ( 1 − α λ i ) 2 = ( λ 1 − λ n λ 1 + λ n ) 2 \frac{\|e^{k+1}\|_A^2}{\|e^k\|_A^2} \leq \max_{\alpha > 0}\, \max_i (1 - \alpha\lambda_i)^2 = \left(\frac{\lambda_1 - \lambda_n}{\lambda_1 + \lambda_n}\right)^2 ∥ e k ∥ A 2 ∥ e k + 1 ∥ A 2 ≤ α > 0 max i max ( 1 − α λ i ) 2 = ( λ 1 + λ n λ 1 − λ n ) 2 其中 λ 1 , λ n \lambda_1, \lambda_n λ 1 , λ n 分别是 A A A 的最大、最小特征值。最后一个等号成立的原因是:对固定的 α \alpha α ,( 1 − α λ ) 2 (1 - \alpha\lambda)^2 ( 1 − α λ ) 2 在 λ = λ n \lambda = \lambda_n λ = λ n 和 λ = λ 1 \lambda = \lambda_1 λ = λ 1 处取极值,选取使二者绝对值相等的 α = 2 / ( λ 1 + λ n ) \alpha = 2/(\lambda_1 + \lambda_n) α = 2/ ( λ 1 + λ n ) 即得到上述最坏情形公比。条件数 κ = λ 1 / λ n \kappa = \lambda_1/\lambda_n κ = λ 1 / λ n 越大,公比 ( κ − 1 κ + 1 ) 2 \left(\frac{\kappa - 1}{\kappa + 1}\right)^2 ( κ + 1 κ − 1 ) 2 越接近 1 1 1 ,收敛越慢。
锯齿现象是最速下降法的固有缺陷,也是促使人们寻找更好步长策略(如 Barzilai-Borwein 方法)或更好搜索方向(如共轭梯度法、牛顿法)的动因。
3.2.2 非精确线搜索# 精确线搜索每步都要求解一维优化问题,计算代价高。实际中更常用非精确线搜索 ——只要求步长满足两个基本要求:
保下降 :f ( x k + 1 ) < f ( x k ) f(x^{k+1}) < f(x^k) f ( x k + 1 ) < f ( x k )
不太小 :步长不能趋于零(否则算法不前进)
满足这两个要求的经典准则有 Armijo 准则、Goldstein 准则和 Wolfe 准则,其中 Armijo 准则 和 Wolfe 准则 最为常用。
3.2.3 Armijo 准则# 若 d k d_k d k 是 x k x^k x k 处的下降方向,步长 α \alpha α 满足 Armijo 条件 :
f ( x k + α d k ) ≤ f ( x k ) + c 1 α ∇ f ( x k ) ⊤ d k , c 1 ∈ ( 0 , 1 ) f(x^k + \alpha\, d_k) \leq f(x^k) + c_1\,\alpha\,\nabla f(x^k)^\top d_k, \quad c_1 \in (0, 1) f ( x k + α d k ) ≤ f ( x k ) + c 1 α ∇ f ( x k ) ⊤ d k , c 1 ∈ ( 0 , 1 ) 右端的几何含义是一条过 ( 0 , f ( x k ) ) (0, f(x^k)) ( 0 , f ( x k )) 的直线,斜率为 c 1 ∇ f ( x k ) ⊤ d k c_1\,\nabla f(x^k)^\top d_k c 1 ∇ f ( x k ) ⊤ d k 。由于 d k d_k d k 是下降方向,∇ f ( x k ) ⊤ d k < 0 \nabla f(x^k)^\top d_k < 0 ∇ f ( x k ) ⊤ d k < 0 ,因此右端第二项为负,Armijo 条件保证了函数值的严格下降:f ( x k + α d k ) ≤ f ( x k ) + 负数 < f ( x k ) f(x^k + \alpha d_k) \leq f(x^k) + \text{负数} < f(x^k) f ( x k + α d k ) ≤ f ( x k ) + 负数 < f ( x k ) 。
参数 c 1 c_1 c 1 控制了下降的充分程度。c 1 c_1 c 1 越接近 0 0 0 ,条件越宽松;c 1 c_1 c 1 越接近 1 1 1 ,要求的下降量越接近线性近似预测的下降量。实际中常取 c 1 = 10 − 4 c_1 = 10^{-4} c 1 = 1 0 − 4 一类的小值。
Armijo 准则的一个缺陷是 α = 0 \alpha = 0 α = 0 总满足条件,因此仅靠 Armijo 准则无法排除步长过小的情况。需要配合回退法(取最小 m k m_k m k )或其他准则(如 Wolfe 的曲率条件)来保证步长不会退化为零。
仅使用 Armijo 准则而不加保护会导致算法失败的例子并不难构造。考虑一维问题 f ( x ) = x 2 f(x) = x^2 f ( x ) = x 2 ,若选取 α k \alpha_k α k 使得迭代点交替为 x k = ( − 1 ) k / k x^k = (-1)^k / k x k = ( − 1 ) k / k ,函数值 f ( x k ) = 1 / k 2 f(x^k) = 1/k^2 f ( x k ) = 1/ k 2 确实单调下降且满足 Armijo 条件,但迭代点在原点两侧振荡,不收敛到极小点。这说明”函数值下降”本身不足以保证收敛,还需要步长不能太小。
3.2.4 Wolfe 准则# Wolfe 准则 在 Armijo 条件的基础上增加了一个曲率条件 ,用于排除步长过小的情况。步长 α \alpha α 满足 Wolfe 准则,若同时满足:
f ( x k + α d k ) ≤ f ( x k ) + c 1 α ∇ f ( x k ) ⊤ d k (充分下降条件) f(x^k + \alpha\, d_k) \leq f(x^k) + c_1\,\alpha\,\nabla f(x^k)^\top d_k \tag{充分下降条件} f ( x k + α d k ) ≤ f ( x k ) + c 1 α ∇ f ( x k ) ⊤ d k ( 充分下降条件 ) ∇ f ( x k + α d k ) ⊤ d k ≥ c 2 ∇ f ( x k ) ⊤ d k (曲率条件) \nabla f(x^k + \alpha\, d_k)^\top d_k \geq c_2\,\nabla f(x^k)^\top d_k \tag{曲率条件} ∇ f ( x k + α d k ) ⊤ d k ≥ c 2 ∇ f ( x k ) ⊤ d k ( 曲率条件 ) 其中 c 1 , c 2 ∈ ( 0 , 1 ) c_1, c_2 \in (0, 1) c 1 , c 2 ∈ ( 0 , 1 ) 且 c 1 < c 2 c_1 < c_2 c 1 < c 2 。实际中常取 c 1 = 10 − 4 c_1 = 10^{-4} c 1 = 1 0 − 4 ,c 2 = 0.9 c_2 = 0.9 c 2 = 0.9 。
第一个条件就是 Armijo 条件。第二个条件的含义是:记 ϕ ( α ) = f ( x k + α d k ) \phi(\alpha) = f(x^k + \alpha d_k) ϕ ( α ) = f ( x k + α d k ) ,则 ϕ ′ ( α ) = ∇ f ( x k + α d k ) ⊤ d k \phi'(\alpha) = \nabla f(x^k + \alpha d_k)^\top d_k ϕ ′ ( α ) = ∇ f ( x k + α d k ) ⊤ d k ,曲率条件要求 ϕ ′ ( α ) ≥ c 2 ϕ ′ ( 0 ) \phi'(\alpha) \geq c_2 \phi'(0) ϕ ′ ( α ) ≥ c 2 ϕ ′ ( 0 ) 。由于 ϕ ′ ( 0 ) < 0 \phi'(0) < 0 ϕ ′ ( 0 ) < 0 (下降方向),曲率条件要求 ϕ \phi ϕ 在 α \alpha α 处的斜率不能太负——换言之,函数在该点处不能还在急剧下降,否则说明步长还可以更大。
Wolfe 准则与 Armijo 准则的区别在于:Armijo 只管”步长不能太大”(函数值要充分下降),Wolfe 还管”步长不能太小”(曲率条件排除了函数还在快速下降的点)。精确线搜索的最优步长 α ∗ \alpha^* α ∗ 处 ϕ ′ ( α ∗ ) = 0 \phi'(\alpha^*) = 0 ϕ ′ ( α ∗ ) = 0 ,总是满足曲率条件,因此 Wolfe 准则在大多数情况下包含精确线搜索的解。
在拟牛顿法(BFGS、L-BFGS)等算法中,Wolfe 准则是必需的——这些算法依赖曲率条件来保证 Hessian 近似矩阵的正定性。Wolfe 准则也是 Zoutendijk 定理的前提条件:该定理保证在梯度 Lipschitz 连续的下有界函数上,满足 Wolfe 准则的线搜索算法必然有 ∑ k = 0 ∞ cos 2 θ k ∥ ∇ f ( x k ) ∥ 2 < + ∞ \sum_{k=0}^{\infty}\cos^2\theta_k\|\nabla f(x^k)\|^2 < +\infty ∑ k = 0 ∞ cos 2 θ k ∥∇ f ( x k ) ∥ 2 < + ∞ (其中 θ k \theta_k θ k 为下降方向与负梯度的夹角),进而当 θ k \theta_k θ k 有远离 π / 2 \pi/2 π /2 的一致下界时,∇ f ( x k ) → 0 \nabla f(x^k) \to 0 ∇ f ( x k ) → 0 。
Armijo vs Wolfe 小结. Armijo 准则实现简单(配合回退法即可),足以保证梯度下降的收敛性,是本章分析的默认步长策略。Wolfe 准则条件更强,保证精确线搜索解被包含,是拟牛顿法等高阶方法的标配。在读论文时遇到”步长满足 Wolfe 条件”的假设,可以理解为”步长既不太大也不太小”。
3.2.5 回退法(Backtracking)# 回退法 是寻找满足 Armijo 准则步长的标准算法。设 α k = β ⋅ γ m k \alpha_k = \beta \cdot \gamma^{m_k} α k = β ⋅ γ m k ,其中 β > 0 \beta > 0 β > 0 为初始步长,γ ∈ ( 0 , 1 ) \gamma \in (0, 1) γ ∈ ( 0 , 1 ) 为缩减因子。
算法流程:从 m k = 0 m_k = 0 m k = 0 (即 α = β \alpha = \beta α = β )开始,逐步增大 m k m_k m k (即逐步缩小 α \alpha α ),直到找到最小正整数 m k m_k m k 使 Armijo 条件成立。
回退法同时满足了”保下降”和”不太小”两个要求:Armijo 条件保证下降,取最小正整数 m k m_k m k 保证步长不会被不必要地缩小——一旦满足条件就立即停止回退。
回退法的局限在于它无法保证找到满足 Wolfe 准则的步长,因为曲率条件 ϕ ′ ( α ) ≥ c 2 ϕ ′ ( 0 ) \phi'(\alpha) \geq c_2\phi'(0) ϕ ′ ( α ) ≥ c 2 ϕ ′ ( 0 ) 不一定在回退过程中被满足。需要 Wolfe 步长时,需使用更复杂的线搜索算法(如 Fletcher 的 zoom 算法),该算法在满足 Armijo 条件的区间内进一步搜索满足曲率条件的点。
回退法的另一个实际问题是对初始步长 β \beta β 和缩减因子 γ \gamma γ 的敏感性。γ \gamma γ 过大(如 0.9 0.9 0.9 )时每次缩减幅度小,需要多次试探;γ \gamma γ 过小(如 0.1 0.1 0.1 )时可能跳过较好的步长。一种改进是基于多项式插值的线搜索:利用已知的函数值和梯度信息构造二次插值函数,用其极小点作为下一个试探步长,比指数缩减更高效。
至此,梯度下降的算法框架和步长选取策略已经完整。接下来转向收敛性分析:梯度下降在什么条件下收敛?收敛有多快?回答这些问题的核心工具是下降引理 。
3.3 下降引理# 下降引理(Descent Lemma)是最优化理论中最经典、最常用的基础工具之一,在算法收敛性分析和论文推导中几乎无处不在。它的核心思想可以一句话概括:L L L -光滑函数可以被一个二次函数从上方控制 。换言之,函数值与其一阶泰勒近似的偏差不超过 L 2 ∥ y − x ∥ 2 \frac{L}{2}\|y - x\|^2 2 L ∥ y − x ∥ 2 。
3.3.1 引理陈述# 引理(下降引理). 设 f : R n → R f: \mathbb{R}^n \to \mathbb{R} f : R n → R 是 L L L -光滑函数(即连续可微且梯度 L L L -Lipschitz 连续),则对任意 x , y ∈ R n x, y \in \mathbb{R}^n x , y ∈ R n ,有
∣ f ( y ) − f ( x ) − ∇ f ( x ) ⊤ ( y − x ) ∣ ≤ L 2 ∥ y − x ∥ 2 \left| f(y) - f(x) - \nabla f(x)^\top (y - x) \right| \leq \frac{L}{2} \|y - x\|^2 f ( y ) − f ( x ) − ∇ f ( x ) ⊤ ( y − x ) ≤ 2 L ∥ y − x ∥ 2 等价地,去掉绝对值后有上界形式(最常用的形式):
f ( y ) ≤ f ( x ) + ∇ f ( x ) ⊤ ( y − x ) + L 2 ∥ y − x ∥ 2 f(y) \leq f(x) + \nabla f(x)^\top(y - x) + \frac{L}{2}\|y - x\|^2 f ( y ) ≤ f ( x ) + ∇ f ( x ) ⊤ ( y − x ) + 2 L ∥ y − x ∥ 2 这个不等式与泰勒展开的关系非常直接。回忆函数 f f f 在 x x x 处的一阶泰勒展开为 f ( y ) ≈ f ( x ) + ∇ f ( x ) ⊤ ( y − x ) f(y) \approx f(x) + \nabla f(x)^\top(y - x) f ( y ) ≈ f ( x ) + ∇ f ( x ) ⊤ ( y − x ) ,余项是 f ( y ) − f ( x ) − ∇ f ( x ) ⊤ ( y − x ) f(y) - f(x) - \nabla f(x)^\top(y-x) f ( y ) − f ( x ) − ∇ f ( x ) ⊤ ( y − x ) 。对于二阶可微的函数,余项等于 1 2 ( y − x ) ⊤ ∇ 2 f ( ξ ) ( y − x ) \frac{1}{2}(y-x)^\top \nabla^2 f(\xi)(y-x) 2 1 ( y − x ) ⊤ ∇ 2 f ( ξ ) ( y − x ) ,其大小取决于 Hessian 矩阵。下降引理的意义在于:即使不假设二阶可微,只要梯度 Lipschitz 连续,余项就可以被 L 2 ∥ y − x ∥ 2 \frac{L}{2}\|y-x\|^2 2 L ∥ y − x ∥ 2 统一控制。因此,L L L -光滑函数在每一点都被一个开口为 L L L 的二次函数从上方”罩住”。
当 f f f 额外满足凸性时,由一阶条件 f ( y ) ≥ f ( x ) + ∇ f ( x ) ⊤ ( y − x ) f(y) \geq f(x) + \nabla f(x)^\top(y-x) f ( y ) ≥ f ( x ) + ∇ f ( x ) ⊤ ( y − x ) ,下降引理给出双侧夹逼:
0 ≤ f ( y ) − f ( x ) − ∇ f ( x ) ⊤ ( y − x ) ≤ L 2 ∥ y − x ∥ 2 0 \leq f(y) - f(x) - \nabla f(x)^\top(y-x) \leq \frac{L}{2}\|y-x\|^2 0 ≤ f ( y ) − f ( x ) − ∇ f ( x ) ⊤ ( y − x ) ≤ 2 L ∥ y − x ∥ 2 左侧不等式来自凸性(二次下界),右侧来自 L L L -光滑性(二次上界)。凸性提供下界,光滑性提供上界——两者互补,共同刻画了函数值与线性近似之间的精确偏差范围。
用更直观的方式理解:f ( y ) f(y) f ( y ) 的值被夹在两个二次函数之间。下方的二次函数是 f ( x ) + ∇ f ( x ) ⊤ ( y − x ) f(x) + \nabla f(x)^\top(y-x) f ( x ) + ∇ f ( x ) ⊤ ( y − x ) (一阶泰勒近似,即切平面),上方的是 f ( x ) + ∇ f ( x ) ⊤ ( y − x ) + L 2 ∥ y − x ∥ 2 f(x) + \nabla f(x)^\top(y-x) + \frac{L}{2}\|y-x\|^2 f ( x ) + ∇ f ( x ) ⊤ ( y − x ) + 2 L ∥ y − x ∥ 2 (切平面加一个开口为 L L L 的抛物面)。L L L 越小,两个二次函数越贴近,对函数值的定位越精确。这就是为什么 L L L 小的函数”更好优化”——每一步的线性近似质量更高,可以走更大的步长。
3.3.2 证明# 证明的核心思路是构造辅助函数 + 积分 + Lipschitz 条件放缩 。
第一步:构造辅助函数并积分。 定义
g ( t ) = f ( x + t ( y − x ) ) , t ∈ [ 0 , 1 ] g(t) = f(x + t(y - x)), \quad t \in [0, 1] g ( t ) = f ( x + t ( y − x )) , t ∈ [ 0 , 1 ] 其关键性质为:g ( 0 ) = f ( x ) g(0) = f(x) g ( 0 ) = f ( x ) ,g ( 1 ) = f ( y ) g(1) = f(y) g ( 1 ) = f ( y ) ,g ′ ( t ) = ∇ f ( x + t ( y − x ) ) ⊤ ( y − x ) g'(t) = \nabla f(x + t(y-x))^\top (y - x) g ′ ( t ) = ∇ f ( x + t ( y − x ) ) ⊤ ( y − x ) 。由微积分基本定理:
f ( y ) − f ( x ) = g ( 1 ) − g ( 0 ) = ∫ 0 1 g ′ ( t ) d t = ∫ 0 1 ∇ f ( x + t ( y − x ) ) ⊤ ( y − x ) d t f(y) - f(x) = g(1) - g(0) = \int_0^1 g'(t) \, dt = \int_0^1 \nabla f(x + t(y-x))^\top (y-x) \, dt f ( y ) − f ( x ) = g ( 1 ) − g ( 0 ) = ∫ 0 1 g ′ ( t ) d t = ∫ 0 1 ∇ f ( x + t ( y − x ) ) ⊤ ( y − x ) d t 注意 g ′ ( 0 ) = ∇ f ( x ) ⊤ ( y − x ) g'(0) = \nabla f(x)^\top(y - x) g ′ ( 0 ) = ∇ f ( x ) ⊤ ( y − x ) ,因此
f ( y ) − f ( x ) − ∇ f ( x ) ⊤ ( y − x ) = ∫ 0 1 [ ∇ f ( x + t ( y − x ) ) − ∇ f ( x ) ] ⊤ ( y − x ) d t f(y) - f(x) - \nabla f(x)^\top(y-x) = \int_0^1 \left[\nabla f(x + t(y-x)) - \nabla f(x)\right]^\top (y-x) \, dt f ( y ) − f ( x ) − ∇ f ( x ) ⊤ ( y − x ) = ∫ 0 1 [ ∇ f ( x + t ( y − x )) − ∇ f ( x ) ] ⊤ ( y − x ) d t 第二步:取绝对值并用 Cauchy-Schwarz 不等式放缩。 对积分取绝对值,利用 ∣ ∫ 0 1 h ( t ) d t ∣ ≤ ∫ 0 1 ∣ h ( t ) ∣ d t \left|\int_0^1 h(t)\,dt\right| \leq \int_0^1 |h(t)|\,dt ∫ 0 1 h ( t ) d t ≤ ∫ 0 1 ∣ h ( t ) ∣ d t ,再对被积函数应用 Cauchy-Schwarz 不等式:
∣ f ( y ) − f ( x ) − ∇ f ( x ) ⊤ ( y − x ) ∣ ≤ ∫ 0 1 ∥ ∇ f ( x + t ( y − x ) ) − ∇ f ( x ) ∥ ⋅ ∥ y − x ∥ d t \left|f(y) - f(x) - \nabla f(x)^\top(y-x)\right| \leq \int_0^1 \left\|\nabla f(x + t(y-x)) - \nabla f(x)\right\| \cdot \|y - x\| \, dt f ( y ) − f ( x ) − ∇ f ( x ) ⊤ ( y − x ) ≤ ∫ 0 1 ∥ ∇ f ( x + t ( y − x )) − ∇ f ( x ) ∥ ⋅ ∥ y − x ∥ d t 第三步:利用 Lipschitz 连续性。 由 ∇ f \nabla f ∇ f 的 Lipschitz 连续性:
∥ ∇ f ( x + t ( y − x ) ) − ∇ f ( x ) ∥ ≤ L ∥ t ( y − x ) ∥ = L t ∥ y − x ∥ \|\nabla f(x + t(y-x)) - \nabla f(x)\| \leq L \|t(y-x)\| = Lt\|y-x\| ∥∇ f ( x + t ( y − x )) − ∇ f ( x ) ∥ ≤ L ∥ t ( y − x ) ∥ = L t ∥ y − x ∥ 代入积分:
∣ f ( y ) − f ( x ) − ∇ f ( x ) ⊤ ( y − x ) ∣ ≤ ∫ 0 1 L t ∥ y − x ∥ 2 d t = L ∥ y − x ∥ 2 ⋅ t 2 2 ∣ 0 1 = L 2 ∥ y − x ∥ 2 \left|f(y) - f(x) - \nabla f(x)^\top(y-x)\right| \leq \int_0^1 Lt\|y-x\|^2 \, dt = L\|y-x\|^2 \cdot \frac{t^2}{2}\bigg|_0^1 = \frac{L}{2}\|y-x\|^2 f ( y ) − f ( x ) − ∇ f ( x ) ⊤ ( y − x ) ≤ ∫ 0 1 L t ∥ y − x ∥ 2 d t = L ∥ y − x ∥ 2 ⋅ 2 t 2 0 1 = 2 L ∥ y − x ∥ 2 证毕。■ \blacksquare ■
证明的模式识别。 这个证明展示了一种在分析中反复出现的模式:将多元函数的问题归结为一元函数(通过辅助函数 g ( t ) g(t) g ( t ) ),利用微积分基本定理将函数值差表示为积分,再用 Lipschitz 条件对被积函数做逐点放缩。同样的技巧在后续章节分析近端梯度法和加速方法时还会用到。
3.3.3 下降引理与梯度下降步长的联系# 下降引理直接解释了梯度下降中步长为何受限于 2 / L 2/L 2/ L 。将引理中的 y y y 替换为 x k + 1 = x k − α k ∇ f ( x k ) x^{k+1} = x^k - \alpha_k \nabla f(x^k) x k + 1 = x k − α k ∇ f ( x k ) ,得
f ( x k + 1 ) ≤ f ( x k ) + ∇ f ( x k ) ⊤ ( x k + 1 − x k ) + L 2 ∥ x k + 1 − x k ∥ 2 f(x^{k+1}) \leq f(x^k) + \nabla f(x^k)^\top (x^{k+1} - x^k) + \frac{L}{2}\|x^{k+1} - x^k\|^2 f ( x k + 1 ) ≤ f ( x k ) + ∇ f ( x k ) ⊤ ( x k + 1 − x k ) + 2 L ∥ x k + 1 − x k ∥ 2 代入 x k + 1 − x k = − α k ∇ f ( x k ) x^{k+1} - x^k = -\alpha_k \nabla f(x^k) x k + 1 − x k = − α k ∇ f ( x k ) ,整理得
f ( x k + 1 ) ≤ f ( x k ) + α k ( L α k 2 − 1 ) ∥ ∇ f ( x k ) ∥ 2 f(x^{k+1}) \leq f(x^k) + \alpha_k \left(\frac{L\alpha_k}{2} - 1\right) \|\nabla f(x^k)\|^2 f ( x k + 1 ) ≤ f ( x k ) + α k ( 2 L α k − 1 ) ∥∇ f ( x k ) ∥ 2 要保证函数值严格下降(右端增量为负),需要
L α k 2 − 1 < 0 ⟹ α k < 2 L \frac{L\alpha_k}{2} - 1 < 0 \quad \Longrightarrow \quad \alpha_k < \frac{2}{L} 2 L α k − 1 < 0 ⟹ α k < L 2 进一步,当 α k ≤ 1 / L \alpha_k \leq 1/L α k ≤ 1/ L 时,1 − L α k / 2 ≥ 1 / 2 1 - L\alpha_k/2 \geq 1/2 1 − L α k /2 ≥ 1/2 ,上式化为更常用的形式:
f ( x k + 1 ) ≤ f ( x k ) − α k 2 ∥ ∇ f ( x k ) ∥ 2 ( ⋆ ) f(x^{k+1}) \leq f(x^k) - \frac{\alpha_k}{2}\|\nabla f(x^k)\|^2 \tag{$\star$} f ( x k + 1 ) ≤ f ( x k ) − 2 α k ∥∇ f ( x k ) ∥ 2 ( ⋆ ) 不等式 (⋆ \star ⋆ ) 是后续收敛性分析的起点:它说明函数值序列 { f ( x k ) } \{f(x^k)\} { f ( x k )} 单调不增,每一步至少下降 α k 2 ∥ ∇ f ( x k ) ∥ 2 \frac{\alpha_k}{2}\|\nabla f(x^k)\|^2 2 α k ∥∇ f ( x k ) ∥ 2 。只要梯度不为零,函数值就严格下降。
这里可以看到 L L L 对步长的直接约束:L L L 越大(函数弯曲越厉害),允许的步长 α k \alpha_k α k 就越小。最优常数步长为 α k = 1 / L \alpha_k = 1/L α k = 1/ L ,此时每步下降量为 1 2 L ∥ ∇ f ( x k ) ∥ 2 \frac{1}{2L}\|\nabla f(x^k)\|^2 2 L 1 ∥∇ f ( x k ) ∥ 2 。
值得将下降引理的含义与 3.1.2 节中 L L L -光滑性的直觉对照:L L L -光滑性说函数被二次函数”罩住”,下降引理将这个抽象性质转化为可直接使用的不等式工具。在算法分析中,下降引理扮演的角色是:在不知道函数二阶信息的情况下,用 L L L 这个单一参数为函数值的变化提供定量的上界控制。
3.4 凸函数上的收敛性# 有了下降引理提供的单步递推不等式,现在可以分析梯度下降在凸函数上的收敛速度。
3.4.1 定理陈述# 定理. 设 f ( x ) f(x) f ( x ) 是凸函数 ,且 f f f 是 L L L -光滑的。设 f ∗ = f ( x ∗ ) = inf x f ( x ) f^* = f(x^*) = \inf_x f(x) f ∗ = f ( x ∗ ) = inf x f ( x ) 存在且可达。若步长取常数 α k = α \alpha_k = \alpha α k = α ,满足
0 < α ≤ 1 L 0 < \alpha \leq \frac{1}{L} 0 < α ≤ L 1 则梯度下降迭代 x k + 1 = x k − α ∇ f ( x k ) x^{k+1} = x^k - \alpha \nabla f(x^k) x k + 1 = x k − α ∇ f ( x k ) 产生的序列满足
f ( x k ) − f ∗ ≤ ∥ x 0 − x ∗ ∥ 2 2 α k = O ( 1 k ) f(x^k) - f^* \leq \frac{\|x^0 - x^*\|^2}{2\alpha k} = O\left(\frac{1}{k}\right) f ( x k ) − f ∗ ≤ 2 α k ∥ x 0 − x ∗ ∥ 2 = O ( k 1 ) 即收敛速度为 O ( 1 / k ) O(1/k) O ( 1/ k ) (次线性收敛 )。取最优步长 α = 1 / L \alpha = 1/L α = 1/ L 时,上界变为 L ∥ x 0 − x ∗ ∥ 2 2 k \frac{L\|x^0 - x^*\|^2}{2k} 2 k L ∥ x 0 − x ∗ ∥ 2 ,可以看出 L L L 越大(函数越不光滑)、初始点越远离最优解,收敛所需的迭代次数就越多。
O ( 1 / k ) O(1/k) O ( 1/ k ) 的收敛速度意味着:要使函数值误差 f ( x k ) − f ∗ f(x^k) - f^* f ( x k ) − f ∗ 降至 ε \varepsilon ε 以下,需要的迭代次数为 O ( 1 / ε ) O(1/\varepsilon) O ( 1/ ε ) 。具体地,迭代 100 100 100 次时误差大约是初始误差的 1 / 100 1/100 1/100 ;要再降低一个数量级(到 1 / 1000 1/1000 1/1000 ),需要 1000 1000 1000 次迭代。每多一位精度都需要 10 10 10 倍的迭代次数。
3.4.2 证明# 证明分四步,分别利用下降引理、凸性一阶条件、配方消项和单调性。
第一步:利用下降引理建立单步递推。 由 3.3.3 节的不等式 (⋆ \star ⋆ ):
f ( x k + 1 ) ≤ f ( x k ) − α 2 ∥ ∇ f ( x k ) ∥ 2 f(x^{k+1}) \leq f(x^k) - \frac{\alpha}{2}\|\nabla f(x^k)\|^2 f ( x k + 1 ) ≤ f ( x k ) − 2 α ∥∇ f ( x k ) ∥ 2 第二步:利用凸性建立与最优值的联系。 由 f f f 的凸性(一阶条件),对任意 x , y x, y x , y :
f ( y ) ≥ f ( x ) + ∇ f ( x ) ⊤ ( y − x ) f(y) \geq f(x) + \nabla f(x)^\top(y - x) f ( y ) ≥ f ( x ) + ∇ f ( x ) ⊤ ( y − x ) 取 y = x ∗ y = x^* y = x ∗ ,移项得
∇ f ( x k ) ⊤ ( x k − x ∗ ) ≤ f ( x k ) − f ∗ \nabla f(x^k)^\top(x^k - x^*) \leq f(x^k) - f^* ∇ f ( x k ) ⊤ ( x k − x ∗ ) ≤ f ( x k ) − f ∗ 这一步的作用是将梯度与函数值差联系起来——凸性保证了梯度指向的方向上函数值确实在下降,而且下降量可以用 f ( x k ) − f ∗ f(x^k) - f^* f ( x k ) − f ∗ 来控制。
第三步:配方与累和消项。 将不等式 (⋆ \star ⋆ ) 两边减去 f ∗ f^* f ∗ ,并结合凸性,注意到
∇ f ( x k ) ⊤ ( x k − x ∗ ) − α 2 ∥ ∇ f ( x k ) ∥ 2 = 1 2 α ( ∥ x k − x ∗ ∥ 2 − ∥ x k − α ∇ f ( x k ) − x ∗ ∥ 2 ) \nabla f(x^k)^\top(x^k - x^*) - \frac{\alpha}{2}\|\nabla f(x^k)\|^2 = \frac{1}{2\alpha}\left(\|x^k - x^*\|^2 - \|x^k - \alpha\nabla f(x^k) - x^*\|^2\right) ∇ f ( x k ) ⊤ ( x k − x ∗ ) − 2 α ∥∇ f ( x k ) ∥ 2 = 2 α 1 ( ∥ x k − x ∗ ∥ 2 − ∥ x k − α ∇ f ( x k ) − x ∗ ∥ 2 ) 这一步的动机是构造望远镜结构 :右端恰好是 ∥ x k − x ∗ ∥ 2 − ∥ x k + 1 − x ∗ ∥ 2 \|x^k - x^*\|^2 - \|x^{k+1} - x^*\|^2 ∥ x k − x ∗ ∥ 2 − ∥ x k + 1 − x ∗ ∥ 2 的形式,对 k k k 求和后会大量消项。配方的具体验证:将右端展开,∥ x k − x ∗ ∥ 2 − ∥ x k − α ∇ f ( x k ) − x ∗ ∥ 2 = 2 α ∇ f ( x k ) ⊤ ( x k − x ∗ ) − α 2 ∥ ∇ f ( x k ) ∥ 2 \|x^k - x^*\|^2 - \|x^k - \alpha\nabla f(x^k) - x^*\|^2 = 2\alpha\nabla f(x^k)^\top(x^k - x^*) - \alpha^2\|\nabla f(x^k)\|^2 ∥ x k − x ∗ ∥ 2 − ∥ x k − α ∇ f ( x k ) − x ∗ ∥ 2 = 2 α ∇ f ( x k ) ⊤ ( x k − x ∗ ) − α 2 ∥∇ f ( x k ) ∥ 2 ,再除以 2 α 2\alpha 2 α 即得左端。
由于 x k + 1 = x k − α ∇ f ( x k ) x^{k+1} = x^k - \alpha\nabla f(x^k) x k + 1 = x k − α ∇ f ( x k ) ,上式变为
1 2 α ( ∥ x k − x ∗ ∥ 2 − ∥ x k + 1 − x ∗ ∥ 2 ) \frac{1}{2\alpha}\left(\|x^k - x^*\|^2 - \|x^{k+1} - x^*\|^2\right) 2 α 1 ( ∥ x k − x ∗ ∥ 2 − ∥ x k + 1 − x ∗ ∥ 2 ) 因此
f ( x k + 1 ) − f ∗ ≤ 1 2 α ( ∥ x k − x ∗ ∥ 2 − ∥ x k + 1 − x ∗ ∥ 2 ) f(x^{k+1}) - f^* \leq \frac{1}{2\alpha}\left(\|x^k - x^*\|^2 - \|x^{k+1} - x^*\|^2\right) f ( x k + 1 ) − f ∗ ≤ 2 α 1 ( ∥ x k − x ∗ ∥ 2 − ∥ x k + 1 − x ∗ ∥ 2 ) 对 i = 1 , 2 , … , k i = 1, 2, \ldots, k i = 1 , 2 , … , k 求和,右端发生望远镜消项 (telescoping):
∑ i = 1 k ( f ( x i ) − f ∗ ) ≤ 1 2 α ( ∥ x 0 − x ∗ ∥ 2 − ∥ x k − x ∗ ∥ 2 ) ≤ 1 2 α ∥ x 0 − x ∗ ∥ 2 \sum_{i=1}^{k}\left(f(x^i) - f^*\right) \leq \frac{1}{2\alpha}\left(\|x^0 - x^*\|^2 - \|x^k - x^*\|^2\right) \leq \frac{1}{2\alpha}\|x^0 - x^*\|^2 i = 1 ∑ k ( f ( x i ) − f ∗ ) ≤ 2 α 1 ( ∥ x 0 − x ∗ ∥ 2 − ∥ x k − x ∗ ∥ 2 ) ≤ 2 α 1 ∥ x 0 − x ∗ ∥ 2 最后一个不等号是因为 ∥ x k − x ∗ ∥ 2 ≥ 0 \|x^k - x^*\|^2 \geq 0 ∥ x k − x ∗ ∥ 2 ≥ 0 。
第四步:利用单调性得到次线性收敛率。 由不等式 (⋆ \star ⋆ ),{ f ( x k ) } \{f(x^k)\} { f ( x k )} 单调不增,因此 f ( x k ) ≤ f ( x i ) f(x^k) \leq f(x^i) f ( x k ) ≤ f ( x i ) 对所有 i = 1 , … , k i = 1, \ldots, k i = 1 , … , k 成立。于是
k ( f ( x k ) − f ∗ ) ≤ ∑ i = 1 k ( f ( x i ) − f ∗ ) ≤ 1 2 α ∥ x 0 − x ∗ ∥ 2 k\left(f(x^k) - f^*\right) \leq \sum_{i=1}^{k}\left(f(x^i) - f^*\right) \leq \frac{1}{2\alpha}\|x^0 - x^*\|^2 k ( f ( x k ) − f ∗ ) ≤ i = 1 ∑ k ( f ( x i ) − f ∗ ) ≤ 2 α 1 ∥ x 0 − x ∗ ∥ 2 从而
f ( x k ) − f ∗ ≤ ∥ x 0 − x ∗ ∥ 2 2 α k = O ( 1 k ) f(x^k) - f^* \leq \frac{\|x^0 - x^*\|^2}{2\alpha k} = O\left(\frac{1}{k}\right) f ( x k ) − f ∗ ≤ 2 α k ∥ x 0 − x ∗ ∥ 2 = O ( k 1 ) 证毕。■ \blacksquare ■
收敛性也可以从另一个角度看:对不等式 (⋆ \star ⋆ ) 从 k = 0 k=0 k = 0 到 ∞ \infty ∞ 求和,右端有界(因 f f f 下有界),说明级数 ∑ k = 0 ∞ ∥ ∇ f ( x k ) ∥ 2 \sum_{k=0}^{\infty}\|\nabla f(x^k)\|^2 ∑ k = 0 ∞ ∥∇ f ( x k ) ∥ 2 收敛。由级数收敛的必要条件,通项 ∥ ∇ f ( x k ) ∥ 2 → 0 \|\nabla f(x^k)\|^2 \to 0 ∥∇ f ( x k ) ∥ 2 → 0 ,从而 f ( x k ) → f ∗ f(x^k) \to f^* f ( x k ) → f ∗ 。
关于 O ( 1 / k ) O(1/k) O ( 1/ k ) 速度的紧性。 O ( 1 / k ) O(1/k) O ( 1/ k ) 对于一般凸函数上的梯度下降是不可改进的——存在 L L L -光滑凸函数使得梯度下降恰好以 Θ ( 1 / k ) \Theta(1/k) Θ ( 1/ k ) 的速度收敛。不过,通过引入动量项(如 Nesterov 加速方法),可以将凸函数上的收敛速度提升至 O ( 1 / k 2 ) O(1/k^2) O ( 1/ k 2 ) ,这是一阶方法在此函数类上的最优速度。梯度下降的 O ( 1 / k ) O(1/k) O ( 1/ k ) 与 Nesterov 方法的 O ( 1 / k 2 ) O(1/k^2) O ( 1/ k 2 ) 之间的差距,本质上源于梯度下降只利用当前点的梯度信息,而加速方法额外利用了历史迭代点的信息来修正搜索方向。
从梯度范数角度看收敛。 利用 3.1.2 节的不等式 f ( x k ) − f ∗ ≥ 1 2 L ∥ ∇ f ( x k ) ∥ 2 f(x^k) - f^* \geq \frac{1}{2L}\|\nabla f(x^k)\|^2 f ( x k ) − f ∗ ≥ 2 L 1 ∥∇ f ( x k ) ∥ 2 ,O ( 1 / k ) O(1/k) O ( 1/ k ) 的函数值收敛率蕴含了 min 0 ≤ i ≤ k ∥ ∇ f ( x i ) ∥ 2 = O ( 1 / k ) \min_{0 \leq i \leq k}\|\nabla f(x^i)\|^2 = O(1/k) min 0 ≤ i ≤ k ∥∇ f ( x i ) ∥ 2 = O ( 1/ k ) ,即 k k k 步迭代中最小梯度范数以 O ( 1 / k ) O(1/\sqrt{k}) O ( 1/ k ) 的速率趋于零。这个结论对非凸函数也成立(只需 L L L -光滑性),下一小节将给出完整的陈述和证明。
3.4.3 非凸函数上的收敛性# 在深度学习等应用中,目标函数通常是非凸的。此时不能期望收敛到全局最优解,但梯度下降仍然可以保证收敛到驻点(梯度为零的点)。这个结论只依赖 L L L -光滑性,不需要凸性。
定理. 设 f : R n → R f: \mathbb{R}^n \to \mathbb{R} f : R n → R 是 L L L -光滑函数(不要求凸性),且 f f f 下有界,即 f ∗ = inf x f ( x ) > − ∞ f^* = \inf_x f(x) > -\infty f ∗ = inf x f ( x ) > − ∞ 。若步长取常数 α ≤ 1 / L \alpha \leq 1/L α ≤ 1/ L ,则梯度下降迭代 x k + 1 = x k − α ∇ f ( x k ) x^{k+1} = x^k - \alpha \nabla f(x^k) x k + 1 = x k − α ∇ f ( x k ) 产生的序列满足
min 0 ≤ i ≤ k − 1 ∥ ∇ f ( x i ) ∥ 2 ≤ f ( x 0 ) − f ∗ α 2 ⋅ k = O ( 1 k ) \min_{0 \leq i \leq k-1} \|\nabla f(x^i)\|^2 \leq \frac{f(x^0) - f^*}{\frac{\alpha}{2} \cdot k} = O\left(\frac{1}{k}\right) 0 ≤ i ≤ k − 1 min ∥∇ f ( x i ) ∥ 2 ≤ 2 α ⋅ k f ( x 0 ) − f ∗ = O ( k 1 ) 即 k k k 步迭代中最小梯度范数的平方以 O ( 1 / k ) O(1/k) O ( 1/ k ) 的速率趋于零。等价地,要找到一个 ε \varepsilon ε -近似驻点(∥ ∇ f ( x ) ∥ 2 ≤ ε \|\nabla f(x)\|^2 \leq \varepsilon ∥∇ f ( x ) ∥ 2 ≤ ε ),需要 O ( 1 / ε ) O(1/\varepsilon) O ( 1/ ε ) 次迭代。
证明. 证明只需要下降引理,不涉及凸性。由 3.3.3 节的不等式 (⋆ \star ⋆ )(该不等式的推导不使用凸性),当 α ≤ 1 / L \alpha \leq 1/L α ≤ 1/ L 时
f ( x k + 1 ) ≤ f ( x k ) − α 2 ∥ ∇ f ( x k ) ∥ 2 f(x^{k+1}) \leq f(x^k) - \frac{\alpha}{2}\|\nabla f(x^k)\|^2 f ( x k + 1 ) ≤ f ( x k ) − 2 α ∥∇ f ( x k ) ∥ 2 对 k = 0 , 1 , … , K − 1 k = 0, 1, \ldots, K-1 k = 0 , 1 , … , K − 1 求和(望远镜消项):
f ( x K ) ≤ f ( x 0 ) − α 2 ∑ k = 0 K − 1 ∥ ∇ f ( x k ) ∥ 2 f(x^K) \leq f(x^0) - \frac{\alpha}{2}\sum_{k=0}^{K-1}\|\nabla f(x^k)\|^2 f ( x K ) ≤ f ( x 0 ) − 2 α k = 0 ∑ K − 1 ∥∇ f ( x k ) ∥ 2 移项并利用 f ( x K ) ≥ f ∗ f(x^K) \geq f^* f ( x K ) ≥ f ∗ :
∑ k = 0 K − 1 ∥ ∇ f ( x k ) ∥ 2 ≤ 2 α ( f ( x 0 ) − f ∗ ) \sum_{k=0}^{K-1}\|\nabla f(x^k)\|^2 \leq \frac{2}{\alpha}\left(f(x^0) - f^*\right) k = 0 ∑ K − 1 ∥∇ f ( x k ) ∥ 2 ≤ α 2 ( f ( x 0 ) − f ∗ ) 由于左端有 K K K 项非负求和,最小项不超过平均值:
min 0 ≤ k ≤ K − 1 ∥ ∇ f ( x k ) ∥ 2 ≤ 1 K ∑ k = 0 K − 1 ∥ ∇ f ( x k ) ∥ 2 ≤ 2 ( f ( x 0 ) − f ∗ ) α K \min_{0 \leq k \leq K-1}\|\nabla f(x^k)\|^2 \leq \frac{1}{K}\sum_{k=0}^{K-1}\|\nabla f(x^k)\|^2 \leq \frac{2(f(x^0) - f^*)}{\alpha K} 0 ≤ k ≤ K − 1 min ∥∇ f ( x k ) ∥ 2 ≤ K 1 k = 0 ∑ K − 1 ∥∇ f ( x k ) ∥ 2 ≤ α K 2 ( f ( x 0 ) − f ∗ ) 取 α = 1 / L \alpha = 1/L α = 1/ L 时上界为 2 L ( f ( x 0 ) − f ∗ ) K \frac{2L(f(x^0) - f^*)}{K} K 2 L ( f ( x 0 ) − f ∗ ) 。证毕。■ \blacksquare ■
这个定理说明:即使没有凸性,梯度下降也能在 O ( 1 / ε ) O(1/\varepsilon) O ( 1/ ε ) 步内找到一个梯度足够小的点。注意结论的度量是 min 0 ≤ i ≤ k ∥ ∇ f ( x i ) ∥ 2 \min_{0 \leq i \leq k}\|\nabla f(x^i)\|^2 min 0 ≤ i ≤ k ∥∇ f ( x i ) ∥ 2 而非 ∥ ∇ f ( x k ) ∥ 2 \|\nabla f(x^k)\|^2 ∥∇ f ( x k ) ∥ 2 ——我们只能保证迭代过程中存在 某个梯度小的点,但不保证最后一个迭代点的梯度就小。在实际中,通常记录迭代过程中梯度范数最小的点作为输出。
对于 AI 研究者来说,这一结论是理解 SGD 训练神经网络收敛行为的起点:虽然深度学习中的目标函数是非凸的,但梯度下降仍然可以有效地找到驻点。当然,从”找到驻点”到”找到好的局部极小”还需要额外的分析(如鞍点逃逸理论),这超出了本章的范围。
3.5 强凸函数上的收敛性# 凸函数上梯度下降的次线性收敛率 O ( 1 / k ) O(1/k) O ( 1/ k ) 并不算快。当目标函数满足更强的强凸性 条件时,收敛速度可以大幅提升至 Q-线性收敛——误差以几何级数衰减。
3.5.1 等价条件引理# 在分析强凸情况前,需要一个关于 Lipschitz 连续梯度的等价条件引理,它提供的余强制性 是证明的关键工具。
引理. 设 f ( x ) f(x) f ( x ) 是 R n \mathbb{R}^n R n 上的凸且可微函数,则以下三个条件等价:
(1) ∇ f \nabla f ∇ f 是 Lipschitz 连续的(常数为 L L L );
(2) 函数 g ( x ) = L 2 x ⊤ x − f ( x ) g(x) = \frac{L}{2}x^\top x - f(x) g ( x ) = 2 L x ⊤ x − f ( x ) 是凸函数;
(3) ∇ f \nabla f ∇ f 是余强制 (cocoercive)算子,即对任意 x , y ∈ R n x, y \in \mathbb{R}^n x , y ∈ R n :
( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) ≥ 1 L ∥ ∇ f ( x ) − ∇ f ( y ) ∥ 2 (\nabla f(x) - \nabla f(y))^\top(x - y) \geq \frac{1}{L}\|\nabla f(x) - \nabla f(y)\|^2 ( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) ≥ L 1 ∥∇ f ( x ) − ∇ f ( y ) ∥ 2 证明.
(1) ⇒ \Rightarrow ⇒ (2) :需证 g ( x ) = L 2 x ⊤ x − f ( x ) g(x) = \frac{L}{2}x^\top x - f(x) g ( x ) = 2 L x ⊤ x − f ( x ) 是凸函数。由凸性的梯度单调性判据,只需验证 ∇ g \nabla g ∇ g 是单调算子。对任意 x , y x, y x , y ,
( ∇ g ( x ) − ∇ g ( y ) ) ⊤ ( x − y ) = L ∥ x − y ∥ 2 − ( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) (\nabla g(x) - \nabla g(y))^\top(x - y) = L\|x - y\|^2 - (\nabla f(x) - \nabla f(y))^\top(x - y) ( ∇ g ( x ) − ∇ g ( y ) ) ⊤ ( x − y ) = L ∥ x − y ∥ 2 − ( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) 由 Cauchy-Schwarz 不等式和 ∇ f \nabla f ∇ f 的 L L L -Lipschitz 连续性,( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) ≤ ∥ ∇ f ( x ) − ∇ f ( y ) ∥ ⋅ ∥ x − y ∥ ≤ L ∥ x − y ∥ 2 (\nabla f(x) - \nabla f(y))^\top(x-y) \leq \|\nabla f(x) - \nabla f(y)\|\cdot\|x-y\| \leq L\|x-y\|^2 ( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) ≤ ∥∇ f ( x ) − ∇ f ( y ) ∥ ⋅ ∥ x − y ∥ ≤ L ∥ x − y ∥ 2 。因此上式 ≥ 0 \geq 0 ≥ 0 ,即 ∇ g \nabla g ∇ g 单调,g g g 是凸函数。
(3) ⇒ \Rightarrow ⇒ (1) :由余强制性和 Cauchy-Schwarz 不等式,
1 L ∥ ∇ f ( x ) − ∇ f ( y ) ∥ 2 ≤ ( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) ≤ ∥ ∇ f ( x ) − ∇ f ( y ) ∥ ⋅ ∥ x − y ∥ \frac{1}{L}\|\nabla f(x) - \nabla f(y)\|^2 \leq (\nabla f(x) - \nabla f(y))^\top(x-y) \leq \|\nabla f(x) - \nabla f(y)\|\cdot\|x-y\| L 1 ∥∇ f ( x ) − ∇ f ( y ) ∥ 2 ≤ ( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) ≤ ∥∇ f ( x ) − ∇ f ( y ) ∥ ⋅ ∥ x − y ∥ 两端除以 ∥ ∇ f ( x ) − ∇ f ( y ) ∥ \|\nabla f(x) - \nabla f(y)\| ∥∇ f ( x ) − ∇ f ( y ) ∥ (若其为零则 Lipschitz 条件自动成立),得 ∥ ∇ f ( x ) − ∇ f ( y ) ∥ ≤ L ∥ x − y ∥ \|\nabla f(x) - \nabla f(y)\| \leq L\|x-y\| ∥∇ f ( x ) − ∇ f ( y ) ∥ ≤ L ∥ x − y ∥ 。
(2) ⇒ \Rightarrow ⇒ (3) :这是最关键的一步。构造辅助函数
f x ( z ) = f ( z ) − ∇ f ( x ) ⊤ z f_x(z) = f(z) - \nabla f(x)^\top z f x ( z ) = f ( z ) − ∇ f ( x ) ⊤ z f x f_x f x 仍然是凸函数(f f f 凸,减去线性函数不改变凸性),且 ∇ f x ( z ) = ∇ f ( z ) − ∇ f ( x ) \nabla f_x(z) = \nabla f(z) - \nabla f(x) ∇ f x ( z ) = ∇ f ( z ) − ∇ f ( x ) ,所以 ∇ f x ( x ) = 0 \nabla f_x(x) = 0 ∇ f x ( x ) = 0 ,即 x x x 是 f x f_x f x 的全局最小值点。
由条件 (2),g x ( z ) = L 2 z ⊤ z − f x ( z ) g_x(z) = \frac{L}{2}z^\top z - f_x(z) g x ( z ) = 2 L z ⊤ z − f x ( z ) 是凸函数。对 g x g_x g x 使用凸性的一阶条件 g x ( z 2 ) ≥ g x ( z 1 ) + ∇ g x ( z 1 ) ⊤ ( z 2 − z 1 ) g_x(z_2) \geq g_x(z_1) + \nabla g_x(z_1)^\top(z_2 - z_1) g x ( z 2 ) ≥ g x ( z 1 ) + ∇ g x ( z 1 ) ⊤ ( z 2 − z 1 ) ,整理后得到 f x f_x f x 的二次上界:
f x ( z 2 ) ≤ f x ( z 1 ) + ∇ f x ( z 1 ) ⊤ ( z 2 − z 1 ) + L 2 ∥ z 2 − z 1 ∥ 2 f_x(z_2) \leq f_x(z_1) + \nabla f_x(z_1)^\top(z_2 - z_1) + \frac{L}{2}\|z_2 - z_1\|^2 f x ( z 2 ) ≤ f x ( z 1 ) + ∇ f x ( z 1 ) ⊤ ( z 2 − z 1 ) + 2 L ∥ z 2 − z 1 ∥ 2 在上式中取 z 1 = y z_1 = y z 1 = y ,并对 z 2 z_2 z 2 取使右端最小的 z 2 = y − 1 L ∇ f x ( y ) z_2 = y - \frac{1}{L}\nabla f_x(y) z 2 = y − L 1 ∇ f x ( y ) ,代入得
f x ( y − 1 L ∇ f x ( y ) ) ≤ f x ( y ) − 1 2 L ∥ ∇ f x ( y ) ∥ 2 f_x\!\left(y - \tfrac{1}{L}\nabla f_x(y)\right) \leq f_x(y) - \frac{1}{2L}\|\nabla f_x(y)\|^2 f x ( y − L 1 ∇ f x ( y ) ) ≤ f x ( y ) − 2 L 1 ∥∇ f x ( y ) ∥ 2 由于 x x x 是 f x f_x f x 的全局最小值点,f x ( x ) ≤ f x ( y − 1 L ∇ f x ( y ) ) f_x(x) \leq f_x\!\left(y - \frac{1}{L}\nabla f_x(y)\right) f x ( x ) ≤ f x ( y − L 1 ∇ f x ( y ) ) ,因此
f x ( x ) ≤ f x ( y ) − 1 2 L ∥ ∇ f x ( y ) ∥ 2 f_x(x) \leq f_x(y) - \frac{1}{2L}\|\nabla f_x(y)\|^2 f x ( x ) ≤ f x ( y ) − 2 L 1 ∥∇ f x ( y ) ∥ 2 即
f ( y ) − f ( x ) − ∇ f ( x ) ⊤ ( y − x ) ≥ 1 2 L ∥ ∇ f ( y ) − ∇ f ( x ) ∥ 2 (I) f(y) - f(x) - \nabla f(x)^\top(y - x) \geq \frac{1}{2L}\|\nabla f(y) - \nabla f(x)\|^2 \tag{I} f ( y ) − f ( x ) − ∇ f ( x ) ⊤ ( y − x ) ≥ 2 L 1 ∥∇ f ( y ) − ∇ f ( x ) ∥ 2 ( I ) 对 f y ( z ) = f ( z ) − ∇ f ( y ) ⊤ z f_y(z) = f(z) - \nabla f(y)^\top z f y ( z ) = f ( z ) − ∇ f ( y ) ⊤ z 做完全对称的分析,得到
f ( x ) − f ( y ) − ∇ f ( y ) ⊤ ( x − y ) ≥ 1 2 L ∥ ∇ f ( y ) − ∇ f ( x ) ∥ 2 (II) f(x) - f(y) - \nabla f(y)^\top(x - y) \geq \frac{1}{2L}\|\nabla f(y) - \nabla f(x)\|^2 \tag{II} f ( x ) − f ( y ) − ∇ f ( y ) ⊤ ( x − y ) ≥ 2 L 1 ∥∇ f ( y ) − ∇ f ( x ) ∥ 2 ( II ) 将 (I) 和 (II) 两式相加,左端为 ( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) (\nabla f(x) - \nabla f(y))^\top(x - y) ( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) ,右端为 1 L ∥ ∇ f ( x ) − ∇ f ( y ) ∥ 2 \frac{1}{L}\|\nabla f(x) - \nabla f(y)\|^2 L 1 ∥∇ f ( x ) − ∇ f ( y ) ∥ 2 ,这正是余强制性。■ \blacksquare ■
余强制性比单纯的 Lipschitz 条件更强:它不仅控制了梯度差的大小,还要求梯度差与自变量差之间有正相关性。直觉上,Lipschitz 条件给出的是上界(梯度差 ≤ L ⋅ \leq L \cdot ≤ L ⋅ 自变量差),余强制性给出的是下界(内积 ≥ 1 L ⋅ \geq \frac{1}{L} \cdot ≥ L 1 ⋅ 梯度差的平方)。两者结合意味着梯度差和自变量差之间存在双向的定量控制。这个性质在强凸函数收敛性证明中起关键作用。
值得注意的是,余强制性仅在 f f f 为凸时 与 Lipschitz 条件等价。对于非凸函数,Lipschitz 条件不蕴含余强制性。这解释了为什么本章的收敛性分析需要凸性假设——不仅仅是为了保证极小点的存在,更是为了启用余强制性这一更强的分析工具。
3.5.2 定理陈述# 定理. 设 f ( x ) f(x) f ( x ) 是 μ \mu μ -强凸函数(μ \mu μ 为强凸参数),且 f f f 是 L L L -光滑的。设 f ∗ = f ( x ∗ ) = inf x f ( x ) f^* = f(x^*) = \inf_x f(x) f ∗ = f ( x ∗ ) = inf x f ( x ) 存在且可达。若步长 α \alpha α 满足
0 < α ≤ 2 μ + L 0 < \alpha \leq \frac{2}{\mu + L} 0 < α ≤ μ + L 2 则梯度下降迭代产生的序列 { x k } \{x^k\} { x k } 收敛到 x ∗ x^* x ∗ ,且为 Q-线性收敛 :
∥ x k − x ∗ ∥ 2 ≤ c k ∥ x 0 − x ∗ ∥ 2 , c = 1 − 2 α μ L μ + L ∈ [ 0 , 1 ) \|x^k - x^*\|^2 \leq c^k \|x^0 - x^*\|^2, \quad c = 1 - \frac{2\alpha \mu L}{\mu+L} \in [0, 1) ∥ x k − x ∗ ∥ 2 ≤ c k ∥ x 0 − x ∗ ∥ 2 , c = 1 − μ + L 2 α μL ∈ [ 0 , 1 ) O ( c k ) O(c^k) O ( c k ) 的收敛速度意味着:误差以几何级数衰减,每迭代一步误差都乘以一个小于 1 1 1 的常数 c c c 。取最优步长 α = 2 / ( μ + L ) \alpha = 2/(\mu+L) α = 2/ ( μ + L ) 时,c = ( L − μ L + μ ) 2 = ( κ − 1 κ + 1 ) 2 c = \left(\frac{L-\mu}{L+\mu}\right)^2 = \left(\frac{\kappa - 1}{\kappa + 1}\right)^2 c = ( L + μ L − μ ) 2 = ( κ + 1 κ − 1 ) 2 ,其中 κ = L / μ \kappa = L/\mu κ = L / μ 是条件数。当 κ = 10 \kappa = 10 κ = 10 时,c ≈ 0.67 c \approx 0.67 c ≈ 0.67 ,迭代 100 100 100 次误差衰减为初始值的 c 100 ≈ 10 − 17 c^{100} \approx 10^{-17} c 100 ≈ 1 0 − 17 ;当 κ = 100 \kappa = 100 κ = 100 时,c ≈ 0.96 c \approx 0.96 c ≈ 0.96 ,迭代 100 100 100 次误差仅衰减为 c 100 ≈ 0.017 c^{100} \approx 0.017 c 100 ≈ 0.017 。条件数对收敛速度的影响极为显著。
3.5.3 证明# 第一步:构造辅助函数并建立加强版余强制不等式。
定义辅助函数
g ( x ) = f ( x ) − μ 2 x ⊤ x g(x) = f(x) - \frac{\mu}{2}x^\top x g ( x ) = f ( x ) − 2 μ x ⊤ x 构造这个辅助函数的动机是将强凸函数”剥去”强凸的部分:由于 f f f 是 μ \mu μ -强凸的,减去凸的二次项 μ 2 x ⊤ x \frac{\mu}{2}x^\top x 2 μ x ⊤ x 后,g ( x ) g(x) g ( x ) 仍然是凸的(恰好将强凸性用尽)。其梯度为 ∇ g ( x ) = ∇ f ( x ) − μ x \nabla g(x) = \nabla f(x) - \mu x ∇ g ( x ) = ∇ f ( x ) − μx 。
另一方面,L 2 x ⊤ x − f ( x ) = 1 2 ( L − μ ) x ⊤ x − g ( x ) \frac{L}{2}x^\top x - f(x) = \frac{1}{2}(L-\mu)x^\top x - g(x) 2 L x ⊤ x − f ( x ) = 2 1 ( L − μ ) x ⊤ x − g ( x ) 也是凸函数(由 3.5.1 节等价条件引理中条件 (2)),因此 ∇ g \nabla g ∇ g 是 ( L − μ ) (L-\mu) ( L − μ ) -Lipschitz 连续的。由余强制性(条件 (3)),有
( ∇ g ( x ) − ∇ g ( y ) ) ⊤ ( x − y ) ≥ 1 L − μ ∥ ∇ g ( x ) − ∇ g ( y ) ∥ 2 (\nabla g(x) - \nabla g(y))^\top(x - y) \geq \frac{1}{L - \mu}\|\nabla g(x) - \nabla g(y)\|^2 ( ∇ g ( x ) − ∇ g ( y ) ) ⊤ ( x − y ) ≥ L − μ 1 ∥∇ g ( x ) − ∇ g ( y ) ∥ 2 将 ∇ g ( x ) = ∇ f ( x ) − μ x \nabla g(x) = \nabla f(x) - \mu x ∇ g ( x ) = ∇ f ( x ) − μx ,∇ g ( y ) = ∇ f ( y ) − μ y \nabla g(y) = \nabla f(y) - \mu y ∇ g ( y ) = ∇ f ( y ) − μ y 代入。为简化符号,记 u = ∇ f ( x ) − ∇ f ( y ) u = \nabla f(x) - \nabla f(y) u = ∇ f ( x ) − ∇ f ( y ) ,v = x − y v = x - y v = x − y ,Δ = u ⊤ v \Delta = u^\top v Δ = u ⊤ v 。
左端 代入后为 Δ − μ ∥ v ∥ 2 \Delta - \mu\|v\|^2 Δ − μ ∥ v ∥ 2 。右端 代入后为 1 L − μ ∥ u − μ v ∥ 2 = 1 L − μ ( ∥ u ∥ 2 − 2 μ Δ + μ 2 ∥ v ∥ 2 ) \frac{1}{L-\mu}\|u - \mu v\|^2 = \frac{1}{L-\mu}\left(\|u\|^2 - 2\mu\Delta + \mu^2\|v\|^2\right) L − μ 1 ∥ u − μv ∥ 2 = L − μ 1 ( ∥ u ∥ 2 − 2 μ Δ + μ 2 ∥ v ∥ 2 ) 。
不等式 左端 ≥ 右端 \text{左端} \geq \text{右端} 左端 ≥ 右端 展开为
Δ − μ ∥ v ∥ 2 ≥ 1 L − μ ( ∥ u ∥ 2 − 2 μ Δ + μ 2 ∥ v ∥ 2 ) \Delta - \mu\|v\|^2 \geq \frac{1}{L-\mu}\left(\|u\|^2 - 2\mu\Delta + \mu^2\|v\|^2\right) Δ − μ ∥ v ∥ 2 ≥ L − μ 1 ( ∥ u ∥ 2 − 2 μ Δ + μ 2 ∥ v ∥ 2 ) 两边乘以 ( L − μ ) (L-\mu) ( L − μ ) 并移项,合并含 Δ \Delta Δ 的项:
( L − μ ) Δ + 2 μ Δ ≥ ∥ u ∥ 2 + μ 2 ∥ v ∥ 2 + μ ( L − μ ) ∥ v ∥ 2 (L-\mu)\Delta + 2\mu\Delta \geq \|u\|^2 + \mu^2\|v\|^2 + \mu(L-\mu)\|v\|^2 ( L − μ ) Δ + 2 μ Δ ≥ ∥ u ∥ 2 + μ 2 ∥ v ∥ 2 + μ ( L − μ ) ∥ v ∥ 2 即
( L + μ ) Δ ≥ ∥ u ∥ 2 + μ L ∥ v ∥ 2 (L+\mu)\Delta \geq \|u\|^2 + \mu L\|v\|^2 ( L + μ ) Δ ≥ ∥ u ∥ 2 + μL ∥ v ∥ 2 两边除以 ( L + μ ) (L+\mu) ( L + μ ) ,回代 u u u 和 v v v ,得到强凸函数梯度的加强版余强制不等式 :
( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) ≥ L μ + L ∥ ∇ f ( x ) − ∇ f ( y ) ∥ 2 + μ L μ + L ∥ x − y ∥ 2 ( † ) (\nabla f(x) - \nabla f(y))^\top(x-y) \geq \frac{L}{\mu+L}\|\nabla f(x) - \nabla f(y)\|^2 + \frac{\mu L}{\mu+L}\|x-y\|^2 \tag{$\dagger$} ( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) ≥ μ + L L ∥∇ f ( x ) − ∇ f ( y ) ∥ 2 + μ + L μL ∥ x − y ∥ 2 ( † ) 不等式 († \dagger † ) 同时包含梯度差的范数项和自变量差的范数项,比标准的余强制性更强。当 μ = 0 \mu = 0 μ = 0 (退化为凸函数)时,(† \dagger † ) 右端的第二项消失,回到普通的余强制性。
这个不等式是整个强凸收敛性证明的核心工具:它将 ∇ f ( x k ) ⊤ ( x k − x ∗ ) \nabla f(x^k)^\top(x^k - x^*) ∇ f ( x k ) ⊤ ( x k − x ∗ ) 这个内积项同时用 ∥ ∇ f ( x k ) ∥ 2 \|\nabla f(x^k)\|^2 ∥∇ f ( x k ) ∥ 2 和 ∥ x k − x ∗ ∥ 2 \|x^k - x^*\|^2 ∥ x k − x ∗ ∥ 2 从下方控制住,使得后续可以合并同类项。
第二步:建立迭代距离的递推。
考察
∥ x k + 1 − x ∗ ∥ 2 = ∥ x k − α ∇ f ( x k ) − x ∗ ∥ 2 \|x^{k+1} - x^*\|^2 = \|x^k - \alpha\nabla f(x^k) - x^*\|^2 ∥ x k + 1 − x ∗ ∥ 2 = ∥ x k − α ∇ f ( x k ) − x ∗ ∥ 2 展开平方得
= ∥ x k − x ∗ ∥ 2 − 2 α ∇ f ( x k ) ⊤ ( x k − x ∗ ) + α 2 ∥ ∇ f ( x k ) ∥ 2 = \|x^k - x^*\|^2 - 2\alpha\nabla f(x^k)^\top(x^k - x^*) + \alpha^2\|\nabla f(x^k)\|^2 = ∥ x k − x ∗ ∥ 2 − 2 α ∇ f ( x k ) ⊤ ( x k − x ∗ ) + α 2 ∥∇ f ( x k ) ∥ 2 由一阶最优性条件,∇ f ( x ∗ ) = 0 \nabla f(x^*) = 0 ∇ f ( x ∗ ) = 0 ,因此 ∇ f ( x k ) = ∇ f ( x k ) − ∇ f ( x ∗ ) \nabla f(x^k) = \nabla f(x^k) - \nabla f(x^*) ∇ f ( x k ) = ∇ f ( x k ) − ∇ f ( x ∗ ) 。将不等式 († \dagger † ) 应用于 x = x k x = x^k x = x k ,y = x ∗ y = x^* y = x ∗ :
∇ f ( x k ) ⊤ ( x k − x ∗ ) ≥ L μ + L ∥ ∇ f ( x k ) ∥ 2 + μ L μ + L ∥ x k − x ∗ ∥ 2 \nabla f(x^k)^\top(x^k - x^*) \geq \frac{L}{\mu+L}\|\nabla f(x^k)\|^2 + \frac{\mu L}{\mu+L}\|x^k - x^*\|^2 ∇ f ( x k ) ⊤ ( x k − x ∗ ) ≥ μ + L L ∥∇ f ( x k ) ∥ 2 + μ + L μL ∥ x k − x ∗ ∥ 2 代入展开式(注意系数 − 2 α -2\alpha − 2 α 带来的不等号翻转),合并含 ∥ ∇ f ( x k ) ∥ 2 \|\nabla f(x^k)\|^2 ∥∇ f ( x k ) ∥ 2 和 ∥ x k − x ∗ ∥ 2 \|x^k - x^*\|^2 ∥ x k − x ∗ ∥ 2 的同类项:
∥ x k + 1 − x ∗ ∥ 2 ≤ ( 1 − 2 α μ L μ + L ) ∥ x k − x ∗ ∥ 2 + α ( α − 2 L μ + L ) ∥ ∇ f ( x k ) ∥ 2 \|x^{k+1} - x^*\|^2 \leq \left(1 - \frac{2\alpha \mu L}{\mu+L}\right)\|x^k - x^*\|^2 + \alpha\left(\alpha - \frac{2L}{\mu+L}\right)\|\nabla f(x^k)\|^2 ∥ x k + 1 − x ∗ ∥ 2 ≤ ( 1 − μ + L 2 α μL ) ∥ x k − x ∗ ∥ 2 + α ( α − μ + L 2 L ) ∥∇ f ( x k ) ∥ 2 第三步:利用步长条件消去梯度项。
由 α ≤ 2 μ + L ≤ 2 L μ + L \alpha \leq \frac{2}{\mu+L} \leq \frac{2L}{\mu+L} α ≤ μ + L 2 ≤ μ + L 2 L (因为 L ≥ μ > 0 L \geq \mu > 0 L ≥ μ > 0 ),第二项的系数 α − 2 L μ + L ≤ 0 \alpha - \frac{2L}{\mu+L} \leq 0 α − μ + L 2 L ≤ 0 ,梯度项可以丢弃。这一步解释了步长条件 α ≤ 2 / ( μ + L ) \alpha \leq 2/(\mu+L) α ≤ 2/ ( μ + L ) 的来源——它不是事先给定的,而是为了消去梯度项而反推出来的。
∥ x k + 1 − x ∗ ∥ 2 ≤ ( 1 − 2 α μ L μ + L ) ∥ x k − x ∗ ∥ 2 \|x^{k+1} - x^*\|^2 \leq \left(1 - \frac{2\alpha \mu L}{\mu+L}\right)\|x^k - x^*\|^2 ∥ x k + 1 − x ∗ ∥ 2 ≤ ( 1 − μ + L 2 α μL ) ∥ x k − x ∗ ∥ 2 第四步:得出 Q-线性收敛。
记 c = 1 − 2 α μ L μ + L c = 1 - \frac{2\alpha \mu L}{\mu+L} c = 1 − μ + L 2 α μL 。由 α > 0 \alpha > 0 α > 0 和 μ , L > 0 \mu, L > 0 μ , L > 0 ,有 c < 1 c < 1 c < 1 。由 α ≤ 2 μ + L \alpha \leq \frac{2}{\mu+L} α ≤ μ + L 2 ,有 2 α μ L μ + L ≤ 4 μ L ( μ + L ) 2 ≤ 1 \frac{2\alpha \mu L}{\mu+L} \leq \frac{4\mu L}{(\mu+L)^2} \leq 1 μ + L 2 α μL ≤ ( μ + L ) 2 4 μL ≤ 1 ,因此 c ≥ 0 c \geq 0 c ≥ 0 。递推 k k k 步得
∥ x k − x ∗ ∥ 2 ≤ c k ∥ x 0 − x ∗ ∥ 2 \|x^k - x^*\|^2 \leq c^k \|x^0 - x^*\|^2 ∥ x k − x ∗ ∥ 2 ≤ c k ∥ x 0 − x ∗ ∥ 2 这正是 Q-线性收敛的定义:误差以几何级数衰减,公比为 c ∈ [ 0 , 1 ) c \in [0, 1) c ∈ [ 0 , 1 ) 。
取 α = 2 μ + L \alpha = \frac{2}{\mu+L} α = μ + L 2 (最大允许步长)时,
c = 1 − 4 μ L ( μ + L ) 2 = ( L − μ L + μ ) 2 c = 1 - \frac{4\mu L}{(\mu+L)^2} = \left(\frac{L-\mu}{L+\mu}\right)^2 c = 1 − ( μ + L ) 2 4 μL = ( L + μ L − μ ) 2 此即经典的梯度下降收敛率,由条件数 κ = L / μ \kappa = L/\mu κ = L / μ 决定。条件数越大(L L L 与 μ \mu μ 差距越大),c c c 越接近 1 1 1 ,收敛越慢;条件数为 1 1 1 (L = μ L = \mu L = μ )时 c = 0 c = 0 c = 0 ,一步到达最优。κ = 1 \kappa = 1 κ = 1 对应的是”完美圆球”形的目标函数(如 f ( x ) = L 2 ∥ x ∥ 2 f(x) = \frac{L}{2}\|x\|^2 f ( x ) = 2 L ∥ x ∥ 2 ),各方向曲率相同,无锯齿现象。
将线性收敛率换算为迭代次数:要使 ∥ x k − x ∗ ∥ 2 ≤ ε ∥ x 0 − x ∗ ∥ 2 \|x^k - x^*\|^2 \leq \varepsilon\|x^0 - x^*\|^2 ∥ x k − x ∗ ∥ 2 ≤ ε ∥ x 0 − x ∗ ∥ 2 ,需要 k ≥ log ( 1 / ε ) − log c k \geq \frac{\log(1/\varepsilon)}{-\log c} k ≥ − l o g c l o g ( 1/ ε ) 步。当 c = ( κ − 1 κ + 1 ) 2 c = \left(\frac{\kappa-1}{\kappa+1}\right)^2 c = ( κ + 1 κ − 1 ) 2 且 κ \kappa κ 较大时,− log c ≈ 4 / κ -\log c \approx 4/\kappa − log c ≈ 4/ κ ,所以 k ≈ κ 4 log ( 1 / ε ) k \approx \frac{\kappa}{4}\log(1/\varepsilon) k ≈ 4 κ log ( 1/ ε ) 。这就是对比表中 O ( κ log ( 1 / ε ) ) O(\kappa\log(1/\varepsilon)) O ( κ log ( 1/ ε )) 的来源。
证毕。■ \blacksquare ■
3.5.4 两类收敛性的对比# 最后一行的对比尤为重要:强凸情况下的迭代次数对精度 ε \varepsilon ε 仅有对数依赖——要多一位精度只需多 O ( κ ) O(\kappa) O ( κ ) 步迭代。而凸函数的 O ( 1 / ε ) O(1/\varepsilon) O ( 1/ ε ) 意味着每多一位精度需要 10 10 10 倍的迭代次数。
两类收敛性的证明结构也有鲜明对照。凸函数情况的证明中,核心技巧是配方构造望远镜结构,将 k k k 步的累积效果”摊薄”为 O ( 1 / k ) O(1/k) O ( 1/ k ) ;收敛度量是 f ( x k ) − f ∗ f(x^k) - f^* f ( x k ) − f ∗ ,因为凸函数没有唯一极小点的保证,无法直接控制 ∥ x k − x ∗ ∥ \|x^k - x^*\| ∥ x k − x ∗ ∥ 。强凸函数情况则直接在 ∥ x k − x ∗ ∥ 2 \|x^k - x^*\|^2 ∥ x k − x ∗ ∥ 2 上建立递推,强凸性保证了极小点唯一且提供了梯度与距离之间的定量联系,因此可以得到逐步收缩的几何级数衰减。
3.6 光滑凸函数的常用不等式# 在下降引理的基础上,当 f f f 同时满足连续可微、凸性和 L L L -光滑三个条件时,可以推导出一组在优化理论和论文证明中频繁使用的不等式。以下各命题对任意 x , y ∈ R n x, y \in \mathbb{R}^n x , y ∈ R n 和 α ∈ [ 0 , 1 ] \alpha \in [0,1] α ∈ [ 0 , 1 ] 成立。
3.6.1 双侧下降引理# 0 ≤ f ( y ) − f ( x ) − ∇ f ( x ) ⊤ ( y − x ) ≤ L 2 ∥ y − x ∥ 2 0 \leq f(y) - f(x) - \nabla f(x)^\top(y-x) \leq \frac{L}{2}\|y-x\|^2 0 ≤ f ( y ) − f ( x ) − ∇ f ( x ) ⊤ ( y − x ) ≤ 2 L ∥ y − x ∥ 2 左侧不等式来自凸性一阶条件,右侧即下降引理。这个不等式说:L L L -光滑凸函数被夹在一阶泰勒近似(下方)和一个二次函数(上方)之间。它是凸函数版本的下降引理的完整形式。在证明中,当需要同时利用凸性和光滑性对函数值差做双向控制时,这个不等式是首选工具。
3.6.2 Co-coercivity 的变体# f ( x ) + ∇ f ( x ) ⊤ ( y − x ) + 1 2 L ∥ ∇ f ( x ) − ∇ f ( y ) ∥ 2 ≤ f ( y ) f(x) + \nabla f(x)^\top(y-x) + \frac{1}{2L}\|\nabla f(x) - \nabla f(y)\|^2 \leq f(y) f ( x ) + ∇ f ( x ) ⊤ ( y − x ) + 2 L 1 ∥∇ f ( x ) − ∇ f ( y ) ∥ 2 ≤ f ( y ) 此不等式是凸性一阶条件 f ( y ) ≥ f ( x ) + ∇ f ( x ) ⊤ ( y − x ) f(y) \geq f(x) + \nabla f(x)^\top(y-x) f ( y ) ≥ f ( x ) + ∇ f ( x ) ⊤ ( y − x ) 的加强版:右端的函数值下界多了一个 1 2 L ∥ ∇ f ( x ) − ∇ f ( y ) ∥ 2 \frac{1}{2L}\|\nabla f(x) - \nabla f(y)\|^2 2 L 1 ∥∇ f ( x ) − ∇ f ( y ) ∥ 2 的正项。它说:从 x x x 处做线性预测 f ( y ) f(y) f ( y ) ,预测值不仅偏低(凸性),而且偏低的量至少有 1 2 L ∥ ∇ f ( x ) − ∇ f ( y ) ∥ 2 \frac{1}{2L}\|\nabla f(x) - \nabla f(y)\|^2 2 L 1 ∥∇ f ( x ) − ∇ f ( y ) ∥ 2 。这在需要估计函数值差与梯度差关系的证明中常用。
证明. 这就是 3.5.1 节 (2) ⇒ \Rightarrow ⇒ (3) 证明中的不等式 (I)。回顾该证明:构造 f x ( z ) = f ( z ) − ∇ f ( x ) ⊤ z f_x(z) = f(z) - \nabla f(x)^\top z f x ( z ) = f ( z ) − ∇ f ( x ) ⊤ z ,由条件 (2) 导出 f x f_x f x 的二次上界,再利用 x x x 是 f x f_x f x 的最小值点,得到
f ( y ) − f ( x ) − ∇ f ( x ) ⊤ ( y − x ) ≥ 1 2 L ∥ ∇ f ( y ) − ∇ f ( x ) ∥ 2 f(y) - f(x) - \nabla f(x)^\top(y-x) \geq \frac{1}{2L}\|\nabla f(y) - \nabla f(x)\|^2 f ( y ) − f ( x ) − ∇ f ( x ) ⊤ ( y − x ) ≥ 2 L 1 ∥∇ f ( y ) − ∇ f ( x ) ∥ 2 移项即为 3.6.2。■ \blacksquare ■
3.6.3 Co-coercivity 不等式# 1 L ∥ ∇ f ( x ) − ∇ f ( y ) ∥ 2 ≤ ( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) \frac{1}{L}\|\nabla f(x) - \nabla f(y)\|^2 \leq \left(\nabla f(x) - \nabla f(y)\right)^\top (x - y) L 1 ∥∇ f ( x ) − ∇ f ( y ) ∥ 2 ≤ ( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) 这就是 3.5.1 节等价条件引理中的条件 (3),即余强制性。它比梯度的单调性 ( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) ≥ 0 (\nabla f(x) - \nabla f(y))^\top(x-y) \geq 0 ( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) ≥ 0 更强:内积不仅非负,还被梯度差的范数平方除以 L L L 所下界。在证明中,当需要将 ∥ ∇ f ( x ) − ∇ f ( y ) ∥ 2 \|\nabla f(x) - \nabla f(y)\|^2 ∥∇ f ( x ) − ∇ f ( y ) ∥ 2 替换为更好处理的内积形式时,或者反过来需要将内积放缩为范数时,这个不等式非常有用。
证明. 将 3.6.2 对 ( x , y ) (x, y) ( x , y ) 和 ( y , x ) (y, x) ( y , x ) 分别写出:
f ( y ) − f ( x ) − ∇ f ( x ) ⊤ ( y − x ) ≥ 1 2 L ∥ ∇ f ( x ) − ∇ f ( y ) ∥ 2 f(y) - f(x) - \nabla f(x)^\top(y-x) \geq \frac{1}{2L}\|\nabla f(x) - \nabla f(y)\|^2 f ( y ) − f ( x ) − ∇ f ( x ) ⊤ ( y − x ) ≥ 2 L 1 ∥∇ f ( x ) − ∇ f ( y ) ∥ 2 f ( x ) − f ( y ) − ∇ f ( y ) ⊤ ( x − y ) ≥ 1 2 L ∥ ∇ f ( y ) − ∇ f ( x ) ∥ 2 f(x) - f(y) - \nabla f(y)^\top(x-y) \geq \frac{1}{2L}\|\nabla f(y) - \nabla f(x)\|^2 f ( x ) − f ( y ) − ∇ f ( y ) ⊤ ( x − y ) ≥ 2 L 1 ∥∇ f ( y ) − ∇ f ( x ) ∥ 2 两式相加,左端为 ( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) (\nabla f(x) - \nabla f(y))^\top(x-y) ( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) ,右端为 1 L ∥ ∇ f ( x ) − ∇ f ( y ) ∥ 2 \frac{1}{L}\|\nabla f(x) - \nabla f(y)\|^2 L 1 ∥∇ f ( x ) − ∇ f ( y ) ∥ 2 。■ \blacksquare ■
3.6.4 梯度差的范数上界# ( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) ≤ L ∥ x − y ∥ 2 \left(\nabla f(x) - \nabla f(y)\right)^\top(x - y) \leq L\|x - y\|^2 ( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) ≤ L ∥ x − y ∥ 2 这是 Lipschitz 连续性经由 Cauchy-Schwarz 不等式的直接推论:
( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) ≤ ∥ ∇ f ( x ) − ∇ f ( y ) ∥ ⋅ ∥ x − y ∥ ≤ L ∥ x − y ∥ 2 (\nabla f(x) - \nabla f(y))^\top(x-y) \leq \|\nabla f(x) - \nabla f(y)\| \cdot \|x-y\| \leq L\|x-y\|^2 ( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) ≤ ∥∇ f ( x ) − ∇ f ( y ) ∥ ⋅ ∥ x − y ∥ ≤ L ∥ x − y ∥ 2 与 3.6.3 联合,给出了 ( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) (\nabla f(x) - \nabla f(y))^\top(x-y) ( ∇ f ( x ) − ∇ f ( y ) ) ⊤ ( x − y ) 的双侧估计:下界为 1 L ∥ ∇ f ( x ) − ∇ f ( y ) ∥ 2 \frac{1}{L}\|\nabla f(x) - \nabla f(y)\|^2 L 1 ∥∇ f ( x ) − ∇ f ( y ) ∥ 2 ,上界为 L ∥ x − y ∥ 2 L\|x-y\|^2 L ∥ x − y ∥ 2 。当需要在证明中用 ∥ x − y ∥ 2 \|x - y\|^2 ∥ x − y ∥ 2 控制梯度相关的内积项时,这个上界提供了最直接的放缩。
3.6.5 凸组合的函数值下界# α f ( x ) + ( 1 − α ) f ( y ) ≥ f ( α x + ( 1 − α ) y ) + 1 2 L α ( 1 − α ) ∥ ∇ f ( x ) − ∇ f ( y ) ∥ 2 \alpha f(x) + (1-\alpha) f(y) \geq f(\alpha x + (1-\alpha)y) + \frac{1}{2L}\alpha(1-\alpha)\|\nabla f(x) - \nabla f(y)\|^2 α f ( x ) + ( 1 − α ) f ( y ) ≥ f ( α x + ( 1 − α ) y ) + 2 L 1 α ( 1 − α ) ∥∇ f ( x ) − ∇ f ( y ) ∥ 2 这是凸性定义 α f ( x ) + ( 1 − α ) f ( y ) ≥ f ( α x + ( 1 − α ) y ) \alpha f(x) + (1-\alpha)f(y) \geq f(\alpha x + (1-\alpha)y) α f ( x ) + ( 1 − α ) f ( y ) ≥ f ( α x + ( 1 − α ) y ) 的加强版:右端多出了一个关于梯度差的正项,量化了光滑凸函数比一般凸函数”更凸”的程度。在涉及凸组合的收敛性分析(如加速方法的证明)中,这个额外的正项提供了关键的改进余量。
3.6.6 凸组合的函数值上界# α f ( x ) + ( 1 − α ) f ( y ) ≤ f ( α x + ( 1 − α ) y ) + L 2 α ( 1 − α ) ∥ x − y ∥ 2 \alpha f(x) + (1-\alpha)f(y) \leq f(\alpha x + (1-\alpha)y) + \frac{L}{2}\alpha(1-\alpha)\|x-y\|^2 α f ( x ) + ( 1 − α ) f ( y ) ≤ f ( α x + ( 1 − α ) y ) + 2 L α ( 1 − α ) ∥ x − y ∥ 2 与 3.6.5 联合给出了 α f ( x ) + ( 1 − α ) f ( y ) \alpha f(x) + (1-\alpha)f(y) α f ( x ) + ( 1 − α ) f ( y ) 与 f ( α x + ( 1 − α ) y ) f(\alpha x + (1-\alpha)y) f ( α x + ( 1 − α ) y ) 之间差距的双侧估计:下界由梯度差控制(3.6.5),上界由点的距离控制(3.6.6)。两个不等式合在一起的含义是:光滑凸函数的凸组合与凸组合处的函数值之差,被精确地夹在 1 2 L α ( 1 − α ) ∥ ∇ f ( x ) − ∇ f ( y ) ∥ 2 \frac{1}{2L}\alpha(1-\alpha)\|\nabla f(x) - \nabla f(y)\|^2 2 L 1 α ( 1 − α ) ∥∇ f ( x ) − ∇ f ( y ) ∥ 2 和 L 2 α ( 1 − α ) ∥ x − y ∥ 2 \frac{L}{2}\alpha(1-\alpha)\|x-y\|^2 2 L α ( 1 − α ) ∥ x − y ∥ 2 之间。
这六个不等式在论文中常被直接引用而不附证明。熟练掌握它们之后,理解论文中的收敛性分析会顺畅得多。
逻辑关系与使用指南。 这些不等式之间的推导关系是:3.6.1(双侧下降引理)是基础,3.6.2 由 3.5.1 节等价条件引理 (2) ⇒ \Rightarrow ⇒ (3) 的中间步骤直接得出(即不等式 (I)),3.6.3(余强制性)由 3.6.2 对称化得出,3.6.4 是 Lipschitz 条件的直接推论,3.6.5 和 3.6.6 可由前述不等式对凸组合的两端分别应用并整理得到。
在阅读论文证明时,遇到”由光滑凸函数的性质”或”由 L L L -光滑性和凸性”一笔带过的步骤,大概率用到的就是这六个不等式中的某一个。识别的线索是:看不等式中出现的是函数值差、梯度差的范数、还是内积形式——函数值差对应 3.6.1 和 3.6.2,内积形式对应 3.6.3 和 3.6.4,凸组合对应 3.6.5 和 3.6.6。
3.7 线性化展开视角# 前面几节从下降引理出发分析了梯度下降的收敛性,建立了完整的量化理论。本节从一个不同的角度重新审视梯度下降:将每步迭代理解为一个子问题的求解。这一视角不仅为梯度下降提供了新的直觉,更重要的是它自然地推广到约束优化(第四章投影梯度法)和非光滑优化(第五章邻近算法),构成统一的算法设计框架。
3.7.1 从泰勒展开到近端子问题# 对目标函数 f ( x ) f(x) f ( x ) 在 x k x^k x k 处做一阶泰勒展开:
f ( x ) ≈ f ( x k ) + ⟨ ∇ f ( x k ) , x − x k ⟩ f(x) \approx f(x^k) + \langle \nabla f(x^k),\, x - x^k \rangle f ( x ) ≈ f ( x k ) + ⟨ ∇ f ( x k ) , x − x k ⟩ 右端关于 x x x 是线性函数,若直接最小化该线性近似,由于线性函数可以取到 − ∞ -\infty − ∞ ,问题无下界。为此,在线性近似的基础上添加一个二次正则项(近端项),构造子问题:
x k + 1 = arg min x { f ( x k ) + ⟨ ∇ f ( x k ) , x − x k ⟩ + 1 2 α k ∥ x − x k ∥ 2 } x^{k+1} = \arg\min_{x} \left\{ f(x^k) + \langle \nabla f(x^k),\, x - x^k \rangle + \frac{1}{2\alpha_k} \|x - x^k\|^2 \right\} x k + 1 = arg x min { f ( x k ) + ⟨ ∇ f ( x k ) , x − x k ⟩ + 2 α k 1 ∥ x − x k ∥ 2 } 前半部分是 f f f 在 x k x^k x k 处的一阶近似(线性项),后半部分 1 2 α k ∥ x − x k ∥ 2 \frac{1}{2\alpha_k}\|x - x^k\|^2 2 α k 1 ∥ x − x k ∥ 2 是近端项,保证了整个子问题是强凸的。近端项的系数 1 / ( 2 α k ) 1/(2\alpha_k) 1/ ( 2 α k ) 控制了对当前点的信赖程度:α k \alpha_k α k 越小,正则化越强,新点越靠近 x k x^k x k 。
这个子问题的构造与下降引理有直接的对应关系:下降引理说 f ( y ) ≤ f ( x ) + ∇ f ( x ) ⊤ ( y − x ) + L 2 ∥ y − x ∥ 2 f(y) \leq f(x) + \nabla f(x)^\top(y-x) + \frac{L}{2}\|y-x\|^2 f ( y ) ≤ f ( x ) + ∇ f ( x ) ⊤ ( y − x ) + 2 L ∥ y − x ∥ 2 ,子问题中的目标函数恰好就是这个上界(当 α k = 1 / L \alpha_k = 1/L α k = 1/ L 时)。因此,最小化子问题等价于最小化 f f f 在 x k x^k x k 处的二次上界。这解释了为什么最优常数步长 α k = 1 / L \alpha_k = 1/L α k = 1/ L 能给出最好的收敛保证——它对应的是”最紧的二次上界”的最小化。
3.7.2 线性化展开与梯度下降的等价性# 命题. 线性化展开子问题的最优解恰好就是梯度下降的迭代公式。
证明. 常数项 f ( x k ) f(x^k) f ( x k ) 不影响最优解。线性项关于 x x x 的梯度为 ∇ f ( x k ) \nabla f(x^k) ∇ f ( x k ) ,二次项关于 x x x 的梯度为 1 α k ( x − x k ) \frac{1}{\alpha_k}(x - x^k) α k 1 ( x − x k ) 。对整个子问题关于 x x x 求导并令其为零:
∇ f ( x k ) + 1 α k ( x k + 1 − x k ) = 0 \nabla f(x^k) + \frac{1}{\alpha_k}(x^{k+1} - x^k) = 0 ∇ f ( x k ) + α k 1 ( x k + 1 − x k ) = 0 整理即得
x k + 1 = x k − α k ∇ f ( x k ) x^{k+1} = x^k - \alpha_k \nabla f(x^k) x k + 1 = x k − α k ∇ f ( x k ) 这正是梯度下降的迭代公式。子问题中 1 2 α k ∥ x − x k ∥ 2 \frac{1}{2\alpha_k}\|x - x^k\|^2 2 α k 1 ∥ x − x k ∥ 2 项使整个目标函数关于 x x x 是强凸的(系数为 1 / α k 1/\alpha_k 1/ α k ),保证了驻点即全局最优,推导严格成立。■ \blacksquare ■
这个等价性揭示了梯度下降的一个深层含义:梯度下降并不是”沿梯度走一步”这么简单,它实际上是在最小化目标函数的局部二次近似模型 。步长 α k \alpha_k α k 等价于近似模型中二次项的系数,因此步长的选取本质上是在决定”对当前点的一阶近似信任到什么程度”。
3.7.3 推广视角:从梯度下降到近端算子# 线性化展开的框架具有强大的推广能力:
有约束问题 :当问题带有约束 x ∈ Ω x \in \Omega x ∈ Ω 时,利用指示函数 ι Ω ( x ) \iota_\Omega(x) ι Ω ( x ) 将约束吸收进目标函数,对可导部分做线性化展开,保留不可导的 ι Ω \iota_\Omega ι Ω 项。所得子问题的最优解恰好是投影梯度法的迭代公式 x k + 1 = P Ω ( x k − α k ∇ f ( x k ) ) x^{k+1} = P_\Omega(x^k - \alpha_k \nabla f(x^k)) x k + 1 = P Ω ( x k − α k ∇ f ( x k )) ,其中 P Ω P_\Omega P Ω 是到凸集 Ω \Omega Ω 上的投影算子。这一推导涉及次微分、法锥和预解式算子的概念,将在第四章详细展开。
非光滑优化 :当目标函数为 f ( x ) + g ( x ) f(x) + g(x) f ( x ) + g ( x ) ,其中 f f f 光滑而 g g g 不光滑时,对 f f f 做线性化展开、保留 g g g ,所得子问题的最优解定义了近端算子 p r o x α g \mathrm{prox}_{\alpha g} prox α g ,由此产生近端梯度法。这将在第五章讨论。
从算子的角度看,近端算子 p r o x α g ( y ) = arg min x { g ( x ) + 1 2 α ∥ x − y ∥ 2 } \mathrm{prox}_{\alpha g}(y) = \arg\min_x \left\{g(x) + \frac{1}{2\alpha}\|x - y\|^2\right\} prox α g ( y ) = arg min x { g ( x ) + 2 α 1 ∥ x − y ∥ 2 } 恰好等于预解式算子 ( I + α ∂ g ) − 1 ( y ) (I + \alpha\,\partial g)^{-1}(y) ( I + α ∂ g ) − 1 ( y ) 。当 g = ι Ω g = \iota_\Omega g = ι Ω (指示函数)时,近端算子退化为投影算子 P Ω P_\Omega P Ω ;当 g = 0 g = 0 g = 0 (无正则项)时,退化为普通的梯度下降。梯度下降、投影梯度法、近端梯度法由此统一在同一个框架之下。
这种统一视角的实用价值在于:一旦为梯度下降建立了收敛性分析框架(下降引理 + 凸性 + 步长条件),推广到投影梯度法和近端梯度法时,证明的结构几乎不变——只需将梯度步替换为近端步,核心不等式的形式完全类似。因此,深入理解本章的分析方法是后续章节的基础。