第四章:投影梯度法

8704 字
44 分钟
第四章:投影梯度法
文章摘要

投影算子及其闭式公式、基本与变步长投影梯度法、外梯度投影法与变分不等式。

引言:从无约束到有约束#

无约束优化中,梯度下降的迭代 xk+1=xkαkf(xk)x^{k+1} = x^k - \alpha_k \nabla f(x^k) 沿负梯度方向移动即可保证目标函数值下降。然而,当问题带有约束

minxf(x)s.t.xΩ\min_x f(x) \quad \text{s.t.} \quad x \in \Omega

Ω\OmegaRn\mathbb{R}^n 中的闭凸集)时,直接套用梯度下降会遇到一个根本性的困难:更新点 xkαkf(xk)x^k - \alpha_k \nabla f(x^k) 可能落在可行域 Ω\Omega 之外。即使当前迭代点 xkΩx^k \in \Omega,负梯度方向也未必指向 Ω\Omega 的内部——梯度只关心目标函数的下降方向,完全不”知道”约束的存在。如果无视这一点继续迭代,序列可能远离可行域,所得到的”解”毫无意义。

投影梯度法的思路极其自然:每步更新后,将迭代点投影回可行域,

xk+1=PΩ ⁣(xkαkf(xk))x^{k+1} = P_\Omega\!\bigl(x^k - \alpha_k \nabla f(x^k)\bigr)

其中 PΩP_\Omega 为到闭凸集 Ω\Omega 上的投影算子。这个操作在几何上就是把越界的点沿最短路径拉回可行域——如果更新点已经在 Ω\Omega 内,投影不做任何改动;如果越界了,投影找到 Ω\Omega 中距离更新点最近的那个点。

本章从投影算子的基本性质和常见计算出发(第 0 节),然后依次介绍固定步长的基本投影梯度法(4.1 节)、变步长推广(4.2 节),以及处理更一般变分不等式问题的外梯度投影法(4.3 节),最后对三种方法做统一对比(4.4 节)。


4.0 投影算子#

4.0.1 定义与基本性质#

ΩRn\Omega \subseteq \mathbb{R}^n 为非空闭凸集。对任意 xRnx \in \mathbb{R}^nxxΩ\Omega 上的欧几里得投影定义为

PΩ(x)=argminyΩxy2P_\Omega(x) = \arg\min_{y \in \Omega} \|x - y\|^2

Ω\Omega 中距离 xx 最近的点。闭凸集上的投影具有两个关键性质,它们贯穿本章所有收敛性证明。

性质一:存在唯一性。Ω\Omega 的非空闭凸性和 2\|\cdot\|^2 的严格凸性,投影点 PΩ(x)P_\Omega(x) 存在且唯一。

性质二:非扩张性。 对任意 u,vRnu, v \in \mathbb{R}^n

PΩ(u)PΩ(v)uv\|P_\Omega(u) - P_\Omega(v)\| \leq \|u - v\|

投影不会拉大两个点之间的距离。更强地,PΩP_\Omega稳定非扩张(firmly nonexpansive)的,即

PΩ(u)PΩ(v)2+(uPΩ(u))(vPΩ(v))2uv2\|P_\Omega(u) - P_\Omega(v)\|^2 + \|(u - P_\Omega(u)) - (v - P_\Omega(v))\|^2 \leq \|u - v\|^2

非扩张性是投影梯度法收敛性分析的基石:它允许我们在估计 xk+1x\|x^{k+1} - x^*\| 时”去掉投影”,将问题简化为分析梯度步的行为。

性质三:变分不等式刻画。 PΩ(x)P_\Omega(x) 可以等价地通过如下不等式刻画——对任意 yΩy \in \Omega

PΩ(x)x,  yPΩ(x)0\langle P_\Omega(x) - x,\; y - P_\Omega(x)\rangle \geq 0

几何含义:从 PΩ(x)P_\Omega(x) 指向 xx 的方向与从 PΩ(x)P_\Omega(x) 指向 Ω\Omega 中任意点 yy 的方向夹角不小于 90°90°。这一性质在 4.3 节外梯度法的证明中起关键作用。

4.0.2 常见集合上的投影公式#

投影算子的抽象定义需要求解一个约束优化子问题,但在许多常见集合上,投影具有显式的闭式公式。下面逐一推导。

欧几里得球。Ω={yRnycr}\Omega = \{y \in \mathbb{R}^n \mid \|y - c\| \leq r\} 为以 cc 为中心、rr 为半径的球。投影为

