第三章:梯度下降与线搜索

12301 字
62 分钟
第三章:梯度下降与线搜索
文章摘要

迭代框架与 L-光滑性、线搜索准则、下降引理、凸与强凸函数上的收敛率、线性化展开视角。

梯度下降法是连续优化中最基本、最重要的一阶算法。它的思想朴素而自然:沿目标函数下降最快的方向迭代前进,逐步逼近最优解。然而,“下降最快的方向”只解决了方向问题,每一步走多远——即步长的选取——同样至关重要。步长过大可能导致函数值上升,步长过小则使迭代停滞不前。

本章的组织如下。3.1 节建立迭代优化的一般框架,引入 LL-光滑性这一贯穿全书的核心概念,并给出梯度下降的基本迭代格式。3.2 节讨论步长选取的线搜索方法,包括精确线搜索、Armijo 准则和 Wolfe 准则。3.3 节推导收敛性分析的核心工具——下降引理,并解释它与步长限制 αk<2/L\alpha_k < 2/L 的联系。3.4 和 3.5 节分别在凸函数和强凸函数上分析收敛速度,得到 O(1/k)O(1/k) 次线性和 O(ck)O(c^k) Q-线性两类收敛率。3.6 节汇总光滑凸函数的常用不等式。3.7 节从线性化展开的角度重新审视梯度下降,揭示它与近端算子、投影梯度法之间的内在联系,为后续章节(第四章投影梯度法、第五章邻近算法)奠定统一的理论框架。3.8 节总结证明方法论。


3.1 迭代优化的一般框架与梯度下降#

3.1.1 迭代算法的一般步骤#

任何迭代优化算法都遵循相同的框架:

  1. 输入:初始点 x0x^0,停机精度 ε\varepsilon,迭代计数 k=0k = 0
  2. 判断停机:若停机准则满足(如 f(xk)<ε\|\nabla f(x^k)\| < \varepsilon),输出 xkx^k 并停止
  3. 确定下降方向:在 xkx^k 处找一个下降方向 dkd_k
  4. 确定步长:选取步长 αk>0\alpha_k > 0,使得 f(xk+αkdk)<f(xk)f(x^k + \alpha_k d_k) < f(x^k)(通过线搜索)
  5. 更新xk+1=xk+αkdkx^{k+1} = x^k + \alpha_k d_kkk+1k \leftarrow k + 1,返回第 2 步

其中下降方向有严格的定义:ddffxx 处的下降方向,若存在 tˉ>0\bar{t} > 0,使得对所有 t(0,tˉ)t \in (0, \bar{t})f(x+td)<f(x)f(x + td) < f(x)。对可微函数,dd 是下降方向的充分条件为 f(x)d<0\nabla f(x)^\top d < 0,即 dd 与梯度的夹角大于 90°90°。这个条件的几何含义是:dd 在负梯度方向上有正的投影分量,沿 dd 移动足够小的步长后函数值必然下降。

不同算法的区别在于第 3、4 步的具体策略:梯度下降取 dk=f(xk)d_k = -\nabla f(x^k)(最简单的选择),共轭梯度法取 dkd_k 为负梯度的共轭修正方向,牛顿法取 dk=[2f(xk)]1f(xk)d_k = -[\nabla^2 f(x^k)]^{-1}\nabla f(x^k)(利用二阶信息)。本章聚焦于梯度下降。

3.1.2 LL-光滑性:Lipschitz 连续梯度#

在分析梯度下降的收敛性之前,需要对目标函数的”弯曲程度”做出量化约束。这由 LL-光滑性给出,它是本章乃至全书最频繁使用的正则性条件。

定义(LL-光滑性). 设可微函数 f:RnRf: \mathbb{R}^n \to \mathbb{R},若存在常数 L>0L > 0,使得对任意 x,yRnx, y \in \mathbb{R}^n

f(x)f(y)Lxy\|\nabla f(x) - \nabla f(y)\| \leq L\|x - y\|

则称 ff 的梯度是 Lipschitz 连续的(Lipschitz 常数为 LL),也称 ffLL-光滑的。

LL-光滑性对函数施加了一个全局约束:梯度的变化速率不超过 LL。常数 LL 衡量的是梯度变化的剧烈程度——LL 越大,梯度在相邻两点之间的差异越大,函数的”弯曲”就越厉害。对于二次函数 f(x)=12xAxf(x) = \frac{1}{2}x^\top A xLL 恰好等于 AA 的最大特征值 λmax(A)\lambda_{\max}(A),这直接反映了函数沿曲率最大方向的弯曲程度。

LL-光滑性有三个重要的等价刻画(当 ff 额外为凸时):

(1) 梯度 Lipschitz 连续(常数 LL);

(2) 函数 g(x)=L2xxf(x)g(x) = \frac{L}{2}x^\top x - f(x) 是凸函数——这等价于 f(x)f(x) 的增长不超过二次函数 L2x2\frac{L}{2}\|x\|^2

(3) 梯度算子是余强制(cocoercive)的:对任意 x,yx, y

(f(x)f(y))(xy)1Lf(x)f(y)2(\nabla f(x) - \nabla f(y))^\top(x - y) \geq \frac{1}{L}\|\nabla f(x) - \nabla f(y)\|^2

这三个等价条件将在 3.5.1 节中正式陈述并用于证明。此处先给出直觉:条件 (2) 说 LL-光滑性本质上是一个”函数弯曲程度的上界”——函数被 L2x2\frac{L}{2}\|x\|^2 这个二次函数”压住”,不能弯曲得太厉害。条件 (3) 比梯度的单调性更强:不仅梯度差与自变量差的内积非负,还被梯度差的范数平方所下界。

LL 对算法设计的直接影响在于:LL 越大,函数越”难以预测”——一阶泰勒近似的有效范围越小,梯度下降每一步能安全走的距离就越短,步长上界越小。后面的分析将精确给出步长必须满足 αk<2/L\alpha_k < 2/L,最优步长为 1/L1/L

LL-光滑性的一个直接推论是二次上界:对任意 x,yx, y

f(y)f(x)+f(x)(yx)+L2yx2f(y) \leq f(x) + \nabla f(x)^\top(y - x) + \frac{L}{2}\|y - x\|^2

这正是下降引理的内容(3.3 节将给出完整证明)。二次上界进一步蕴含了梯度范数对函数值差的控制:若 ff 存在全局极小点 xx^*,在上式中对 yy 取下确界,取 y=x1Lf(x)y = x - \frac{1}{L}\nabla f(x) 时右端达到最小,得到

f(x)f(x)12Lf(x)2f(x^*) \leq f(x) - \frac{1}{2L}\|\nabla f(x)\|^2

f(x)f(x)12Lf(x)2f(x) - f(x^*) \geq \frac{1}{2L}\|\nabla f(x)\|^2。这个不等式在收敛性分析中反复出现:它将梯度范数(算法可计算的量)与函数值差(我们关心的量)联系起来。

3.1.3 梯度下降算法#

在一般框架中取 dk=f(xk)d_k = -\nabla f(x^k)(负梯度方向)时,迭代格式变为梯度下降算法(Gradient Descent):

xk+1=xkαkf(xk)x^{k+1} = x^k - \alpha_k \nabla f(x^k)

负梯度方向是局部下降最快的方向,这一点可由一阶泰勒展开看出:在 d=1\|d\| = 1 的约束下,f(x+ϵd)f(x)+ϵf(x)df(x + \epsilon d) \approx f(x) + \epsilon \nabla f(x)^\top d 的下降量 f(x)d-\nabla f(x)^\top dd=f(x)/f(x)d = -\nabla f(x)/\|\nabla f(x)\| 时取最大值。

梯度下降的核心任务是分析该算法在不同函数类上的收敛性收敛速度,而这需要对步长 αk\alpha_k 的选取策略做出恰当的规定。

步长 αk\alpha_k 的选取是梯度下降中最微妙的问题。一个极端是取固定步长 αk=1/L\alpha_k = 1/L,优点是不需要额外计算,但要求事先知道 LL 的值。另一个极端是精确线搜索,每步都求解一维优化问题来获取最优步长,代价高但步长最优。实际中最常用的折中方案是非精确线搜索(如回退法配合 Armijo 准则),不需要知道 LL,每步只需几次函数求值。


3.2 线搜索与步长选取#

每一步迭代确定了下降方向 dkd_k 之后,步长 αk\alpha_k 的选取直接决定算法的性能。选取步长的过程称为线搜索(line search):由于 xkx^kdkd_k 已固定,f(xk+αdk)f(x^k + \alpha d_k) 是关于 α\alpha 的一元函数,步长选取就是在一条射线上搜索合适的点。

