Optimization Algorithms - Gradient Methods

本文主要介绍梯度类算法,包括梯度下降法、投影梯度法、条件梯度法、邻近点梯度法、加速梯度法等的基本概念与内在思想。
在最优化理论中,梯度法 (Gradient method) 是一种求解优化问题
的迭代算法,其每一步的更新方向仅由当前点的一阶梯度(或次梯度)信息给出。这类方法的实现相对简单,更重要的是尽管它一般只具有线性收敛性,但由于每次迭代只需要计算一次梯度信息,计算复杂度相比使用二阶信息的牛顿法等方法要低得多,因此在实际应用中,特别是要处理大规模问题时,梯度法是最常用的优化算法之一。
无约束问题的梯度法
考虑如下问题
其中
迭代算法的一般格式
其中,
这也表明,方向导数满足
而
设计算法的目标是,使得迭代点xk越来越接近最优点。通常有如下几种最优条件度量:
- (函数值下降)
; - (梯度值下降)
as ; - (最优点逼近)
,其中 是最优点; - …
梯度下降法
注意到
根据Cauchy不等式,如果
其迭代格式为
其中
梯度下降法的另一种理解方式,是在局部使用二次函数逼近原函数,求解近似得到的二次函数的极小值点:
收敛性
为了理解梯度下降(GD)的收敛速率,让我们从二次目标函数开始
其中
定理:对于上述二次问题
其中
Remark. 这里
此时定理断言梯度下降法的收敛率由
另外,上面使用的步长
定理:在使用精确线搜索求解二次问题
注意到该速率使用的是目标函数值的下降率,而不是迭代点的距离,且收敛率并不快于常数步长规则。另外,上述例子也表明,迭代步长的选择会影响算法的表现。
Proof. 实际上,若简记
因此有
其中最后一步的等式使用到了
于是就可以得到
因此上述收敛性结论成立。
线搜索
下面我们继续讨论梯度下降法的步长选取问题,最常用的步长选取方法是线搜索 (Line Search),即在每次迭代中,沿着当前的下降方向
回忆梯度下降法的迭代格式为
为了确定下一个迭代点,需要先确定下降方向(如选取负梯度、Newton方向、拟Newton方向等),再按照某种准则来选取步长
其中
应当使得 充分下降;- 不应在寻找
上花费过多的计算量。
一个自然的想法是寻找
称上述线搜索算法为精确线搜索法 (Exact Line Search)。由于以这种方式选取的
更常用的线搜索方法是不精确线搜索 (Inexact Line Search),即选取
- Armijo准则:要求
比 小一个常数倍,即
其中 是一个小的正数(如 )。- 引入Armijo准则的目的是保证每一步迭代充分下降;
- Armijo准则有直观的几何含义, 它指的是点
必须在直线
的下方;Armijo准则 - 参数
通常选为一个很小的正数, 这使得Armijo准则非常容易得到满足; - Armijo准则需要配合其他准则以保证迭代的收敛性, 因为
显然满足Armijo准则, 此时迭代序列中的点固定不变。
一种常用的方式是结合回溯 (backtracking) 法:给定初值 ,回溯法通过不断以指数方式缩小试探步长, 找到第一个满足Armijo准则的点。回溯法选取
其中
这里的 是一个给定的常数。Backtracking 的试验值是由大至小的, 它可以确保输出的 能尽量地大。另外,上述算法不会无限进行下去, 因为 是一个下降方向, 当 充分小时, Armijo准则总是成立的。最后,在实际应用中我们通常也会给 设置一个下界, 防止步长过小。
- Goldstein准则:设
是 处的下降方向,若
则称 满足Goldstein准则,其中 。 - Wolfe准则:设
是 处的下降方向,若
其中 和 是常数,通常取 ,则称 满足Wolfe准则。- 注意到
恰好就是 的导数,因此Wolfe准则实际要求 在点 处切线的斜率不能小于 的 倍。 的极小值点 处有 ,因此 永远满足上述第二条条件,而选取较小的 可以使得 同时满足第一条条件,因此Wolfe准则在绝大多数情况下都可以包含极小值点 。Wolfe准则
- 注意到
光滑与强凸问题的收敛
给定可微函数
对于任意
引理 (二次上界):设可微函数
其中
对于任意
Proof. 只需注意到
其中最后一行使用了梯度
凸函数上的收敛
现在考虑梯度法
要求其中的函数
定理:对于满足上述条件的梯度法,迭代点列
Proof. 因为函数
现在记
其中第一个不等式成立是因为
又由于
于是结论成立。
当使用非常数步长时,我们可以对收敛率做进一步的分析。回忆给定初值
其中
这里的
另一方面,由二次上界引理可得
结合上述两个估计可以得到
取
综合初始步长可得
关于使用回溯法的梯度下降法的收敛性,我们有以下结论:
定理:设
Proof. 由之前的分析可知
对上式两边求和得到
因此结论成立。
为了进一步给出步长选取的建议,我们需要先讨论凸函数和梯度
引理 (凸可微函数):设函数
的梯度是 -Lipschitz连续的,即
对任意 都成立;- 函数
是凸函数; 的梯度具有余强制性,即
对任意 都成立。
Proof. 我们按照
因此
不难验证
对于任意的
同理对
将上两式相加可得余强制性。
因此
引理 (梯度
利用上述两个引理,我们可以将之前的关于函数值收敛的结论加强到迭代点收敛。
Proof. 根据
是凸函数,且
代入
下面估计固定步长下梯度法的收敛速度。设步长
于是有
因此迭代点列
Remark. 注意到在上述强凸函数的假设下梯度下降法的迭代点列以
的速度收敛到最优点
如果函数
对任意
所以为了使函数值达到指定精度
所需的迭代次数为
局部结构性条件
到目前为止,我们在强凸性和光滑性的条件下建立了梯度法的线性收敛。事实上,强凸性要求往往可以放宽,例如有如下几种条件可作为替代:
- 局部强凸性:
设函数 使局部 -强凸且 -光滑的,即
对于任意 都成立,其中 是 的极小点,则之前定理的结论仍然成立,即迭代点列 以与之前相同的 -线性收敛速度收敛到最优点 。 - 规则性条件:
如果函数 对于任意的 都满足以下规则性条件
则使用固定步长 时有
- Polyak-Łojasiewicz 条件:
如果函数满足Polyak-Łojasiewicz 条件,即对于一阶稳定点 下式成立
(此时一阶稳定点是全局最优点),则使用固定步长 时有
这一结果保证了迭代函数值向最优目标值的线性收敛,但是不意味着全局最小值的唯一性。
除此之外还有更多的条件,例如误差界、二次增长条件等。这些条件通常不需要假设问题是凸问题。
非凸问题
大量优化问题都是非凸的,对于非凸问题通常不能期望有效地全局收敛到全局最小值,但我们可以寻找方法来满足以下目标:
- 收敛到稳定点,即满足
的点; - 收敛到局部最小值;
- 在适当初始化时局部收敛到全局最小值;
一般地,对于非凸光滑函数使用梯度下降法时有以下收敛结果:若
且对于任意的正整数
因此梯度下降在
一个进一步的问题是稳定点不一定是局部最小值,除了局部最小值点,鞍点同样具有消失梯度,它看起来像“不稳定”的临界点,然而梯度下降无法总是逃离鞍点。例如,如果算法的起始点
次梯度方法
许多优化问题的目标函数都是不可微的,例如常见的基追踪问题和矩阵补全问题,它们的目标函数分别是最小化
次梯度
回顾可微凸函数
这表明,
于是

设
则称
为
注意到当凸函数
即
上式表明

对于一般的不可微凸函数
这样的

关于次梯度的存在性,我们有如下结论:
Proof. 证明依赖于凸函数的上方图
令
次梯度的性质
定理 (次微分是凸集):对于任意
定理 (内点处次微分非空有界):如果
定理 (可微函数的次微分等价于微分):设凸函数在
定理 (次梯度的单调性):设
定理 (次梯度的连续性):设
凸函数的方向导数
对于一般的适当函数
存在时,称其为
特别地,当
定理 (方向导数有限):设
定理 (方向导数与次梯度的关系):设
更一般地,可以证明当
并且当
次梯度的计算
次梯度的计算通常比较困难,一般可以进一步分为两大类问题:
- 弱次梯度计算:得到一个次梯度。
- 这足以满足大多数不可微凸优化问题的需求;
- 如果可以获得任意一点处函数
的值,则总可以计算出一个次梯度。
- 强次梯度计算:得到所有次梯度。
- 部分算法与最优性条件需要函数完整的次微分;
- 此类计算可能相当复杂。
次梯度计算的基本规则是首先将给定函数
凸可微函数 根据之前的分析,如果凸函数
凸函数的非负线性组合 设
现在对于任意
则
线性变量替换 设
函数族的上确界 设
对于任意
即所有
逐点上确界函数 设
对于任意的
如果
固定分量的函数极小值 考虑函数
其中函数
之后就可以断言存在
这样的
复合函数 设
为了计算
以及相应的
那么就可以证明
是
期望函数 设
现在我们希望计算
然后就可以断言
对偶与最优性条件
对于无约束问题而言,最直接的最优性条件是:
而对于带约束的凸问题,有以下相应的最优性定理:
-
是可行点; -
; -
对于所有 成立; -
是 的一个极小值点,其中
非光滑优化
典型的非光滑优化问题包括:
- 极大极小问题:
- 求解非线性方程组:
,其中 ; - LASSO问题:
其中 , , ; - …
对于非光滑问题,直接使用梯度法可能会收敛到一个非稳定点,例如考虑函数
其中
其中
其中
其中
次梯度算法
现在我们假设
回忆该问题的最优条件为
因此可以通过寻找次梯度集合中包含
其中
- 固定步长:
; - 固定
: 为常数; - 消失步长:
且 ; - 线搜索:通过精确或非精确线搜索来选取步长
。
我们将这类基于次梯度的算法称为次梯度算法 (subgradient method)。总地来说,次梯度算法具有以下特征:
- 能够处理一般的不可微凸函数;
- 常能推导出非常简单的算法;
- 收敛速度可能非常缓慢 (相比于具有线性收敛速度
的梯度法,次梯度法通常仅具有 阶数的收敛速度); - 没有很好的停机准则;
- 理论复杂度:迭代
步可以得到 -精度的点; - 一种“最优”的一阶方法:复杂度
无法再改进。
下面我们讨论在不同步长取法下次梯度算法的收敛性质。
收敛性
现在约定本小节中出现的函数
是凸函数; 至少存在一个有限的极小值点 ,且 ; 为Lipshitz连续的,即
上述三个条件等价于要求
对于次梯度算法,一个重要的观察就是它并不是一个下降方法,即无法保证
上述定理揭示了次梯度算法的一些关键性质:次梯度算法的收敛性非常依赖于步长的选取;次梯度算法是非单调算法,可以配套常用的非单调线搜索准则一起使用。另外,根据上述定理可以直接得到不同步长取法下次梯度算法的收敛性:
- 取
是固定步长时,直接计算可得
由于 只是前 次迭代点上 的最小值,因此上述结果无法保证收敛性。当 足够大时, 近似为 精度的近似解。 - 取
以使得 固定,即令 是常数,则
同样地,这一结果无法保证收敛性,但可以保证当 足够大时, 近似为 精度的近似解。 - 取
且 为消失步长时,我们有
进一步可得 收敛到 。
由此可见,与梯度法不同,次梯度算法的收敛性依赖于步长的选取,只有当步长满足消失条件时,次梯度算法给出的前
下面我们考察固定迭代步数下的最优步长。假设
由平均值不等式可知当
时,该估计的右端最小,因此
这表明在
特别地,如果最优值
其中最后一行右端在
时取到最小,此时迭代等价于
递归地使用上式并结合
实际上,存在例子可以说明上面估计的右端上界无法进一步改进,
投影梯度法
从现在起,我们开始讨论带约束的凸优化问题。在优化和应用数学中,约束优化的梯度方法对于解决广泛的问题至关重要,这些方法的主要思想是将梯度下降 — 一种用于无约束优化的基本技术 — 有效地改进到处理约束的情况。
我们将约束问题写为如下一般形式:
其中约束集
投影梯度下降方法是梯度下降在约束问题上的直接扩展。给定一个约束集合
投影梯度下降方法的迭代格式为
其中
这种投影方法的一个关键性质是非扩张性 (non-expansiveness),即对于任意的
这意味着投影操作不会增加点之间的距离,这对于迭代过程的稳定性和收敛性是非常重要的。
到简单集合的投影
对于一些简单的凸集合,投影操作可以显式地计算出来。以下是一些常见集合的投影方法:
仿射集 对于超平面
而对于仿射集
当
多面体集 对于半平面
对于矩形区域
对于非负象限
对于概率单纯形
其中
对于更一般的概率单纯形
其中
范数球 到Euclidean球
到
当
简单锥 二阶锥
对于半正定锥
其中
收敛性
条件梯度法
邻近点梯度法
近似点映射
加速梯度法
- Title: Optimization Algorithms - Gradient Methods
- Author: Gypsophila
- Created at : 2025-05-26 13:35:07
- Updated at : 2025-05-28 21:00:50
- Link: https://chenx.space/2025/05/26/GradMethod/
- License: This work is licensed under CC BY-NC-SA 4.0.