PΩ(x)={x,xcrc+rxcxc,xc>rP_\Omega(x) = \begin{cases} x, & \|x - c\| \leq r \\ c + r \cdot \dfrac{x - c}{\|x - c\|}, & \|x - c\| > r \end{cases}

推导。xx 已在球内时,xx 本身就是 Ω\Omega 中距离自己最近的点,投影不变。当 xx 在球外时,需要求解 minyyx2  s.t.  ycr\min_{y} \|y - x\|^2 \;\text{s.t.}\; \|y - c\| \leq r。由于目标函数是以 xx 为中心的球对称函数,最优解必然在从 ccxx 的射线上——偏离这条射线只会增大到 xx 的距离。因此最优解的形式为 y=c+t(xc)y^* = c + t(x - c),其中 t>0t > 0。约束 yc=txcr\|y^* - c\| = t\|x - c\| \leq r 要求 tr/xct \leq r/\|x - c\|。在这个范围内,yx2=(1t)2xc2\|y^* - x\|^2 = (1-t)^2\|x - c\|^2 关于 tt 单调递减,所以取 t=r/xct = r/\|x - c\|,即 y=c+rxcxcy^* = c + r \cdot \frac{x - c}{\|x - c\|}。投影的操作是将 xcx - c 方向上的分量缩放到半径 rr,保持方向不变。

半空间。Ω={yayb}\Omega = \{y \mid a^\top y \leq b\},其中 a0a \neq 0。投影为

PΩ(x)={x,axbxaxba2a,ax>bP_\Omega(x) = \begin{cases} x, & a^\top x \leq b \\ x - \dfrac{a^\top x - b}{\|a\|^2}\,a, & a^\top x > b \end{cases}

推导。xx 满足约束时投影不变。当 ax>ba^\top x > b 时,xx 在超平面 ay=ba^\top y = b 的外侧。半空间的边界是超平面 H={yay=b}H = \{y \mid a^\top y = b\},而 aaHH 的法向量。从 xxHH 的最短距离由垂直投影给出:沿法向量 aa 的方向移动到超平面上。设 y=xλay^* = x - \lambda a,要求 ay=ba^\top y^* = b,即 axλa2=ba^\top x - \lambda \|a\|^2 = b,解得 λ=(axb)/a2\lambda = (a^\top x - b)/\|a\|^2。由于半空间包含整个超平面,而超平面上距 xx 最近的点就是垂足,所以垂足也是到半空间的投影。投影的操作是沿法向量方向将违反约束的量”减掉”。

非负正象限。Ω=R+n={yyi0,  i=1,,n}\Omega = \mathbb{R}^n_+ = \{y \mid y_i \geq 0,\; i = 1, \ldots, n\}。投影逐分量独立进行:

[PΩ(x)]i=max(xi,  0),i=1,,n[P_\Omega(x)]_i = \max(x_i,\; 0), \quad i = 1, \ldots, n

推导。 非负正象限可以写为 nn 个半空间的交集:Ω=i=1n{yeiy0}\Omega = \bigcap_{i=1}^n \{y \mid -e_i^\top y \leq 0\},其中 eie_i 是第 ii 个标准基向量。由于这些约束作用在不同的分量上,投影问题 minyyx2=minyi(yixi)2  s.t.  yi0\min_y \|y - x\|^2 = \min_y \sum_i (y_i - x_i)^2 \;\text{s.t.}\; y_i \geq 0 可以分解为 nn 个独立的一维问题:minyi0(yixi)2\min_{y_i \geq 0} (y_i - x_i)^2。每个子问题的解为 yi=max(xi,0)y_i^* = \max(x_i, 0):若 xi0x_i \geq 0yi=xiy_i^* = x_i(已在可行域内);若 xi<0x_i < 0yi=0y_i^* = 0(边界上距 xix_i 最近的可行点)。投影的操作就是将所有负分量截断为零。这是带非负约束的优化(如非负矩阵分解)中最常用的投影。

概率单纯形。Ω=Δn={yRnyi0,  iyi=1}\Omega = \Delta_n = \{y \in \mathbb{R}^n \mid y_i \geq 0,\; \sum_i y_i = 1\}。与前面三个集合不同,概率单纯形上的投影没有逐分量独立的闭式解——等式约束 iyi=1\sum_i y_i = 1 耦合了所有分量。

投影可以通过 O(nlogn)O(n \log n) 的排序算法高效计算。其思路来自 KKT 条件的分析。投影问题为 minyyx2  s.t.  iyi=1,  yi0\min_y \|y - x\|^2 \;\text{s.t.}\; \sum_i y_i = 1,\; y_i \geq 0。引入等式约束的 Lagrange 乘子 τ\tau 和不等式约束的乘子 λi0\lambda_i \geq 0,KKT 条件给出 yixi+τλi=0y_i - x_i + \tau - \lambda_i = 0 以及互补松弛条件 λiyi=0\lambda_i y_i = 0。当 yi>0y_i > 0λi=0\lambda_i = 0,得 yi=xiτy_i = x_i - \tau;当 yi=0y_i = 0λi=τxi0\lambda_i = \tau - x_i \geq 0。合并两种情况,最优解为 yi=max(xiτ,0)y_i = \max(x_i - \tau, 0),其中 τ\tau 由等式约束 imax(xiτ,0)=1\sum_i \max(x_i - \tau, 0) = 1 确定。

具体地,将 xx 的分量降序排列为 x(1)x(2)x(n)x_{(1)} \geq x_{(2)} \geq \cdots \geq x_{(n)},令

ρ=max{j{1,,n}  |  x(j)1j(i=1jx(i)1)>0}\rho = \max\left\{j \in \{1, \ldots, n\} \;\middle|\; x_{(j)} - \frac{1}{j}\left(\sum_{i=1}^j x_{(i)} - 1\right) > 0\right\}

则阈值 τ=1ρ(i=1ρx(i)1)\tau = \frac{1}{\rho}\left(\sum_{i=1}^{\rho} x_{(i)} - 1\right),投影为 [PΩ(x)]i=max(xiτ,0)[P_\Omega(x)]_i = \max(x_i - \tau, 0)

这个公式的直觉是:先将所有分量平移同一个量 τ\tau(使总和调整为 11),然后将变为负数的分量截断为零;ρ\rho 标识了哪些分量在平移后仍为正。排序的作用是从大到小逐步确定哪些分量会被截断。概率单纯形上的投影在强化学习的策略更新、注意力机制的归一化等场景中频繁出现。


4.1 基本投影梯度法#

4.1.1 迭代格式与不动点#

取固定步长 αk1\alpha_k \equiv 1,得到最简单的基本投影梯度法

xk+1=PΩ ⁣(xkf(xk))x^{k+1} = P_\Omega\!\bigl(x^k - \nabla f(x^k)\bigr)

步长取 11 的目的是在最简设定下建立收敛性理论,变步长推广留给 4.2 节。完整的算法流程如下。

算法 4.1:基本投影梯度法

输入: 初始点 x0Ωx^0 \in \Omega,最大迭代次数 KK,收敛阈值 ε>0\varepsilon > 0

for k=0,1,2,,K1k = 0, 1, 2, \ldots, K-1 do

\quad 1. 计算梯度:gk=f(xk)g^k = \nabla f(x^k)

\quad 2. 梯度步:zk=xkgkz^k = x^k - g^k

\quad 3. 投影步:xk+1=PΩ(zk)x^{k+1} = P_\Omega(z^k)

\quad 4. 收敛检查:若 xk+1xk<ε\|x^{k+1} - x^k\| < \varepsilon,则终止

end for

输出: xk+1x^{k+1}

最优解 xx^* 是该迭代的不动点

x=PΩ ⁣(xf(x))x^* = P_\Omega\!\bigl(x^* - \nabla f(x^*)\bigr)

这一性质是收敛性证明的起点——它把”收敛到最优解”转化为”收敛到不动点”。不动点条件的成立可以从最优性的一阶条件推出:xx^* 是约束优化问题的最优解当且仅当对所有 yΩy \in \Omega 成立 f(x),  yx0\langle \nabla f(x^*),\; y - x^*\rangle \geq 0,这恰好等价于 x=PΩ(xf(x))x^* = P_\Omega(x^* - \nabla f(x^*))(利用 4.0.1 节的变分不等式刻画)。

4.1.2 Q-线性收敛定理#

定理 4.1. 设以下条件成立:

  1. 强单调性. f\nabla f 关于 Ω\Omega 强单调,即存在 μ>0\mu > 0,使得对任意 x,yΩx, y \in \Omega
f(x)f(y),  xyμxy2\langle \nabla f(x) - \nabla f(y),\; x - y \rangle \geq \mu \|x - y\|^2
  1. Lipschitz 连续性. f\nabla f Lipschitz 连续,即存在 L>0L > 0,使得对任意 x,yx, y
f(x)f(y)Lxy\|\nabla f(x) - \nabla f(y)\| \leq L\|x - y\|
  1. 参数关系. L2<2μL^2 < 2\mu,且 LμL \neq \mu

则基本投影梯度法生成的序列 {xk}\{x^k\} Q-线性收敛到 xx^*,收敛因子为

c=1+L22μ(0,1)c = 1 + L^2 - 2\mu \in (0,1)

Q-线性收敛意味着误差以几何级数衰减:xkxck/2x0x\|x^k - x^*\| \leq c^{k/2}\|x^0 - x^*\|,是很强的收敛性保证。

条件 L2<2μL^2 < 2\mu 的含义。 这个条件限制了问题的条件数 κ=L/μ\kappa = L/\mu 不能太大。条件数衡量目标函数最陡方向与最平方向之间的曲率差异。从 Hessian 的角度,ff 的 Hessian 特征值被夹在 [μ,L][\mu, L] 之间,κ\kappa 就是最大与最小特征值之比。

考虑二次函数 f(x)=12xAxf(x) = \frac{1}{2} x^\top A xR2\mathbb{R}^2 上的情形,AA 的特征值为 μ\muLL。当 κ=L/μ\kappa = L/\mu 接近 11 时,AA 接近数量矩阵,ff 的等高线接近正圆——各方向曲率相近,固定步长 11 在所有方向上都是合理的步长选择。当 κ\kappa 增大时,等高线变为狭长的椭圆——沿长轴方向曲率小(需要大步长),沿短轴方向曲率大(需要小步长),一个固定步长无法兼顾两个方向。由 L2<2μL^2 < 2\mu 可以推出 κ2<2κ\kappa^2 < 2\kappa(利用 LμL \geq \mu),即 κ<2\kappa < 2,等高线的椭圆长短轴之比不能超过 22

举一个具体的例子来感受这个条件有多严格。条件 L2<2μL^2 < 2\mu 等价于 L<2μL < \sqrt{2\mu}。对 μ=1\mu = 1 而言,要求 L<21.414L < \sqrt{2} \approx 1.414,即条件数 κ=L/μ<1.414\kappa = L/\mu < 1.414。设 A=diag(1,1.4)A = \text{diag}(1, 1.4)L=1.4L = 1.4κ=1.4\kappa = 1.4),则 L2=1.96<2=2μL^2 = 1.96 < 2 = 2\mu,条件刚好满足,收敛因子 c=1+1.962=0.96c = 1 + 1.96 - 2 = 0.96,收敛较慢。若 A=diag(1,1.5)A = \text{diag}(1, 1.5)L=1.5L = 1.5κ=1.5\kappa = 1.5),则 L2=2.25>2=2μL^2 = 2.25 > 2 = 2\mu,条件已经不满足——即使条件数只有 1.51.5,固定步长 11 也无法保证收敛。等高线的椭圆形变必须非常小。