3.2.1 精确线搜索与最速下降法#

最理想的做法是求解一维优化问题:

αk=argminα>0f(xk+αdk)\alpha_k = \arg\min_{\alpha > 0} f(x^k + \alpha\, d_k)

这称为精确线搜索。当下降方向取 dk=f(xk)d_k = -\nabla f(x^k) 时,精确线搜索配合负梯度方向构成最速下降法(Steepest Descent)。

最速下降法有一个有趣的性质:相邻两步的下降方向互相垂直。证明如下:对 ϕ(α)=f(xk+αdk)\phi(\alpha) = f(x^k + \alpha d_k) 求导并令其为零,由精确线搜索的最优性条件得

ϕ(αk)=f(xk+1)dk=0\phi'(\alpha_k) = \nabla f(x^{k+1})^\top d_k = 0

f(xk+1)f(xk)=0\nabla f(x^{k+1})^\top \nabla f(x^k) = 0,故 dk+1dkd_{k+1} \perp d_k

这一正交性导致了锯齿现象:迭代轨迹呈锯齿形,初期远离最优点时下降很快,接近最优点后锯齿越来越密集、步长越来越小,收敛变慢。

以二次函数 f(x,y)=x2+10y2f(x, y) = x^2 + 10y^2 为例,最速下降法的迭代轨迹会在椭圆等高线之间来回折返。等高线越扁(条件数越大),锯齿越密集,收敛越慢。

对于正定二次函数 f(x)=12xAxbxf(x) = \frac{1}{2}x^\top A x - b^\top x,可以精确推导最速下降法的收敛率。梯度为 f(x)=Axb\nabla f(x) = Ax - b,精确线搜索的步长通过 ddαf(xkαf(xk))=0\frac{d}{d\alpha}f(x^k - \alpha \nabla f(x^k)) = 0 求得:

αk=f(xk)2f(xk)Af(xk)\alpha_k = \frac{\|\nabla f(x^k)\|^2}{\nabla f(x^k)^\top A\, \nabla f(x^k)}

记误差向量 ek=xkxe^k = x^k - x^*,则 f(xk)=Aek\nabla f(x^k) = Ae^k,迭代格式变为 ek+1=(IαkA)eke^{k+1} = (I - \alpha_k A)e^k。在 AA-范数 xA=xAx\|x\|_A = \sqrt{x^\top Ax} 下,

ek+1A2=ek(IαkA)A(IαkA)ek\|e^{k+1}\|_A^2 = e^{k\top}(I - \alpha_k A) A (I - \alpha_k A) e^k

eke^k 展开到 AA 的特征基 {vi}\{v_i\} 下,ek=icivie^k = \sum_i c_i v_i,代入 αk\alpha_k 的表达式并化简,可以证明

ek+1A2ekA2maxα>0maxi(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

其中 λ1,λn\lambda_1, \lambda_n 分别是 AA 的最大、最小特征值。最后一个等号成立的原因是:对固定的 α\alpha(1αλ)2(1 - \alpha\lambda)^2λ=λn\lambda = \lambda_nλ=λ1\lambda = \lambda_1 处取极值,选取使二者绝对值相等的 α=2/(λ1+λn)\alpha = 2/(\lambda_1 + \lambda_n) 即得到上述最坏情形公比。条件数 κ=λ1/λn\kappa = \lambda_1/\lambda_n 越大,公比 (κ1κ+1)2\left(\frac{\kappa - 1}{\kappa + 1}\right)^2 越接近 11,收敛越慢。

锯齿现象是最速下降法的固有缺陷,也是促使人们寻找更好步长策略(如 Barzilai-Borwein 方法)或更好搜索方向(如共轭梯度法、牛顿法)的动因。

3.2.2 非精确线搜索#

精确线搜索每步都要求解一维优化问题,计算代价高。实际中更常用非精确线搜索——只要求步长满足两个基本要求:

  1. 保下降f(xk+1)<f(xk)f(x^{k+1}) < f(x^k)
  2. 不太小:步长不能趋于零(否则算法不前进)

满足这两个要求的经典准则有 Armijo 准则、Goldstein 准则和 Wolfe 准则,其中 Armijo 准则Wolfe 准则最为常用。

3.2.3 Armijo 准则#

dkd_kxkx^k 处的下降方向,步长 α\alpha 满足 Armijo 条件

f(xk+αdk)f(xk)+c1αf(xk)dk,c1(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)

右端的几何含义是一条过 (0,f(xk))(0, f(x^k)) 的直线,斜率为 c1f(xk)dkc_1\,\nabla f(x^k)^\top d_k。由于 dkd_k 是下降方向,f(xk)dk<0\nabla f(x^k)^\top d_k < 0,因此右端第二项为负,Armijo 条件保证了函数值的严格下降:f(xk+αdk)f(xk)+负数<f(xk)f(x^k + \alpha d_k) \leq f(x^k) + \text{负数} < f(x^k)

参数 c1c_1 控制了下降的充分程度。c1c_1 越接近 00,条件越宽松;c1c_1 越接近 11,要求的下降量越接近线性近似预测的下降量。实际中常取 c1=104c_1 = 10^{-4} 一类的小值。

Armijo 准则的一个缺陷是 α=0\alpha = 0 总满足条件,因此仅靠 Armijo 准则无法排除步长过小的情况。需要配合回退法(取最小 mkm_k)或其他准则(如 Wolfe 的曲率条件)来保证步长不会退化为零。

仅使用 Armijo 准则而不加保护会导致算法失败的例子并不难构造。考虑一维问题 f(x)=x2f(x) = x^2,若选取 αk\alpha_k 使得迭代点交替为 xk=(1)k/kx^k = (-1)^k / k,函数值 f(xk)=1/k2f(x^k) = 1/k^2 确实单调下降且满足 Armijo 条件,但迭代点在原点两侧振荡,不收敛到极小点。这说明”函数值下降”本身不足以保证收敛,还需要步长不能太小。

3.2.4 Wolfe 准则#

Wolfe 准则在 Armijo 条件的基础上增加了一个曲率条件,用于排除步长过小的情况。步长 α\alpha 满足 Wolfe 准则,若同时满足:

f(xk+αdk)f(xk)+c1αf(xk)dk(充分下降条件)f(x^k + \alpha\, d_k) \leq f(x^k) + c_1\,\alpha\,\nabla f(x^k)^\top d_k \tag{充分下降条件}
f(xk+αdk)dkc2f(xk)dk(曲率条件)\nabla f(x^k + \alpha\, d_k)^\top d_k \geq c_2\,\nabla f(x^k)^\top d_k \tag{曲率条件}

其中 c1,c2(0,1)c_1, c_2 \in (0, 1)c1<c2c_1 < c_2。实际中常取 c1=104c_1 = 10^{-4}c2=0.9c_2 = 0.9

第一个条件就是 Armijo 条件。第二个条件的含义是:记 ϕ(α)=f(xk+αdk)\phi(\alpha) = f(x^k + \alpha d_k),则 ϕ(α)=f(xk+αdk)dk\phi'(\alpha) = \nabla f(x^k + \alpha d_k)^\top d_k,曲率条件要求 ϕ(α)c2ϕ(0)\phi'(\alpha) \geq c_2 \phi'(0)。由于 ϕ(0)<0\phi'(0) < 0(下降方向),曲率条件要求 ϕ\phiα\alpha 处的斜率不能太负——换言之,函数在该点处不能还在急剧下降,否则说明步长还可以更大。

Wolfe 准则与 Armijo 准则的区别在于:Armijo 只管”步长不能太大”(函数值要充分下降),Wolfe 还管”步长不能太小”(曲率条件排除了函数还在快速下降的点)。精确线搜索的最优步长 α\alpha^*ϕ(α)=0\phi'(\alpha^*) = 0,总是满足曲率条件,因此 Wolfe 准则在大多数情况下包含精确线搜索的解。

在拟牛顿法(BFGS、L-BFGS)等算法中,Wolfe 准则是必需的——这些算法依赖曲率条件来保证 Hessian 近似矩阵的正定性。Wolfe 准则也是 Zoutendijk 定理的前提条件:该定理保证在梯度 Lipschitz 连续的下有界函数上,满足 Wolfe 准则的线搜索算法必然有 k=0cos2θkf(xk)2<+\sum_{k=0}^{\infty}\cos^2\theta_k\|\nabla f(x^k)\|^2 < +\infty(其中 θk\theta_k 为下降方向与负梯度的夹角),进而当 θk\theta_k 有远离 π/2\pi/2 的一致下界时,f(xk)0\nabla f(x^k) \to 0

Armijo vs Wolfe 小结. Armijo 准则实现简单(配合回退法即可),足以保证梯度下降的收敛性,是本章分析的默认步长策略。Wolfe 准则条件更强,保证精确线搜索解被包含,是拟牛顿法等高阶方法的标配。在读论文时遇到”步长满足 Wolfe 条件”的假设,可以理解为”步长既不太大也不太小”。

3.2.5 回退法(Backtracking)#

回退法是寻找满足 Armijo 准则步长的标准算法。设 αk=βγmk\alpha_k = \beta \cdot \gamma^{m_k},其中 β>0\beta > 0 为初始步长,γ(0,1)\gamma \in (0, 1) 为缩减因子。

算法流程:从 mk=0m_k = 0(即 α=β\alpha = \beta)开始,逐步增大 mkm_k(即逐步缩小 α\alpha),直到找到最小正整数 mkm_k 使 Armijo 条件成立。

回退法同时满足了”保下降”和”不太小”两个要求:Armijo 条件保证下降,取最小正整数 mkm_k 保证步长不会被不必要地缩小——一旦满足条件就立即停止回退。

回退法的局限在于它无法保证找到满足 Wolfe 准则的步长,因为曲率条件 ϕ(α)c2ϕ(0)\phi'(\alpha) \geq c_2\phi'(0) 不一定在回退过程中被满足。需要 Wolfe 步长时,需使用更复杂的线搜索算法(如 Fletcher 的 zoom 算法),该算法在满足 Armijo 条件的区间内进一步搜索满足曲率条件的点。

回退法的另一个实际问题是对初始步长 β\beta 和缩减因子 γ\gamma 的敏感性。γ\gamma 过大(如 0.90.9)时每次缩减幅度小,需要多次试探;γ\gamma 过小(如 0.10.1)时可能跳过较好的步长。一种改进是基于多项式插值的线搜索:利用已知的函数值和梯度信息构造二次插值函数,用其极小点作为下一个试探步长,比指数缩减更高效。

至此,梯度下降的算法框架和步长选取策略已经完整。接下来转向收敛性分析:梯度下降在什么条件下收敛?收敛有多快?回答这些问题的核心工具是下降引理


3.3 下降引理#

下降引理(Descent Lemma)是最优化理论中最经典、最常用的基础工具之一,在算法收敛性分析和论文推导中几乎无处不在。它的核心思想可以一句话概括:LL-光滑函数可以被一个二次函数从上方控制。换言之,函数值与其一阶泰勒近似的偏差不超过 L2yx2\frac{L}{2}\|y - x\|^2

3.3.1 引理陈述#

引理(下降引理).f:RnRf: \mathbb{R}^n \to \mathbb{R}LL-光滑函数(即连续可微且梯度 LL-Lipschitz 连续),则对任意 x,yRnx, y \in \mathbb{R}^n,有

f(y)f(x)f(x)(yx)L2yx2\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)(yx)+L2yx2f(y) \leq f(x) + \nabla f(x)^\top(y - x) + \frac{L}{2}\|y - x\|^2