实际中大多数优化问题的条件数远大于 22(例如线性回归中设计矩阵的条件数可达 10310^3 量级),因此基本投影梯度法的适用范围有限。这正是 4.2 节引入变步长的动机:通过可调节的步长 αk\alpha_k 来适应不同方向的曲率差异,从而摆脱对条件数的苛刻限制。

4.1.3 收敛性证明#

需要证明存在 c(0,1)c \in (0,1),使得 xk+1x2cxkx2\|x^{k+1} - x^*\|^2 \leq c\,\|x^k - x^*\|^2

第一步:非扩张性去投影. 利用 xx^* 的不动点性质,

xk+1x2=PΩ ⁣(xkf(xk))PΩ ⁣(xf(x))2\|x^{k+1} - x^*\|^2 = \bigl\|P_\Omega\!\bigl(x^k - \nabla f(x^k)\bigr) - P_\Omega\!\bigl(x^* - \nabla f(x^*)\bigr)\bigr\|^2

投影算子 PΩP_\Omega 是非扩张的(4.0.1 节性质二),去掉投影得

xk+1x2(xkx)(f(xk)f(x))2\|x^{k+1} - x^*\|^2 \leq \bigl\|(x^k - x^*) - \bigl(\nabla f(x^k) - \nabla f(x^*)\bigr)\bigr\|^2

第二步:展开平方范数. 将右端展开为

xkx22xkx,  f(xk)f(x)+f(xk)f(x)2()\|x^k - x^*\|^2 - 2\bigl\langle x^k - x^*,\; \nabla f(x^k) - \nabla f(x^*)\bigr\rangle + \|\nabla f(x^k) - \nabla f(x^*)\|^2 \tag{$\star$}

到此只用了非扩张性,尚未用强单调性和 Lipschitz 连续性。

第三步:利用条件估计后两项. 目标是把 ()(\star) 的后两项归结为 xkx2\|x^k - x^*\|^2 的倍数。

由 Lipschitz 连续性(条件 2),第三项满足

f(xk)f(x)2L2xkx2\|\nabla f(x^k) - \nabla f(x^*)\|^2 \leq L^2\|x^k - x^*\|^2

由强单调性(条件 1),第二项中的内积满足

xkx,  f(xk)f(x)μxkx2\bigl\langle x^k - x^*,\; \nabla f(x^k) - \nabla f(x^*)\bigr\rangle \geq \mu\|x^k - x^*\|^2

注意第二项前有系数 2-2,内积下界取负后变为上界。代入 ()(\star)

xk+1x2xkx2+L2xkx22μxkx2\|x^{k+1} - x^*\|^2 \leq \|x^k - x^*\|^2 + L^2\|x^k - x^*\|^2 - 2\mu\|x^k - x^*\|^2

第四步:合并得收敛因子. 合并同类项,

xk+1x2(1+L22μ)xkx2\|x^{k+1} - x^*\|^2 \leq \bigl(1 + L^2 - 2\mu\bigr)\|x^k - x^*\|^2

c=1+L22μc = 1 + L^2 - 2\mu。Q-线性收敛要求 0<c<10 < c < 1

  • c<1c < 1:等价于 L2<2μL^2 < 2\mu,即条件 3 的第一部分。
  • c>0c > 0:注意 1+L22μ=(L2μ2)+(μ1)21 + L^2 - 2\mu = (L^2 - \mu^2) + (\mu - 1)^2。由 LμL \neq \muLμL \geq \mu(下文证明),有 L2μ2>0L^2 - \mu^2 > 0,又 (μ1)20(\mu - 1)^2 \geq 0,故 c>0c > 0

L=μL = \mu,则 c=(μ1)2c = (\mu - 1)^2;再若 μ=1\mu = 1,则 c=0c = 0,收敛因子退化。排除 L=μL = \mu 正是为了避免这种退化。\blacksquare

4.1.4 Lipschitz 常数与强单调系数的关系#