这个不等式与泰勒展开的关系非常直接。回忆函数 ffxx 处的一阶泰勒展开为 f(y)f(x)+f(x)(yx)f(y) \approx f(x) + \nabla f(x)^\top(y - x),余项是 f(y)f(x)f(x)(yx)f(y) - f(x) - \nabla f(x)^\top(y-x)。对于二阶可微的函数,余项等于 12(yx)2f(ξ)(yx)\frac{1}{2}(y-x)^\top \nabla^2 f(\xi)(y-x),其大小取决于 Hessian 矩阵。下降引理的意义在于:即使不假设二阶可微,只要梯度 Lipschitz 连续,余项就可以被 L2yx2\frac{L}{2}\|y-x\|^2 统一控制。因此,LL-光滑函数在每一点都被一个开口为 LL 的二次函数从上方”罩住”。

ff 额外满足凸性时,由一阶条件 f(y)f(x)+f(x)(yx)f(y) \geq f(x) + \nabla f(x)^\top(y-x),下降引理给出双侧夹逼:

0f(y)f(x)f(x)(yx)L2yx20 \leq f(y) - f(x) - \nabla f(x)^\top(y-x) \leq \frac{L}{2}\|y-x\|^2

左侧不等式来自凸性(二次下界),右侧来自 LL-光滑性(二次上界)。凸性提供下界,光滑性提供上界——两者互补,共同刻画了函数值与线性近似之间的精确偏差范围。

用更直观的方式理解:f(y)f(y) 的值被夹在两个二次函数之间。下方的二次函数是 f(x)+f(x)(yx)f(x) + \nabla f(x)^\top(y-x)(一阶泰勒近似,即切平面),上方的是 f(x)+f(x)(yx)+L2yx2f(x) + \nabla f(x)^\top(y-x) + \frac{L}{2}\|y-x\|^2(切平面加一个开口为 LL 的抛物面)。LL 越小,两个二次函数越贴近,对函数值的定位越精确。这就是为什么 LL 小的函数”更好优化”——每一步的线性近似质量更高,可以走更大的步长。

3.3.2 证明#

证明的核心思路是构造辅助函数 + 积分 + Lipschitz 条件放缩

第一步:构造辅助函数并积分。 定义

g(t)=f(x+t(yx)),t[0,1]g(t) = f(x + t(y - x)), \quad t \in [0, 1]

其关键性质为:g(0)=f(x)g(0) = f(x)g(1)=f(y)g(1) = f(y)g(t)=f(x+t(yx))(yx)g'(t) = \nabla f(x + t(y-x))^\top (y - x)。由微积分基本定理:

f(y)f(x)=g(1)g(0)=01g(t)dt=01f(x+t(yx))(yx)dtf(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

注意 g(0)=f(x)(yx)g'(0) = \nabla f(x)^\top(y - x),因此

f(y)f(x)f(x)(yx)=01[f(x+t(yx))f(x)](yx)dtf(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

第二步:取绝对值并用 Cauchy-Schwarz 不等式放缩。 对积分取绝对值,利用 01h(t)dt01h(t)dt\left|\int_0^1 h(t)\,dt\right| \leq \int_0^1 |h(t)|\,dt,再对被积函数应用 Cauchy-Schwarz 不等式:

f(y)f(x)f(x)(yx)01f(x+t(yx))f(x)yxdt\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

第三步:利用 Lipschitz 连续性。f\nabla f 的 Lipschitz 连续性:

f(x+t(yx))f(x)Lt(yx)=Ltyx\|\nabla f(x + t(y-x)) - \nabla f(x)\| \leq L \|t(y-x)\| = Lt\|y-x\|

代入积分:

f(y)f(x)f(x)(yx)01Ltyx2dt=Lyx2t2201=L2yx2\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

证毕。\blacksquare

证明的模式识别。 这个证明展示了一种在分析中反复出现的模式:将多元函数的问题归结为一元函数(通过辅助函数 g(t)g(t)),利用微积分基本定理将函数值差表示为积分,再用 Lipschitz 条件对被积函数做逐点放缩。同样的技巧在后续章节分析近端梯度法和加速方法时还会用到。

3.3.3 下降引理与梯度下降步长的联系#

下降引理直接解释了梯度下降中步长为何受限于 2/L2/L。将引理中的 yy 替换为 xk+1=xkαkf(xk)x^{k+1} = x^k - \alpha_k \nabla f(x^k),得

f(xk+1)f(xk)+f(xk)(xk+1xk)+L2xk+1xk2f(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

代入 xk+1xk=αkf(xk)x^{k+1} - x^k = -\alpha_k \nabla f(x^k),整理得

f(xk+1)f(xk)+αk(Lαk21)f(xk)2f(x^{k+1}) \leq f(x^k) + \alpha_k \left(\frac{L\alpha_k}{2} - 1\right) \|\nabla f(x^k)\|^2

要保证函数值严格下降(右端增量为负),需要

Lαk21<0αk<2L\frac{L\alpha_k}{2} - 1 < 0 \quad \Longrightarrow \quad \alpha_k < \frac{2}{L}

进一步,当 αk1/L\alpha_k \leq 1/L 时,1Lαk/21/21 - L\alpha_k/2 \geq 1/2,上式化为更常用的形式:

f(xk+1)f(xk)αk2f(xk)2()f(x^{k+1}) \leq f(x^k) - \frac{\alpha_k}{2}\|\nabla f(x^k)\|^2 \tag{$\star$}

不等式 (\star) 是后续收敛性分析的起点:它说明函数值序列 {f(xk)}\{f(x^k)\} 单调不增,每一步至少下降 αk2f(xk)2\frac{\alpha_k}{2}\|\nabla f(x^k)\|^2。只要梯度不为零,函数值就严格下降。

这里可以看到 LL 对步长的直接约束:LL 越大(函数弯曲越厉害),允许的步长 αk\alpha_k 就越小。最优常数步长为 αk=1/L\alpha_k = 1/L,此时每步下降量为 12Lf(xk)2\frac{1}{2L}\|\nabla f(x^k)\|^2

值得将下降引理的含义与 3.1.2 节中 LL-光滑性的直觉对照:LL-光滑性说函数被二次函数”罩住”,下降引理将这个抽象性质转化为可直接使用的不等式工具。在算法分析中,下降引理扮演的角色是:在不知道函数二阶信息的情况下,用 LL 这个单一参数为函数值的变化提供定量的上界控制。


3.4 凸函数上的收敛性#

有了下降引理提供的单步递推不等式,现在可以分析梯度下降在凸函数上的收敛速度。

3.4.1 定理陈述#

定理.f(x)f(x)凸函数,且 ffLL-光滑的。设 f=f(x)=infxf(x)f^* = f(x^*) = \inf_x f(x) 存在且可达。若步长取常数 αk=α\alpha_k = \alpha,满足

0<α1L0 < \alpha \leq \frac{1}{L}

则梯度下降迭代 xk+1=xkαf(xk)x^{k+1} = x^k - \alpha \nabla f(x^k) 产生的序列满足

f(xk)fx0x22αk=O(1k)f(x^k) - f^* \leq \frac{\|x^0 - x^*\|^2}{2\alpha k} = O\left(\frac{1}{k}\right)

即收敛速度为 O(1/k)O(1/k)次线性收敛)。取最优步长 α=1/L\alpha = 1/L 时,上界变为 Lx0x22k\frac{L\|x^0 - x^*\|^2}{2k},可以看出 LL 越大(函数越不光滑)、初始点越远离最优解,收敛所需的迭代次数就越多。

O(1/k)O(1/k) 的收敛速度意味着:要使函数值误差 f(xk)ff(x^k) - f^* 降至 ε\varepsilon 以下,需要的迭代次数为 O(1/ε)O(1/\varepsilon)。具体地,迭代 100100 次时误差大约是初始误差的 1/1001/100;要再降低一个数量级(到 1/10001/1000),需要 10001000 次迭代。每多一位精度都需要 1010 倍的迭代次数。

3.4.2 证明#

证明分四步,分别利用下降引理、凸性一阶条件、配方消项和单调性。

第一步:利用下降引理建立单步递推。 由 3.3.3 节的不等式 (\star):

f(xk+1)f(xk)α2f(xk)2f(x^{k+1}) \leq f(x^k) - \frac{\alpha}{2}\|\nabla f(x^k)\|^2

第二步:利用凸性建立与最优值的联系。ff 的凸性(一阶条件),对任意 x,yx, y

f(y)f(x)+f(x)(yx)f(y) \geq f(x) + \nabla f(x)^\top(y - x)

y=xy = x^*,移项得

f(xk)(xkx)f(xk)f\nabla f(x^k)^\top(x^k - x^*) \leq f(x^k) - f^*

这一步的作用是将梯度与函数值差联系起来——凸性保证了梯度指向的方向上函数值确实在下降,而且下降量可以用 f(xk)ff(x^k) - f^* 来控制。

第三步:配方与累和消项。 将不等式 (\star) 两边减去 ff^*,并结合凸性,注意到

f(xk)(xkx)α2f(xk)2=12α(xkx2xkαf(xk)x2)\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)

这一步的动机是构造望远镜结构:右端恰好是 xkx2xk+1x2\|x^k - x^*\|^2 - \|x^{k+1} - x^*\|^2 的形式,对 kk 求和后会大量消项。配方的具体验证:将右端展开,xkx2xkαf(xk)x2=2αf(xk)(xkx)α2f(xk)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,再除以 2α2\alpha 即得左端。

由于 xk+1=xkαf(xk)x^{k+1} = x^k - \alpha\nabla f(x^k),上式变为

12α(xkx2xk+1x2)\frac{1}{2\alpha}\left(\|x^k - x^*\|^2 - \|x^{k+1} - x^*\|^2\right)

因此

f(xk+1)f12α(xkx2xk+1x2)f(x^{k+1}) - f^* \leq \frac{1}{2\alpha}\left(\|x^k - x^*\|^2 - \|x^{k+1} - x^*\|^2\right)

i=1,2,,ki = 1, 2, \ldots, k 求和,右端发生望远镜消项(telescoping):

i=1k(f(xi)f)12α(x0x2xkx2)12αx0x2\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

最后一个不等号是因为 xkx20\|x^k - x^*\|^2 \geq 0

第四步:利用单调性得到次线性收敛率。 由不等式 (\star),{f(xk)}\{f(x^k)\} 单调不增,因此 f(xk)f(xi)f(x^k) \leq f(x^i) 对所有 i=1,,ki = 1, \ldots, k 成立。于是

k(f(xk)f)i=1k(f(xi)f)12αx0x2k\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

从而

f(xk)fx0x22αk=O(1k)f(x^k) - f^* \leq \frac{\|x^0 - x^*\|^2}{2\alpha k} = O\left(\frac{1}{k}\right)

证毕。\blacksquare

收敛性也可以从另一个角度看:对不等式 (\star) 从 k=0k=0\infty 求和,右端有界(因 ff 下有界),说明级数 k=0f(xk)2\sum_{k=0}^{\infty}\|\nabla f(x^k)\|^2 收敛。由级数收敛的必要条件,通项 f(xk)20\|\nabla f(x^k)\|^2 \to 0,从而 f(xk)ff(x^k) \to f^*

关于 O(1/k)O(1/k) 速度的紧性。 O(1/k)O(1/k) 对于一般凸函数上的梯度下降是不可改进的——存在 LL-光滑凸函数使得梯度下降恰好以 Θ(1/k)\Theta(1/k) 的速度收敛。不过,通过引入动量项(如 Nesterov 加速方法),可以将凸函数上的收敛速度提升至 O(1/k2)O(1/k^2),这是一阶方法在此函数类上的最优速度。梯度下降的 O(1/k)O(1/k) 与 Nesterov 方法的 O(1/k2)O(1/k^2) 之间的差距,本质上源于梯度下降只利用当前点的梯度信息,而加速方法额外利用了历史迭代点的信息来修正搜索方向。

从梯度范数角度看收敛。 利用 3.1.2 节的不等式 f(xk)f12Lf(xk)2f(x^k) - f^* \geq \frac{1}{2L}\|\nabla f(x^k)\|^2O(1/k)O(1/k) 的函数值收敛率蕴含了 min0ikf(xi)2=O(1/k)\min_{0 \leq i \leq k}\|\nabla f(x^i)\|^2 = O(1/k),即 kk 步迭代中最小梯度范数以 O(1/k)O(1/\sqrt{k}) 的速率趋于零。这个结论对非凸函数也成立(只需 LL-光滑性),下一小节将给出完整的陈述和证明。

3.4.3 非凸函数上的收敛性#

在深度学习等应用中,目标函数通常是非凸的。此时不能期望收敛到全局最优解,但梯度下降仍然可以保证收敛到驻点(梯度为零的点)。这个结论只依赖 LL-光滑性,不需要凸性。

定理.f:RnRf: \mathbb{R}^n \to \mathbb{R}LL-光滑函数(不要求凸性),且 ff 下有界,即 f=infxf(x)>f^* = \inf_x f(x) > -\infty。若步长取常数 α1/L\alpha \leq 1/L,则梯度下降迭代 xk+1=xkαf(xk)x^{k+1} = x^k - \alpha \nabla f(x^k) 产生的序列满足

min0ik1f(xi)2f(x0)fα2k=O(1k)\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)

kk 步迭代中最小梯度范数的平方以 O(1/k)O(1/k) 的速率趋于零。等价地,要找到一个 ε\varepsilon-近似驻点(f(x)2ε\|\nabla f(x)\|^2 \leq \varepsilon),需要 O(1/ε)O(1/\varepsilon) 次迭代。