从 Hessian 的角度,ff 的 Hessian 的所有特征值被夹在 [μ,L][\mu, L] 之间:

μλ ⁣(2f(x))L\mu \leq \lambda\!\bigl(\nabla^2 f(x)\bigr) \leq L

因此 LμL \geq \mu 天然成立。也可以不依赖二阶信息,直接用 Cauchy-Schwarz 不等式证明。

命题 4.2.f\nabla f 同时满足强单调性(参数 μ\mu)和 Lipschitz 连续性(参数 LL),则 LμL \geq \mu

证明. 由强单调性,

f(x)f(y),  xyμxy2\langle \nabla f(x) - \nabla f(y),\; x - y \rangle \geq \mu\|x - y\|^2

对左端用 Cauchy-Schwarz 不等式,再用 Lipschitz 连续性:

μxy2f(x)f(y)xyLxy2\mu\|x - y\|^2 \leq \|\nabla f(x) - \nabla f(y)\| \cdot \|x - y\| \leq L\|x - y\|^2

xyx \neq y 时两端除以 xy2\|x - y\|^2LμL \geq \mu\blacksquare

L=μL = \mu 对应 Hessian 为常数矩阵 μI\mu I 的特殊情况,即目标函数为强凸二次函数。


4.2 变步长投影梯度法#

基本投影梯度法的固定步长 αk1\alpha_k \equiv 1 要求条件数 κ=L/μ<2\kappa = L/\mu < 2,这个限制在实际问题中很难满足。变步长投影梯度法通过允许步长逐步变化来克服这一困难:即使条件数很大,只要步长选取得当,仍然可以保证收敛。

在条件方面也有放松:基本投影梯度法要求强单调性加上 L2<2μL^2 < 2\mu 的参数关系,而变步长版本只需要余强制性(cocoercivity)。回顾第二章的映射分类,余强制性弱于强单调性(强单调 \Rightarrow 余强制),因此变步长版本的适用范围更广。不过,两种方法的证明技巧有一个重要的共同点:都是利用投影的非扩张性”去掉投影”后,在梯度步上做分析。

4.2.1 迭代格式与收敛条件#

变步长投影梯度法的迭代格式为

xk+1=PΩ ⁣(xkαkf(xk))x^{k+1} = P_\Omega\!\bigl(x^k - \alpha_k \nabla f(x^k)\bigr)

其中 αk>0\alpha_k > 0 可以每步不同。完整算法如下。

算法 4.2:变步长投影梯度法

输入: 初始点 x0Ωx^0 \in \Omega,步长序列 {αk}\{\alpha_k\},最大迭代次数 KK,收敛阈值 ε>0\varepsilon > 0

for k=0,1,2,,K1k = 0, 1, 2, \ldots, K-1 do

\quad 1. 计算梯度:gk=f(xk)g^k = \nabla f(x^k)

\quad 2. 梯度步:zk=xkαkgkz^k = x^k - \alpha_k g^k

\quad 3. 投影步:xk+1=PΩ(zk)x^{k+1} = P_\Omega(z^k)

\quad 4. 收敛检查:若 xk+1xk<ε\|x^{k+1} - x^k\| < \varepsilon,则终止

end for

输出: xk+1x^{k+1}

收敛需要两个条件:

条件一:余强制性(cocoercivity). f\nabla f 满足余强制条件,即存在 δ>0\delta > 0,使得对任意 x,yx, y

f(x)f(y),  xyδf(x)f(y)2\langle \nabla f(x) - \nabla f(y),\; x - y \rangle \geq \delta \|\nabla f(x) - \nabla f(y)\|^2

常数 δ\delta 称为余强制系数。余强制性比单调性更强:内积不仅非负,还以梯度差范数的平方为下界。余强制性蕴含 Lipschitz 连续性,且 Lipschitz 常数 L=1/δL = 1/\delta

条件二:步长约束.

0<αk<2δ0 < \alpha_k < 2\delta

这个约束并非人为规定,而是在收敛性证明中自然产生的要求。

4.2.2 Fejér 单调性的建立#

证明的核心策略是建立 Fejér 单调性:序列 {xk}\{x^k\} 到最优解 xx^* 的距离单调递减。

第一步:非扩张性去投影. xx^* 满足不动点条件 x=PΩ(xαkf(x))x^* = P_\Omega(x^* - \alpha_k \nabla f(x^*))。利用 PΩP_\Omega 的非扩张性去掉投影,

xk+1x2(xkx)αk(f(xk)f(x))2\|x^{k+1} - x^*\|^2 \leq \bigl\|(x^k - x^*) - \alpha_k\bigl(\nabla f(x^k) - \nabla f(x^*)\bigr)\bigr\|^2

第二步:展开平方范数.

=xkx2+αk2f(xk)f(x)22αkf(xk)f(x),  xkx= \|x^k - x^*\|^2 + \alpha_k^2\|\nabla f(x^k) - \nabla f(x^*)\|^2 - 2\alpha_k\bigl\langle \nabla f(x^k) - \nabla f(x^*),\; x^k - x^*\bigr\rangle

第三步:用余强制条件处理内积项. 将余强制条件代入最后一项的内积,

f(xk)f(x),  xkxδf(xk)f(x)2\bigl\langle \nabla f(x^k) - \nabla f(x^*),\; x^k - x^*\bigr\rangle \geq \delta\|\nabla f(x^k) - \nabla f(x^*)\|^2

注意前面有系数 2αk-2\alpha_k,代入后得

xk+1x2xkx2+αk2f(xk)f(x)22αkδf(xk)f(x)2\|x^{k+1} - x^*\|^2 \leq \|x^k - x^*\|^2 + \alpha_k^2\|\nabla f(x^k) - \nabla f(x^*)\|^2 - 2\alpha_k\delta\|\nabla f(x^k) - \nabla f(x^*)\|^2

第四步:合并梯度差项.

xk+1x2xkx2+αk(αk2δ)f(xk)f(x)2\|x^{k+1} - x^*\|^2 \leq \|x^k - x^*\|^2 + \alpha_k(\alpha_k - 2\delta)\|\nabla f(x^k) - \nabla f(x^*)\|^2

4.2.3 步长条件的推导#

Fejér 单调性要求第二项为非正数,即 αk(αk2δ)0\alpha_k(\alpha_k - 2\delta) \leq 0。由 αk>0\alpha_k > 0,这等价于

αk<2δ\alpha_k < 2\delta

此即条件二。满足后,

xk+1x2xkx2\|x^{k+1} - x^*\|^2 \leq \|x^k - x^*\|^2

序列 {xk}\{x^k\} 关于 xx^* Fejér 单调。

4.2.4 从 Fejér 单调到 Q-线性收敛#