证明. 证明只需要下降引理,不涉及凸性。由 3.3.3 节的不等式 (\star)(该不等式的推导不使用凸性),当 α1/L\alpha \leq 1/L

f(xk+1)f(xk)α2f(xk)2f(x^{k+1}) \leq f(x^k) - \frac{\alpha}{2}\|\nabla f(x^k)\|^2

k=0,1,,K1k = 0, 1, \ldots, K-1 求和(望远镜消项):

f(xK)f(x0)α2k=0K1f(xk)2f(x^K) \leq f(x^0) - \frac{\alpha}{2}\sum_{k=0}^{K-1}\|\nabla f(x^k)\|^2

移项并利用 f(xK)ff(x^K) \geq f^*

k=0K1f(xk)22α(f(x0)f)\sum_{k=0}^{K-1}\|\nabla f(x^k)\|^2 \leq \frac{2}{\alpha}\left(f(x^0) - f^*\right)

由于左端有 KK 项非负求和,最小项不超过平均值:

min0kK1f(xk)21Kk=0K1f(xk)22(f(x0)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}

α=1/L\alpha = 1/L 时上界为 2L(f(x0)f)K\frac{2L(f(x^0) - f^*)}{K}。证毕。\blacksquare

这个定理说明:即使没有凸性,梯度下降也能在 O(1/ε)O(1/\varepsilon) 步内找到一个梯度足够小的点。注意结论的度量是 min0ikf(xi)2\min_{0 \leq i \leq k}\|\nabla f(x^i)\|^2 而非 f(xk)2\|\nabla f(x^k)\|^2——我们只能保证迭代过程中存在某个梯度小的点,但不保证最后一个迭代点的梯度就小。在实际中,通常记录迭代过程中梯度范数最小的点作为输出。

对于 AI 研究者来说,这一结论是理解 SGD 训练神经网络收敛行为的起点:虽然深度学习中的目标函数是非凸的,但梯度下降仍然可以有效地找到驻点。当然,从”找到驻点”到”找到好的局部极小”还需要额外的分析(如鞍点逃逸理论),这超出了本章的范围。


3.5 强凸函数上的收敛性#

凸函数上梯度下降的次线性收敛率 O(1/k)O(1/k) 并不算快。当目标函数满足更强的强凸性条件时,收敛速度可以大幅提升至 Q-线性收敛——误差以几何级数衰减。

3.5.1 等价条件引理#

在分析强凸情况前,需要一个关于 Lipschitz 连续梯度的等价条件引理,它提供的余强制性是证明的关键工具。

引理.f(x)f(x)Rn\mathbb{R}^n 上的凸且可微函数,则以下三个条件等价:

(1) f\nabla f 是 Lipschitz 连续的(常数为 LL);

(2) 函数 g(x)=L2xxf(x)g(x) = \frac{L}{2}x^\top x - f(x) 是凸函数;

(3) f\nabla f余强制(cocoercive)算子,即对任意 x,yRnx, y \in \mathbb{R}^n

(f(x)f(y))(xy)1Lf(x)f(y)2(\nabla f(x) - \nabla f(y))^\top(x - y) \geq \frac{1}{L}\|\nabla f(x) - \nabla f(y)\|^2

证明.

(1) \Rightarrow (2):需证 g(x)=L2xxf(x)g(x) = \frac{L}{2}x^\top x - f(x) 是凸函数。由凸性的梯度单调性判据,只需验证 g\nabla g 是单调算子。对任意 x,yx, y

(g(x)g(y))(xy)=Lxy2(f(x)f(y))(xy)(\nabla g(x) - \nabla g(y))^\top(x - y) = L\|x - y\|^2 - (\nabla f(x) - \nabla f(y))^\top(x - y)

由 Cauchy-Schwarz 不等式和 f\nabla fLL-Lipschitz 连续性,(f(x)f(y))(xy)f(x)f(y)xyLxy2(\nabla f(x) - \nabla f(y))^\top(x-y) \leq \|\nabla f(x) - \nabla f(y)\|\cdot\|x-y\| \leq L\|x-y\|^2。因此上式 0\geq 0,即 g\nabla g 单调,gg 是凸函数。

(3) \Rightarrow (1):由余强制性和 Cauchy-Schwarz 不等式,

1Lf(x)f(y)2(f(x)f(y))(xy)f(x)f(y)xy\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\|

两端除以 f(x)f(y)\|\nabla f(x) - \nabla f(y)\|(若其为零则 Lipschitz 条件自动成立),得 f(x)f(y)Lxy\|\nabla f(x) - \nabla f(y)\| \leq L\|x-y\|

(2) \Rightarrow (3):这是最关键的一步。构造辅助函数

fx(z)=f(z)f(x)zf_x(z) = f(z) - \nabla f(x)^\top z

fxf_x 仍然是凸函数(ff 凸,减去线性函数不改变凸性),且 fx(z)=f(z)f(x)\nabla f_x(z) = \nabla f(z) - \nabla f(x),所以 fx(x)=0\nabla f_x(x) = 0,即 xxfxf_x 的全局最小值点。

由条件 (2),gx(z)=L2zzfx(z)g_x(z) = \frac{L}{2}z^\top z - f_x(z) 是凸函数。对 gxg_x 使用凸性的一阶条件 gx(z2)gx(z1)+gx(z1)(z2z1)g_x(z_2) \geq g_x(z_1) + \nabla g_x(z_1)^\top(z_2 - z_1),整理后得到 fxf_x 的二次上界:

fx(z2)fx(z1)+fx(z1)(z2z1)+L2z2z12f_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

在上式中取 z1=yz_1 = y,并对 z2z_2 取使右端最小的 z2=y1Lfx(y)z_2 = y - \frac{1}{L}\nabla f_x(y),代入得

fx ⁣(y1Lfx(y))fx(y)12Lfx(y)2f_x\!\left(y - \tfrac{1}{L}\nabla f_x(y)\right) \leq f_x(y) - \frac{1}{2L}\|\nabla f_x(y)\|^2

由于 xxfxf_x 的全局最小值点,fx(x)fx ⁣(y1Lfx(y))f_x(x) \leq f_x\!\left(y - \frac{1}{L}\nabla f_x(y)\right),因此

fx(x)fx(y)12Lfx(y)2f_x(x) \leq f_x(y) - \frac{1}{2L}\|\nabla f_x(y)\|^2

f(y)f(x)f(x)(yx)12Lf(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}

fy(z)=f(z)f(y)zf_y(z) = f(z) - \nabla f(y)^\top z 做完全对称的分析,得到

f(x)f(y)f(y)(xy)12Lf(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}

将 (I) 和 (II) 两式相加,左端为 (f(x)f(y))(xy)(\nabla f(x) - \nabla f(y))^\top(x - y),右端为 1Lf(x)f(y)2\frac{1}{L}\|\nabla f(x) - \nabla f(y)\|^2,这正是余强制性。\blacksquare

余强制性比单纯的 Lipschitz 条件更强:它不仅控制了梯度差的大小,还要求梯度差与自变量差之间有正相关性。直觉上,Lipschitz 条件给出的是上界(梯度差 L\leq L \cdot 自变量差),余强制性给出的是下界(内积 1L\geq \frac{1}{L} \cdot 梯度差的平方)。两者结合意味着梯度差和自变量差之间存在双向的定量控制。这个性质在强凸函数收敛性证明中起关键作用。

值得注意的是,余强制性仅在 ff 为凸时与 Lipschitz 条件等价。对于非凸函数,Lipschitz 条件不蕴含余强制性。这解释了为什么本章的收敛性分析需要凸性假设——不仅仅是为了保证极小点的存在,更是为了启用余强制性这一更强的分析工具。

3.5.2 定理陈述#

定理.f(x)f(x)μ\mu-强凸函数(μ\mu 为强凸参数),且 ffLL-光滑的。设 f=f(x)=infxf(x)f^* = f(x^*) = \inf_x f(x) 存在且可达。若步长 α\alpha 满足

0<α2μ+L0 < \alpha \leq \frac{2}{\mu + L}

则梯度下降迭代产生的序列 {xk}\{x^k\} 收敛到 xx^*,且为 Q-线性收敛

xkx2ckx0x2,c=12αμ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)