Fejér 单调性只保证距离不增——它说明迭代不会”跑远”,但没有说明迭代会以什么速率”靠近”。要升级到线性收敛,需要一个反方向的估计:梯度差的范数不能比距离差衰减得更快。

余强制性恰好提供了这一估计。由余强制性蕴含的 Lipschitz 连续性 L=1/δL = 1/\delta,梯度差的范数可以用距离来下界:

f(xk)f(x)21δ2xkx2\|\nabla f(x^k) - \nabla f(x^*)\|^2 \geq \frac{1}{\delta^2}\|x^k - x^*\|^2

代入 Fejér 单调不等式,

xk+1x2(1+αk(αk2δ)δ2)xkx2\|x^{k+1} - x^*\|^2 \leq \left(1 + \frac{\alpha_k(\alpha_k - 2\delta)}{\delta^2}\right)\|x^k - x^*\|^2

0<αk<2δ0 < \alpha_k < 2\delta 时,括号内的系数 qk(0,1)q_k \in (0,1),这正是 Q-线性收敛 的形式:

xk+1x2qkxkx2,qk(0,1)\|x^{k+1} - x^*\|^2 \leq q_k\,\|x^k - x^*\|^2, \quad q_k \in (0,1)

从 Fejér 单调到 Q-线性收敛,关键在于余强制性与 Lipschitz 连续性之间的对偶关系(δ=1/L\delta = 1/L):它把”减去正数”升级为”乘以收缩因子”。


4.3 外梯度投影法#

前两节处理的是约束优化问题 minxf(x)  s.t.  xΩ\min_x f(x) \;\text{s.t.}\; x \in \Omega,梯度算子 f\nabla f 具有较强的结构——强单调或余强制。但许多实际问题无法表示为单一目标函数的最小化。博弈论中的 Nash 均衡、交通网络流量均衡、鞍点问题等,自然地表述为变分不等式(variational inequality):寻找 xΩx^* \in \Omega 使得对所有 yΩy \in \Omega

F(x),  yx0\langle F(x^*),\; y - x^*\rangle \geq 0

其中 F:RnRnF: \mathbb{R}^n \to \mathbb{R}^n 是一个一般的映射。约束优化是其特例(取 F=fF = \nabla f),但在变分不等式的一般设定中,FF 不一定是某个函数的梯度,也不一定满足强单调性或余强制性。本节介绍的外梯度投影法正是为了在这种更弱的条件下求解变分不等式而设计的。

4.3.1 动机:为什么普通投影梯度法可能失效#

面对变分不等式,最自然的尝试是直接套用投影梯度法:xk+1=PΩ(xkαF(xk))x^{k+1} = P_\Omega(x^k - \alpha F(x^k))。这在 FF 满足强单调或余强制条件时是有效的(如 4.1 和 4.2 节所示),但当 FF 仅满足较弱的单调性条件时,这一方法可能失效。

一个典型的反例是旋转场。考虑 R2\mathbb{R}^2 上的映射 F(x1,x2)=(x2,x1)F(x_1, x_2) = (x_2, -x_1),可行域 Ω\Omega 为以原点为中心的闭球。这个映射是单调的(F(x)F(y),xy=0\langle F(x) - F(y), x - y \rangle = 0 对所有 x,yx, y 成立),解为 x=(0,0)x^* = (0, 0)。但 FF 在每个点处的方向都与径向垂直——它是一个纯旋转场。在点 (1,0)(1, 0) 处,F=(0,1)F = (0, -1),方向指向下方;沿 F=(0,1)-F = (0, 1) 方向移动后到达 (1,α)(1, \alpha)(假设在球内),而新点处 F=(α,1)F = (\alpha, -1),方向仍然是”旋转的”。迭代的轨迹绕着原点做圆周运动,永远无法靠近解。

问题的根源在于:普通投影梯度法在 xkx^k 处计算映射值 F(xk)F(x^k),然后据此更新到 xk+1x^{k+1}。但 F(xk)F(x^k) 的信息仅反映 xkx^k 处的局部状况。当 FF 具有较强的旋转分量时,从 xkx^k 出发的方向 F(xk)-F(x^k) 在全局尺度上并不指向解 xx^*——它指向的是”切线方向”而非”径向方向”。

外梯度法为什么能解决这个问题?试探步先移动到 x^k+1\hat{x}^{k+1},然后在 x^k+1\hat{x}^{k+1} 处重新计算映射值。由于映射是旋转的,F(x^k+1)F(\hat{x}^{k+1}) 的方向相对于 F(xk)F(x^k) 发生了旋转。从 xkx^k 出发按 F(x^k+1)F(\hat{x}^{k+1})(而非 F(xk)F(x^k))的方向更新,得到的方向会包含指向原点的分量。换言之,试探步的”往前看一步”自动引入了方向修正,将纯旋转的运动分解出了一个径向收缩分量。

4.3.2 外梯度法的思想与迭代格式#

外梯度投影法(Extragradient Projection Method, Korpelevich 1976)通过在每步迭代中执行两次投影来解决上述问题。

试探步(预测):

x^k+1=PΩ ⁣(xkαF(xk))\hat{x}^{k+1} = P_\Omega\!\bigl(x^k - \alpha F(x^k)\bigr)

正式更新步(校正):

xk+1=PΩ ⁣(xkαF(x^k+1))x^{k+1} = P_\Omega\!\bigl(x^k - \alpha F(\hat{x}^{k+1})\bigr)

第一步是一次”试探”:从 xkx^k 出发,按当前映射值 F(xk)F(x^k) 做投影,得到一个试探点 x^k+1\hat{x}^{k+1}。第二步是”校正”:在试探点处重新计算映射值 F(x^k+1)F(\hat{x}^{k+1}),然后从 xkx^k(而非 x^k+1\hat{x}^{k+1})出发,按校正后的映射值做投影。试探步的作用是”往前看一步”——先探查前方的映射信息,在正式更新之前修正迭代方向。“外梯度”这个名称正是来源于此:利用了迭代点外侧(“extra”)的映射信息来指导更新。

若省略第二步,直接令 xk+1=x^k+1x^{k+1} = \hat{x}^{k+1},则退化为普通投影梯度法。完整的算法流程如下。

算法 4.3:外梯度投影法

输入: 初始点 x0Ωx^0 \in \Omega,步长 α>0\alpha > 0(需满足 α<1/L\alpha < 1/L),最大迭代次数 KK,收敛阈值 ε>0\varepsilon > 0

for k=0,1,2,,K1k = 0, 1, 2, \ldots, K-1 do

\quad 1. 计算映射值:Fk=F(xk)F^k = F(x^k)

\quad 2. 试探步:x^k+1=PΩ(xkαFk)\hat{x}^{k+1} = P_\Omega(x^k - \alpha F^k)