O(ck)O(c^k) 的收敛速度意味着:误差以几何级数衰减,每迭代一步误差都乘以一个小于 11 的常数 cc。取最优步长 α=2/(μ+L)\alpha = 2/(\mu+L) 时,c=(LμL+μ)2=(κ1κ+1)2c = \left(\frac{L-\mu}{L+\mu}\right)^2 = \left(\frac{\kappa - 1}{\kappa + 1}\right)^2,其中 κ=L/μ\kappa = L/\mu 是条件数。当 κ=10\kappa = 10 时,c0.67c \approx 0.67,迭代 100100 次误差衰减为初始值的 c1001017c^{100} \approx 10^{-17};当 κ=100\kappa = 100 时,c0.96c \approx 0.96,迭代 100100 次误差仅衰减为 c1000.017c^{100} \approx 0.017。条件数对收敛速度的影响极为显著。

3.5.3 证明#

第一步:构造辅助函数并建立加强版余强制不等式。

定义辅助函数

g(x)=f(x)μ2xxg(x) = f(x) - \frac{\mu}{2}x^\top x

构造这个辅助函数的动机是将强凸函数”剥去”强凸的部分:由于 ffμ\mu-强凸的,减去凸的二次项 μ2xx\frac{\mu}{2}x^\top x 后,g(x)g(x) 仍然是凸的(恰好将强凸性用尽)。其梯度为 g(x)=f(x)μx\nabla g(x) = \nabla f(x) - \mu x

另一方面,L2xxf(x)=12(Lμ)xxg(x)\frac{L}{2}x^\top x - f(x) = \frac{1}{2}(L-\mu)x^\top x - g(x) 也是凸函数(由 3.5.1 节等价条件引理中条件 (2)),因此 g\nabla g(Lμ)(L-\mu)-Lipschitz 连续的。由余强制性(条件 (3)),有

(g(x)g(y))(xy)1Lμ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)=f(x)μx\nabla g(x) = \nabla f(x) - \mu xg(y)=f(y)μy\nabla g(y) = \nabla f(y) - \mu y 代入。为简化符号,记 u=f(x)f(y)u = \nabla f(x) - \nabla f(y)v=xyv = x - yΔ=uv\Delta = u^\top v

左端代入后为 Δμv2\Delta - \mu\|v\|^2右端代入后为 1Lμuμv2=1Lμ(u22μΔ+μ2v2)\frac{1}{L-\mu}\|u - \mu v\|^2 = \frac{1}{L-\mu}\left(\|u\|^2 - 2\mu\Delta + \mu^2\|v\|^2\right)

不等式 左端右端\text{左端} \geq \text{右端} 展开为

Δμv21Lμ(u22μΔ+μ2v2)\Delta - \mu\|v\|^2 \geq \frac{1}{L-\mu}\left(\|u\|^2 - 2\mu\Delta + \mu^2\|v\|^2\right)

两边乘以 (Lμ)(L-\mu) 并移项,合并含 Δ\Delta 的项:

(Lμ)Δ+2μΔu2+μ2v2+μ(Lμ)v2(L-\mu)\Delta + 2\mu\Delta \geq \|u\|^2 + \mu^2\|v\|^2 + \mu(L-\mu)\|v\|^2

(L+μ)Δu2+μLv2(L+\mu)\Delta \geq \|u\|^2 + \mu L\|v\|^2

两边除以 (L+μ)(L+\mu),回代 uuvv,得到强凸函数梯度的加强版余强制不等式

(f(x)f(y))(xy)Lμ+Lf(x)f(y)2+μLμ+Lxy2()(\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$}

不等式 (\dagger) 同时包含梯度差的范数项和自变量差的范数项,比标准的余强制性更强。当 μ=0\mu = 0(退化为凸函数)时,(\dagger) 右端的第二项消失,回到普通的余强制性。

这个不等式是整个强凸收敛性证明的核心工具:它将 f(xk)(xkx)\nabla f(x^k)^\top(x^k - x^*) 这个内积项同时用 f(xk)2\|\nabla f(x^k)\|^2xkx2\|x^k - x^*\|^2 从下方控制住,使得后续可以合并同类项。

第二步:建立迭代距离的递推。

考察

xk+1x2=xkαf(xk)x2\|x^{k+1} - x^*\|^2 = \|x^k - \alpha\nabla f(x^k) - x^*\|^2

展开平方得

=xkx22αf(xk)(xkx)+α2f(xk)2= \|x^k - x^*\|^2 - 2\alpha\nabla f(x^k)^\top(x^k - x^*) + \alpha^2\|\nabla f(x^k)\|^2

由一阶最优性条件,f(x)=0\nabla f(x^*) = 0,因此 f(xk)=f(xk)f(x)\nabla f(x^k) = \nabla f(x^k) - \nabla f(x^*)。将不等式 (\dagger) 应用于 x=xkx = x^ky=xy = x^*

f(xk)(xkx)Lμ+Lf(xk)2+μLμ+Lxkx2\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

代入展开式(注意系数 2α-2\alpha 带来的不等号翻转),合并含 f(xk)2\|\nabla f(x^k)\|^2xkx2\|x^k - x^*\|^2 的同类项:

xk+1x2(12αμLμ+L)xkx2+α(α2Lμ+L)f(xk)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

第三步:利用步长条件消去梯度项。

α2μ+L2Lμ+L\alpha \leq \frac{2}{\mu+L} \leq \frac{2L}{\mu+L}(因为 Lμ>0L \geq \mu > 0),第二项的系数 α2Lμ+L0\alpha - \frac{2L}{\mu+L} \leq 0,梯度项可以丢弃。这一步解释了步长条件 α2/(μ+L)\alpha \leq 2/(\mu+L) 的来源——它不是事先给定的,而是为了消去梯度项而反推出来的。

xk+1x2(12αμLμ+L)xkx2\|x^{k+1} - x^*\|^2 \leq \left(1 - \frac{2\alpha \mu L}{\mu+L}\right)\|x^k - x^*\|^2

第四步:得出 Q-线性收敛。

c=12αμLμ+Lc = 1 - \frac{2\alpha \mu L}{\mu+L}。由 α>0\alpha > 0μ,L>0\mu, L > 0,有 c<1c < 1。由 α2μ+L\alpha \leq \frac{2}{\mu+L},有 2αμLμ+L4μL(μ+L)21\frac{2\alpha \mu L}{\mu+L} \leq \frac{4\mu L}{(\mu+L)^2} \leq 1,因此 c0c \geq 0。递推 kk 步得

xkx2ckx0x2\|x^k - x^*\|^2 \leq c^k \|x^0 - x^*\|^2

这正是 Q-线性收敛的定义:误差以几何级数衰减,公比为 c[0,1)c \in [0, 1)

α=2μ+L\alpha = \frac{2}{\mu+L}(最大允许步长)时,

c=14μL(μ+L)2=(LμL+μ)2c = 1 - \frac{4\mu L}{(\mu+L)^2} = \left(\frac{L-\mu}{L+\mu}\right)^2

此即经典的梯度下降收敛率,由条件数 κ=L/μ\kappa = L/\mu 决定。条件数越大(LLμ\mu 差距越大),cc 越接近 11,收敛越慢;条件数为 11L=μL = \mu)时 c=0c = 0,一步到达最优。κ=1\kappa = 1 对应的是”完美圆球”形的目标函数(如 f(x)=L2x2f(x) = \frac{L}{2}\|x\|^2),各方向曲率相同,无锯齿现象。

将线性收敛率换算为迭代次数:要使 xkx2εx0x2\|x^k - x^*\|^2 \leq \varepsilon\|x^0 - x^*\|^2,需要 klog(1/ε)logck \geq \frac{\log(1/\varepsilon)}{-\log c} 步。当 c=(κ1κ+1)2c = \left(\frac{\kappa-1}{\kappa+1}\right)^2κ\kappa 较大时,logc4/κ-\log c \approx 4/\kappa,所以 kκ4log(1/ε)k \approx \frac{\kappa}{4}\log(1/\varepsilon)。这就是对比表中 O(κlog(1/ε))O(\kappa\log(1/\varepsilon)) 的来源。

证毕。\blacksquare

3.5.4 两类收敛性的对比#

凸函数强凸函数
额外假设LL-光滑LL-光滑 + μ\mu-强凸
步长条件0<α1/L0 < \alpha \leq 1/L0<α2/(μ+L)0 < \alpha \leq 2/(\mu+L)
收敛速度O(1/k)O(1/k) 次线性O(ck)O(c^k) Q-线性,c=(12αμL/(μ+L))c = (1 - 2\alpha\mu L/(\mu+L))
收敛度量f(xk)ff(x^k) - f^*xkx2\|x^k - x^*\|^2
核心工具下降引理 + 凸性一阶条件加强版余强制不等式
精度 ε\varepsilon 所需迭代O(1/ε)O(1/\varepsilon)O(κlog(1/ε))O(\kappa \log(1/\varepsilon))

最后一行的对比尤为重要:强凸情况下的迭代次数对精度 ε\varepsilon 仅有对数依赖——要多一位精度只需多 O(κ)O(\kappa) 步迭代。而凸函数的 O(1/ε)O(1/\varepsilon) 意味着每多一位精度需要 1010 倍的迭代次数。

两类收敛性的证明结构也有鲜明对照。凸函数情况的证明中,核心技巧是配方构造望远镜结构,将 kk 步的累积效果”摊薄”为 O(1/k)O(1/k);收敛度量是 f(xk)ff(x^k) - f^*,因为凸函数没有唯一极小点的保证,无法直接控制 xkx\|x^k - x^*\|。强凸函数情况则直接在 xkx2\|x^k - x^*\|^2 上建立递推,强凸性保证了极小点唯一且提供了梯度与距离之间的定量联系,因此可以得到逐步收缩的几何级数衰减。


3.6 光滑凸函数的常用不等式#

在下降引理的基础上,当 ff 同时满足连续可微、凸性和 LL-光滑三个条件时,可以推导出一组在优化理论和论文证明中频繁使用的不等式。以下各命题对任意 x,yRnx, y \in \mathbb{R}^nα[0,1]\alpha \in [0,1] 成立。

3.6.1 双侧下降引理#

0f(y)f(x)f(x)(yx)L2yx20 \leq f(y) - f(x) - \nabla f(x)^\top(y-x) \leq \frac{L}{2}\|y-x\|^2

左侧不等式来自凸性一阶条件,右侧即下降引理。这个不等式说:LL-光滑凸函数被夹在一阶泰勒近似(下方)和一个二次函数(上方)之间。它是凸函数版本的下降引理的完整形式。在证明中,当需要同时利用凸性和光滑性对函数值差做双向控制时,这个不等式是首选工具。

3.6.2 Co-coercivity 的变体#

f(x)+f(x)(yx)+12Lf(x)f(y)2f(y)f(x) + \nabla f(x)^\top(y-x) + \frac{1}{2L}\|\nabla f(x) - \nabla f(y)\|^2 \leq f(y)

此不等式是凸性一阶条件 f(y)f(x)+f(x)(yx)f(y) \geq f(x) + \nabla f(x)^\top(y-x) 的加强版:右端的函数值下界多了一个 12Lf(x)f(y)2\frac{1}{2L}\|\nabla f(x) - \nabla f(y)\|^2 的正项。它说:从 xx 处做线性预测 f(y)f(y),预测值不仅偏低(凸性),而且偏低的量至少有 12Lf(x)f(y)2\frac{1}{2L}\|\nabla f(x) - \nabla f(y)\|^2。这在需要估计函数值差与梯度差关系的证明中常用。

证明. 这就是 3.5.1 节 (2) \Rightarrow (3) 证明中的不等式 (I)。回顾该证明:构造 fx(z)=f(z)f(x)zf_x(z) = f(z) - \nabla f(x)^\top z,由条件 (2) 导出 fxf_x 的二次上界,再利用 xxfxf_x 的最小值点,得到

f(y)f(x)f(x)(yx)12Lf(y)f(x)2f(y) - f(x) - \nabla f(x)^\top(y-x) \geq \frac{1}{2L}\|\nabla f(y) - \nabla f(x)\|^2

移项即为 3.6.2。\blacksquare

3.6.3 Co-coercivity 不等式#

1Lf(x)f(y)2(f(x)f(y))(xy)\frac{1}{L}\|\nabla f(x) - \nabla f(y)\|^2 \leq \left(\nabla f(x) - \nabla f(y)\right)^\top (x - y)

这就是 3.5.1 节等价条件引理中的条件 (3),即余强制性。它比梯度的单调性 (f(x)f(y))(xy)0(\nabla f(x) - \nabla f(y))^\top(x-y) \geq 0 更强:内积不仅非负,还被梯度差的范数平方除以 LL 所下界。在证明中,当需要将 f(x)f(y)2\|\nabla f(x) - \nabla f(y)\|^2 替换为更好处理的内积形式时,或者反过来需要将内积放缩为范数时,这个不等式非常有用。

证明. 将 3.6.2 对 (x,y)(x, y)(y,x)(y, x) 分别写出:

f(y)f(x)f(x)(yx)12Lf(x)f(y)2f(y) - f(x) - \nabla f(x)^\top(y-x) \geq \frac{1}{2L}\|\nabla f(x) - \nabla f(y)\|^2
f(x)f(y)f(y)(xy)12Lf(y)f(x)2f(x) - f(y) - \nabla f(y)^\top(x-y) \geq \frac{1}{2L}\|\nabla f(y) - \nabla f(x)\|^2

两式相加,左端为 (f(x)f(y))(xy)(\nabla f(x) - \nabla f(y))^\top(x-y),右端为 1Lf(x)f(y)2\frac{1}{L}\|\nabla f(x) - \nabla f(y)\|^2\blacksquare

3.6.4 梯度差的范数上界#

(f(x)f(y))(xy)Lxy2\left(\nabla f(x) - \nabla f(y)\right)^\top(x - y) \leq L\|x - y\|^2

这是 Lipschitz 连续性经由 Cauchy-Schwarz 不等式的直接推论:

(f(x)f(y))(xy)f(x)f(y)xyLxy2(\nabla f(x) - \nabla f(y))^\top(x-y) \leq \|\nabla f(x) - \nabla f(y)\| \cdot \|x-y\| \leq L\|x-y\|^2

与 3.6.3 联合,给出了 (f(x)f(y))(xy)(\nabla f(x) - \nabla f(y))^\top(x-y) 的双侧估计:下界为 1Lf(x)f(y)2\frac{1}{L}\|\nabla f(x) - \nabla f(y)\|^2,上界为 Lxy2L\|x-y\|^2。当需要在证明中用 xy2\|x - y\|^2 控制梯度相关的内积项时,这个上界提供了最直接的放缩。

3.6.5 凸组合的函数值下界#

αf(x)+(1α)f(y)f(αx+(1α)y)+12Lα(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)\alpha f(x) + (1-\alpha)f(y) \geq f(\alpha x + (1-\alpha)y) 的加强版:右端多出了一个关于梯度差的正项,量化了光滑凸函数比一般凸函数”更凸”的程度。在涉及凸组合的收敛性分析(如加速方法的证明)中,这个额外的正项提供了关键的改进余量。

3.6.6 凸组合的函数值上界#

αf(x)+(1α)f(y)f(αx+(1α)y)+L2α(1α)xy2\alpha f(x) + (1-\alpha)f(y) \leq f(\alpha x + (1-\alpha)y) + \frac{L}{2}\alpha(1-\alpha)\|x-y\|^2

与 3.6.5 联合给出了 αf(x)+(1α)f(y)\alpha f(x) + (1-\alpha)f(y)f(αx+(1α)y)f(\alpha x + (1-\alpha)y) 之间差距的双侧估计:下界由梯度差控制(3.6.5),上界由点的距离控制(3.6.6)。两个不等式合在一起的含义是:光滑凸函数的凸组合与凸组合处的函数值之差,被精确地夹在 12Lα(1α)f(x)f(y)2\frac{1}{2L}\alpha(1-\alpha)\|\nabla f(x) - \nabla f(y)\|^2L2α(1α)xy2\frac{L}{2}\alpha(1-\alpha)\|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 可由前述不等式对凸组合的两端分别应用并整理得到。

在阅读论文证明时,遇到”由光滑凸函数的性质”或”由 LL-光滑性和凸性”一笔带过的步骤,大概率用到的就是这六个不等式中的某一个。识别的线索是:看不等式中出现的是函数值差、梯度差的范数、还是内积形式——函数值差对应 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)xkx^k 处做一阶泰勒展开:

f(x)f(xk)+f(xk),xxkf(x) \approx f(x^k) + \langle \nabla f(x^k),\, x - x^k \rangle

右端关于 xx 是线性函数,若直接最小化该线性近似,由于线性函数可以取到 -\infty,问题无下界。为此,在线性近似的基础上添加一个二次正则项(近端项),构造子问题:

xk+1=argminx{f(xk)+f(xk),xxk+12αkxxk2}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\}