\quad 3. 计算试探点处映射值:F^k+1=F(x^k+1)\hat{F}^{k+1} = F(\hat{x}^{k+1})

\quad 4. 正式更新步:xk+1=PΩ(xkαF^k+1)x^{k+1} = P_\Omega(x^k - \alpha \hat{F}^{k+1})

\quad 5. 收敛检查:若 xk+1xk<ε\|x^{k+1} - x^k\| < \varepsilon,则终止

end for

输出: xk+1x^{k+1}

注意每步迭代需要计算两次映射值(F(xk)F(x^k)F(x^k+1)F(\hat{x}^{k+1}))和两次投影,计算量约为普通投影梯度法的两倍。

4.3.3 收敛条件与伪单调性#

外梯度投影法的收敛需要三个条件。

条件一:伪单调性(pseudomonotonicity). FF 关于解 xx^* 伪单调,即对任意 xΩx \in \Omega

F(x),  xx0\langle F(x),\; x - x^* \rangle \geq 0

为什么可以从单调性放松到伪单调性?回顾单调性条件之间的层级:

强单调    余强制    单调    伪单调\text{强单调} \;\Rightarrow\; \text{余强制} \;\Rightarrow\; \text{单调} \;\Rightarrow\; \text{伪单调}

强单调性要求 F(x)F(y),  xyμxy2\langle F(x) - F(y),\; x - y\rangle \geq \mu\|x - y\|^2所有点对 (x,y)(x, y) 成立——映射在全空间上都有很强的”正向对齐”性质。单调性将右端的 μxy2\mu\|x-y\|^2 放松为 00,但仍然要求对所有点对成立。伪单调性则是一个更本质的放松:它不要求映射在任意两点之间表现良好,只要求从可行域中任何一点 xx 看,映射 F(x)F(x) 所指的方向不会”反对”走向解 xx^*——即 F(x)F(x)xxx - x^* 的夹角不超过 90°90°

从收敛性证明的角度看,伪单调性恰好提供了证明所需的最小信息量。在 4.3.5 节的引理 4.4 中,证明仅需要 F(x^k+1),  x^k+1x0\langle F(\hat{x}^{k+1}),\; \hat{x}^{k+1} - x^*\rangle \geq 0,这正是伪单调条件在 x=x^k+1x = \hat{x}^{k+1} 处的实例。更强的条件(如强单调性)当然也满足这一要求,但并非必要。条件越弱,适用范围越广:伪单调性涵盖了鞍点问题、某些非合作博弈、以及映射具有旋转分量的情形。代价是可证明的收敛速率较慢——不再是线性收敛,而是全序列收敛但没有显式的收敛速率。

上面提到的旋转场 F(x1,x2)=(x2,x1)F(x_1, x_2) = (x_2, -x_1) 是一个好的检验例。它满足单调性(进而伪单调性)和 Lipschitz 连续性,但不满足强单调性或余强制性。外梯度法可以处理这类映射,而 4.1 和 4.2 节的方法做不到。

条件二:Lipschitz 连续性. FF Lipschitz 连续,即存在 L>0L > 0,使得

F(x)F(y)Lxy\|F(x) - F(y)\| \leq L\|x - y\|

条件三:步长限制.

α<1L\alpha < \frac{1}{L}

此条件在证明过程中自然推导出来(见 4.3.5 节末尾)。

4.3.4 投影算子的变分不等式性质#

收敛性证明需要投影算子的一个基本性质,这里先单独陈述。此性质已在 4.0.1 节给出(性质三),这里以引理形式重述以方便后续引用。

引理 4.3(变分不等式刻画). 对任意 xRnx \in \mathbb{R}^nyΩy \in \Omega

PΩ(x)x,  yPΩ(x)0\langle P_\Omega(x) - x,\; y - P_\Omega(x)\rangle \geq 0

等价地,

PΩ(x)x,  PΩ(x)y0\langle P_\Omega(x) - x,\; P_\Omega(x) - y\rangle \leq 0

证明. PΩ(x)P_\Omega(x)Ω\Omega 中距 xx 最近的点。从 PΩ(x)P_\Omega(x) 指向 xx 的方向与从 PΩ(x)P_\Omega(x) 指向 Ω\Omega 中任意点 yy 的方向夹角不小于 90°90°,这是凸集投影的标准几何性质。\blacksquare

4.3.5 收敛性证明#

证明按五步框架展开:Fejér 单调性 \to 趋零性 \to 有界性 \to 聚点是不动点 \to 全序列收敛。核心难度集中在第一步——建立 Fejér 单调性需要三个引理层层推进。后续四步是通用的收敛性论证模式,与具体算法无关。

第一步:Fejér 单调性#

为简化记号,令 yk=xkαF(x^k+1)y_k = x^k - \alpha F(\hat{x}^{k+1}),则 xk+1=PΩ(yk)x^{k+1} = P_\Omega(y_k)。目标是证明

xk+1x2xkx2ck,ck0\|x^{k+1} - x^*\|^2 \leq \|x^k - x^*\|^2 - c_k, \quad c_k \geq 0

展开 xk+1x2=PΩ(yk)x2\|x^{k+1} - x^*\|^2 = \|P_\Omega(y_k) - x^*\|^2,通过加减 yky_k

=PΩ(yk)yk2+ykx2+2PΩ(yk)yk,  ykx= \|P_\Omega(y_k) - y_k\|^2 + \|y_k - x^*\|^2 + 2\langle P_\Omega(y_k) - y_k,\; y_k - x^*\rangle

由引理 4.3(取 x=ykx = y_ky=xy = x^*),内积项满足

2PΩ(yk)yk,  ykx2PΩ(yk)yk22\langle P_\Omega(y_k) - y_k,\; y_k - x^*\rangle \leq -2\|P_\Omega(y_k) - y_k\|^2

这一步的直觉是:投影的变分不等式性质保证了从投影点到投影前的点的方向与从投影点到可行域内任意点的方向呈钝角,这使得交叉内积项被投影位移的平方所控制。因此

xk+1x2ykx2PΩ(yk)yk2\|x^{k+1} - x^*\|^2 \leq \|y_k - x^*\|^2 - \|P_\Omega(y_k) - y_k\|^2

yk=xkαF(x^k+1)y_k = x^k - \alpha F(\hat{x}^{k+1}) 代入展开 ykx2\|y_k - x^*\|^2,并注意 PΩ(yk)=xk+1P_\Omega(y_k) = x^{k+1},经过加减 x^k+1\hat{x}^{k+1} 项的整理,得到

xk+1x2xkx2xkx^k+12x^k+1xk+12\|x^{k+1} - x^*\|^2 \leq \|x^k - x^*\|^2 - \|x^k - \hat{x}^{k+1}\|^2 - \|\hat{x}^{k+1} - x^{k+1}\|^2
+2αxxk+1,  F(x^k+1)+2αxkx^k+1,  F(x^k+1)+ 2\alpha\langle x^* - x^{k+1},\; F(\hat{x}^{k+1})\rangle + 2\alpha\langle x^k - \hat{x}^{k+1},\; F(\hat{x}^{k+1})\rangle

右端的前三项已经具备 Fejér 单调的形式(距离减去两个正量),但后两个内积项的符号不确定。下面用两个引理分别处理这两项。

引理 4.4(利用伪单调性). 成立

F(x^k+1),  xxk+1F(x^k+1),  x^k+1xk+1\langle F(\hat{x}^{k+1}),\; x^* - x^{k+1}\rangle \leq \langle F(\hat{x}^{k+1}),\; \hat{x}^{k+1} - x^{k+1}\rangle

证明. 由伪单调条件(取 x=x^k+1x = \hat{x}^{k+1}),F(x^k+1),  x^k+1x0\langle F(\hat{x}^{k+1}),\; \hat{x}^{k+1} - x^*\rangle \geq 0。在 x^k+1x\hat{x}^{k+1} - x^* 中加减 xk+1x^{k+1}

F(x^k+1),  (x^k+1xk+1)+(xk+1x)0\langle F(\hat{x}^{k+1}),\; (\hat{x}^{k+1} - x^{k+1}) + (x^{k+1} - x^*)\rangle \geq 0

拆开并移项即得。\blacksquare

引理 4.4 的作用是将含有未知解 xx^* 的内积转化为仅涉及迭代点的内积。这是可能的,因为伪单调性保证了 F(x^k+1)F(\hat{x}^{k+1})x^k+1x\hat{x}^{k+1} - x^* 方向一致(夹角不超过 90°90°),从而 xx^* 的信息可以被”吸收”掉。

引理 4.5(利用 Lipschitz 连续与投影性质). 成立

xk+1x^k+1,  xkαF(x^k+1)x^k+1αLx^k+1xk+1xkx^k+1\langle x^{k+1} - \hat{x}^{k+1},\; x^k - \alpha F(\hat{x}^{k+1}) - \hat{x}^{k+1}\rangle \leq \alpha L\|\hat{x}^{k+1} - x^{k+1}\| \cdot \|x^k - \hat{x}^{k+1}\|

证明. 在左端加减 αF(xk)\alpha F(x^k),分为两部分:

xk+1x^k+1,  (xkαF(xk))x^k+1+αxk+1x^k+1,  F(xk)F(x^k+1)\langle x^{k+1} - \hat{x}^{k+1},\; (x^k - \alpha F(x^k)) - \hat{x}^{k+1}\rangle + \alpha\langle x^{k+1} - \hat{x}^{k+1},\; F(x^k) - F(\hat{x}^{k+1})\rangle

对第一部分:x^k+1=PΩ(xkαF(xk))\hat{x}^{k+1} = P_\Omega(x^k - \alpha F(x^k)),而 xk+1Ωx^{k+1} \in \Omega。由引理 4.3,

xk+1x^k+1,  (xkαF(xk))x^k+10\langle x^{k+1} - \hat{x}^{k+1},\; (x^k - \alpha F(x^k)) - \hat{x}^{k+1}\rangle \leq 0

这一步利用了试探步的投影性质:x^k+1\hat{x}^{k+1}xkαF(xk)x^k - \alpha F(x^k)Ω\Omega 上的投影,因此从 x^k+1\hat{x}^{k+1} 指向投影前的点与从 x^k+1\hat{x}^{k+1} 指向 Ω\Omega 内任意点(特别是 xk+1x^{k+1})的方向呈钝角。

对第二部分,由 Cauchy-Schwarz 不等式和 Lipschitz 连续性,

αxk+1x^k+1,  F(xk)F(x^k+1)αLxk+1x^k+1xkx^k+1\alpha\langle x^{k+1} - \hat{x}^{k+1},\; F(x^k) - F(\hat{x}^{k+1})\rangle \leq \alpha L\|x^{k+1} - \hat{x}^{k+1}\| \cdot \|x^k - \hat{x}^{k+1}\|

两部分合并即得。\blacksquare

利用引理 4.4 和引理 4.5,并将相关项合并后,主不等式化为

xk+1x2xkx2xkx^k+12x^k+1xk+12+2αLx^k+1xk+1xkx^k+1\|x^{k+1} - x^*\|^2 \leq \|x^k - x^*\|^2 - \|x^k - \hat{x}^{k+1}\|^2 - \|\hat{x}^{k+1} - x^{k+1}\|^2 + 2\alpha L\|\hat{x}^{k+1} - x^{k+1}\| \cdot \|x^k - \hat{x}^{k+1}\|

现在的问题是:右端有三项——两个负的平方项和一个正的交叉项,如何确定总和为负?这里用完全平方配方来处理。由任意实数的平方非负,

(x^k+1xk+1αLxkx^k+1)20\bigl(\|\hat{x}^{k+1} - x^{k+1}\| - \alpha L\|x^k - \hat{x}^{k+1}\|\bigr)^2 \geq 0

展开得

2αLx^k+1xk+1xkx^k+1x^k+1xk+12+α2L2xkx^k+122\alpha L\|\hat{x}^{k+1} - x^{k+1}\| \cdot \|x^k - \hat{x}^{k+1}\| \leq \|\hat{x}^{k+1} - x^{k+1}\|^2 + \alpha^2 L^2\|x^k - \hat{x}^{k+1}\|^2

交叉项被两个平方项的和所控制。代入主不等式后,x^k+1xk+12\|\hat{x}^{k+1} - x^{k+1}\|^2 的负项与正项恰好抵消,剩余项化简为 Fejér 单调性不等式

xk+1x2xkx2(1α2L2)xkx^k+12\boxed{\|x^{k+1} - x^*\|^2 \leq \|x^k - x^*\|^2 - (1 - \alpha^2 L^2)\|x^k - \hat{x}^{k+1}\|^2}

为使减量项非负,需要 1α2L2>01 - \alpha^2 L^2 > 0,即 α<1/L\alpha < 1/L,这正是步长条件三的来源。

第二步:趋零性#

将 Fejér 单调不等式从 k=0k = 0KK 求和,

(1α2L2)k=0Kxkx^k+12x0x2xK+1x2(1 - \alpha^2 L^2)\sum_{k=0}^{K}\|x^k - \hat{x}^{k+1}\|^2 \leq \|x^0 - x^*\|^2 - \|x^{K+1} - x^*\|^2

右端有限(它是望远镜求和差,被初始距离 x0x2\|x^0 - x^*\|^2 所控制),故 KK \to \infty 时级数收敛。由级数收敛的必要条件,