前半部分是 ffxkx^k 处的一阶近似(线性项),后半部分 12αkxxk2\frac{1}{2\alpha_k}\|x - x^k\|^2 是近端项,保证了整个子问题是强凸的。近端项的系数 1/(2αk)1/(2\alpha_k) 控制了对当前点的信赖程度:αk\alpha_k 越小,正则化越强,新点越靠近 xkx^k

这个子问题的构造与下降引理有直接的对应关系:下降引理说 f(y)f(x)+f(x)(yx)+L2yx2f(y) \leq f(x) + \nabla f(x)^\top(y-x) + \frac{L}{2}\|y-x\|^2,子问题中的目标函数恰好就是这个上界(当 αk=1/L\alpha_k = 1/L 时)。因此,最小化子问题等价于最小化 ffxkx^k 处的二次上界。这解释了为什么最优常数步长 αk=1/L\alpha_k = 1/L 能给出最好的收敛保证——它对应的是”最紧的二次上界”的最小化。

3.7.2 线性化展开与梯度下降的等价性#

命题. 线性化展开子问题的最优解恰好就是梯度下降的迭代公式。

证明. 常数项 f(xk)f(x^k) 不影响最优解。线性项关于 xx 的梯度为 f(xk)\nabla f(x^k),二次项关于 xx 的梯度为 1αk(xxk)\frac{1}{\alpha_k}(x - x^k)。对整个子问题关于 xx 求导并令其为零:

f(xk)+1αk(xk+1xk)=0\nabla f(x^k) + \frac{1}{\alpha_k}(x^{k+1} - x^k) = 0

整理即得

xk+1=xkαkf(xk)x^{k+1} = x^k - \alpha_k \nabla f(x^k)

这正是梯度下降的迭代公式。子问题中 12αkxxk2\frac{1}{2\alpha_k}\|x - x^k\|^2 项使整个目标函数关于 xx 是强凸的(系数为 1/αk1/\alpha_k),保证了驻点即全局最优,推导严格成立。\blacksquare

这个等价性揭示了梯度下降的一个深层含义:梯度下降并不是”沿梯度走一步”这么简单,它实际上是在最小化目标函数的局部二次近似模型。步长 αk\alpha_k 等价于近似模型中二次项的系数,因此步长的选取本质上是在决定”对当前点的一阶近似信任到什么程度”。

3.7.3 推广视角:从梯度下降到近端算子#

线性化展开的框架具有强大的推广能力:

  • 有约束问题:当问题带有约束 xΩx \in \Omega 时,利用指示函数 ιΩ(x)\iota_\Omega(x) 将约束吸收进目标函数,对可导部分做线性化展开,保留不可导的 ιΩ\iota_\Omega 项。所得子问题的最优解恰好是投影梯度法的迭代公式 xk+1=PΩ(xkαkf(xk))x^{k+1} = P_\Omega(x^k - \alpha_k \nabla f(x^k)),其中 PΩP_\Omega 是到凸集 Ω\Omega 上的投影算子。这一推导涉及次微分、法锥和预解式算子的概念,将在第四章详细展开。

  • 非光滑优化:当目标函数为 f(x)+g(x)f(x) + g(x),其中 ff 光滑而 gg 不光滑时,对 ff 做线性化展开、保留 gg,所得子问题的最优解定义了近端算子 proxαg\mathrm{prox}_{\alpha g},由此产生近端梯度法。这将在第五章讨论。

从算子的角度看,近端算子 proxαg(y)=argminx{g(x)+12αxy2}\mathrm{prox}_{\alpha g}(y) = \arg\min_x \left\{g(x) + \frac{1}{2\alpha}\|x - y\|^2\right\} 恰好等于预解式算子 (I+αg)1(y)(I + \alpha\,\partial g)^{-1}(y)。当 g=ιΩg = \iota_\Omega(指示函数)时,近端算子退化为投影算子 PΩP_\Omega;当 g=0g = 0(无正则项)时,退化为普通的梯度下降。梯度下降、投影梯度法、近端梯度法由此统一在同一个框架之下。

这种统一视角的实用价值在于:一旦为梯度下降建立了收敛性分析框架(下降引理 + 凸性 + 步长条件),推广到投影梯度法和近端梯度法时,证明的结构几乎不变——只需将梯度步替换为近端步,核心不等式的形式完全类似。因此,深入理解本章的分析方法是后续章节的基础。


3.8 证明方法论总结#

本章涉及的收敛性证明遵循一套共通的思路,值得提炼为方法论:

  1. 从核心等式出发:写出 xk+1x2\|x^{k+1} - x^*\|^2f(xk+1)ff(x^{k+1}) - f^*,展开并逐步放缩。凸函数情况从函数值差出发,强凸函数情况从距离平方出发。

  2. 引入辅助工具:下降引理提供单步下降量的控制;凸性一阶条件建立函数值与梯度的联系;余强制性提供梯度差与自变量差的耦合估计。

  3. 反向确定条件:在推导过程中发现需要某个不等式成立,从而反推出步长的取值范围。定理中看似”凭空出现”的条件(如 α2/(μ+L)\alpha \leq 2/(\mu+L))实际上是从证明需要出发倒推得到的。

  4. 构造辅助函数:如 g(x)=f(x)μ2xxg(x) = f(x) - \frac{\mu}{2}x^\top x,目的是将强凸函数的分析转化为凸函数配合余强制性的分析。这类构造同样是从证明需要出发逐步发现的。

  5. 从结果反推条件的思维方式:本章的证明反复体现了一个核心思路——先写出想要得到的结论(如 xk+1x2cxkx2\|x^{k+1} - x^*\|^2 \leq c\|x^k - x^*\|^2),然后从结论出发,一步步向回推:为了让不等式成立,需要什么条件?这些条件又依赖于哪些性质?推到最后,得到的就是定理的前提假设。这种”从结果反推条件”的方式在后续章节中会反复出现。具体而言:

    • 凸函数收敛性中,为了得到望远镜消项,需要将 f(xk+1)ff(x^{k+1}) - f^* 化为 xkx2xk+1x2\|x^k - x^*\|^2 - \|x^{k+1} - x^*\|^2 的形式,这”倒逼”出了配方的技巧。
    • 强凸函数收敛性中,为了消去 f(xk)2\|\nabla f(x^k)\|^2 项(它无法与 xkx2\|x^k - x^*\|^2 直接比较),需要梯度项的系数非正,这”倒逼”出了步长条件 α2/(μ+L)\alpha \leq 2/(\mu+L)
    • 辅助函数 g(x)=f(x)μ2xxg(x) = f(x) - \frac{\mu}{2}x^\top x 的构造,是因为余强制性只对凸函数成立,而 ff 是强凸的,于是”剥去”强凸部分使之变凸。

    掌握这种反向推理的思维方式,比记住具体的证明步骤更重要。面对新的收敛性证明时,不必纠结”第一步应该做什么”——先写出目标不等式,再从需要出发逐步寻找工具,条件自然会浮现。

  6. 收敛速度的分类与含义:本章出现了两种收敛速度,值得统一梳理。次线性收敛 O(1/k)O(1/k) 意味着误差 ε\varepsilon 所需迭代数为 O(1/ε)O(1/\varepsilon),精度每提高一个数量级迭代数增加十倍。Q-线性收敛 O(ck)O(c^k)c(0,1)c \in (0,1))意味着误差 ε\varepsilon 所需迭代数为 O(log(1/ε))O(\log(1/\varepsilon)),精度每提高一个数量级只需固定的额外迭代。后续章节还会遇到超线性收敛(牛顿法)和加速方法的 O(1/k2)O(1/k^2) 速度,它们分别比线性收敛更快和比次线性收敛更快。

  7. 分析工具的层次结构:本章用到的分析工具形成清晰的层次——LL-光滑性 \Rightarrow 下降引理 \Rightarrow 单步递推不等式 (\star) \Rightarrow 收敛率。凸性和强凸性在第二层介入,提供函数值差与梯度/距离之间的桥梁。在后续章节中,这些工具的角色保持不变,只是递推不等式的具体形式会因算法不同而变化。

本章建立的分析框架——LL-光滑性 + 下降引理 + 凸性/强凸性 + 步长条件——构成了一阶方法收敛性理论的基石。后续章节的投影梯度法、近端梯度法、加速方法,在证明结构上都是本章框架的自然延伸。

第三章:梯度下降与线搜索
https://www.xwysyy.cn/posts/optimization/ch3/
作者
xwysyy
发布于
2026-06-01
许可协议
CC BY-NC-SA 4.0
© 2026 xwysyy. All Rights Reserved.
Powered by Astro & Firefly

文章目录