limkxkx^k+1=0\lim_{k \to \infty}\|x^k - \hat{x}^{k+1}\| = 0

这意味着随着迭代进行,试探点与当前迭代点之间的差异趋于零——试探步”没什么新信息可以发现了”。

第三步:有界性#

由 Fejér 单调性,{xkx2}\{\|x^k - x^*\|^2\} 单调递减且非负,因此由单调有界定理收敛。特别地,

xkxx0x,k\|x^k - x^*\| \leq \|x^0 - x^*\|, \quad \forall\, k

故迭代序列 {xk}\{x^k\} 有界,不会发散到无穷远。

第四步:聚点是不动点#

由有界性和 Bolzano-Weierstrass 致密性定理,存在收敛子列 {xkj}\{x^{k_j}\},设 xkjxx^{k_j} \to x_\infty

由趋零性,xkjx^kj+10\|x^{k_j} - \hat{x}^{k_j+1}\| \to 0,因此 x^kj+1x\hat{x}^{k_j+1} \to x_\infty。又由试探步 x^kj+1=PΩ(xkjαF(xkj))\hat{x}^{k_j+1} = P_\Omega(x^{k_j} - \alpha F(x^{k_j})),对两端取极限(利用 PΩP_\OmegaFF 的连续性),

x=PΩ ⁣(xαF(x))x_\infty = P_\Omega\!\bigl(x_\infty - \alpha F(x_\infty)\bigr)

xx_\infty 是不动点,即变分不等式的解。这一步的逻辑是:如果迭代点趋近某个极限,而试探步的偏移量趋于零,那么极限点必然满足”做一步投影梯度后回到自身”的不动点条件。

第五步:全序列收敛#

到第四步为止,只证明了某个子列收敛到不动点,尚未排除”不同子列收敛到不同不动点”的可能性。Fejér 单调性在此起到关键作用。

由第三步,xkx2\|x^k - x^*\|^2 收敛。由第四步,xx_\infty 也是解,因此 xkx2\|x^k - x_\infty\|^2 同样满足 Fejér 单调性(将 Fejér 单调不等式中的 xx^* 替换为 xx_\infty 即可)。子列 {xkj}\{x^{k_j}\} 使得 xkjx0\|x^{k_j} - x_\infty\| \to 0,即该单调递减序列存在趋于零的子列。又因为它单调递减且非负,极限只能为零。故全序列收敛:

limkxkx=0\lim_{k \to \infty}\|x^k - x_\infty\| = 0 \qquad \blacksquare

4.3.6 证明结构小结#

外梯度投影法收敛性证明的核心难度集中在 Fejér 单调性的建立,需要三个引理层层推进:

引理作用所用条件
引理 4.3投影的变分不等式性质,处理投影产生的内积项凸集投影几何性质
引理 4.4利用伪单调性将含 xx^* 的内积转化为不含 xx^* 的形式伪单调性
引理 4.5利用 Lipschitz 连续控制交叉梯度项Lipschitz 连续性

后续四步(趋零性、有界性、不动点性、全序列收敛)是通用的收敛性论证模式,与具体算法无关。


4.4 三种方法的对比与选择#

4.4.1 对比表#

基本投影梯度法 (4.1)变步长投影梯度法 (4.2)外梯度投影法 (4.3)
步长αk1\alpha_k \equiv 10<αk<2δ0 < \alpha_k < 2\delta0<α<1/L0 < \alpha < 1/L(固定)
每步投影次数112
每步映射求值次数112
映射条件强单调 + Lipschitz + L2<2μL^2 < 2\mu余强制(δ>0\delta > 0伪单调 + Lipschitz
收敛类型Q-线性Q-线性全序列收敛(非线性速率)
收敛因子c=1+L22μc = 1 + L^2 - 2\muqk=1+αk(αk2δ)/δ2q_k = 1 + \alpha_k(\alpha_k - 2\delta)/\delta^2无显式因子
证明核心工具非扩张性 + 平方展开非扩张性 + 余强制变分不等式 + 配方 + 五步框架
典型适用场景强凸目标 + 简单约束,且条件数 κ<2\kappa < 2强凸或余强制目标 + 简单约束,条件数无严格限制变分不等式、鞍点问题、博弈均衡、弱单调映射

4.4.2 选择指南#

三种方法的条件逐步放宽:强单调 \Rightarrow 余强制 \Rightarrow 伪单调,代价是收敛速率逐步减弱或每步计算量增加。面对具体问题时,选择哪种方法取决于以下考量:

问题是约束优化还是变分不等式? 如果 FF 是某个目标函数的梯度(即问题是 minxf(x)  s.t.  xΩ\min_x f(x) \;\text{s.t.}\; x \in \Omega),则优先使用 4.1 或 4.2 节的方法。如果 FF 不是梯度场(如博弈、鞍点问题),或者不确定 FF 是否具有势函数结构,则使用外梯度法。

映射的单调性类型已知吗? 如果已知 f\nabla f 强单调且条件数 κ<2\kappa < 2,基本投影梯度法最简单直接。如果目标函数强凸但条件数可能较大(κ2\kappa \geq 2,这在实际中很常见),应使用变步长版本。如果映射仅满足伪单调性,则必须使用外梯度法。

投影的计算代价如何? 外梯度法每步需要两次投影。当投影本身计算量很大(如投影到复杂凸集上需要求解子问题)时,计算代价可能不可忽视。此时可以考虑只使用一次投影的变体算法(如 Popov 的修正外梯度法),但这些变体超出本章范围。

下表给出了常见问题类型与推荐方法的对应关系:

问题类型典型实例推荐方法
强凸目标 + 条件数 <2< 2 + 简单约束正定二次规划(AA 特征值接近)基本投影梯度法 (4.1)
强凸目标 + 条件数 2\geq 2 + 简单约束线性回归、Lasso(非负约束)变步长投影梯度法 (4.2)
余强制映射 + 简单约束凸优化中 LL-光滑函数的梯度变步长投影梯度法 (4.2)
单调/伪单调映射 + Lipschitz鞍点问题、Nash 均衡、GAN 训练外梯度投影法 (4.3)

总结。 对于条件良好(强凸、条件数小、投影廉价)的约束优化问题,简单的投影梯度法即可。随着问题条件的退化——条件数增大、单调性减弱、问题结构从优化转向博弈——需要逐步采用更强大的算法工具,而代价是每步计算量的增加。

第四章:投影梯度法
https://www.xwysyy.cn/posts/optimization/ch4/
作者
xwysyy
发布于
2026-06-01
许可协议
CC BY-NC-SA 4.0
© 2026 xwysyy. All Rights Reserved.
Powered by Astro & Firefly

文章目录