优化算法
凸优化 Convex Optimization
凸性
定义(凸集和凸函数)
集合的凸性:一个集合 \(X\) 是凸的定义为 \(\forall x, y \in X, \forall \lambda \in [0, 1]: (1 - \lambda)x + \lambda y \in X\)。
函数的凸性:一个函数 \(f: X \rightarrow \mathbb{R}\) 是凸的定义为 \(\forall x, y \in X, \forall \lambda \in [0, 1]: f((1 - \lambda)x + \lambda y) \le (1 - \lambda)f(x) + \lambda f(y)\)。
例
- 单点集是平凡凸集。
- 实数空间 \(\mathbb{R}^d\) 是凸集。
-- - 线性函数: \(f(x) = c^T x\) 是凸函数。
- 二次型: \(f(x) = x^T x\) 是凸函数。
- 非负加权和:设有一系列凸函数 \(f_1, f_2, \cdots , f_m\) 和非负系数 \(\alpha_1, \alpha_2, \cdots, \alpha_m\),则函数 \(f = \sum\limits_{i=1}^{n} \alpha_i f_i\) 是凸函数。
- 仿射变换的复合:设 \(f: \mathbb{R}^n \rightarrow \mathbb{R}\) 是凸函数,有仿射变换 \(A \in \mathbb{R}^{n \times m}, b \in \mathbb{R}^n\),则函数 \(g: \mathbb{R}^m \rightarrow \mathbb{R}\) 定义为 \(g(x) = f(Ax + b)\) 是凸函数。
- 逐点上确界:设有一凸函数族 \(f_{\theta}: X \rightarrow \mathbb{R}\),则函数 \(f: X \rightarrow \mathbb{R}\) 定义为 \(f(x) = \sup\limits_{\theta}f_{\theta}(x)\) 是凸函数。
定理(分离定理):设 \(X, Y \subseteq \mathbb{R}^d\) 是两个非空不相交凸集,则存在非零向量 \(w \in \mathbb{R}^d\) 和常数 \(c \in \mathbb{R}\),使得 \(\forall x \in X: w^T x \ge c \and \forall y \in Y: w^T y \le c\)。
定理(支撑定理):设 \(X \subseteq \mathbb{R}^d\) 是非空凸集,任取 \(x_0 \in \partial X\),则存在非零向量 \(w \in \mathbb{R}^d\),使得 \(\forall x \in X: w^T x \ge w^T x_0\)。
证明:讨论
若 \(\text{int}(X) \ne \emptyset\)。那么 \(\text{int}(X)\) 和 \(\{x_0\}\) 是两个非空不相交凸集,对其应用分离定理,得存在非零向量 \(w \in \mathbb{R}^d\) 和常数 \(c\),使得:\(\forall x \in \text{int}(X): w^\top x \ge c \and w^\top x_0 \le c\)。又由于 \(X \subseteq \overline{\text{int}{(X)}}\),通过凸集和连续性可以将不等式推广到 \(\forall x \in X: w^T x \le c \le w^T x_0\)。
若 \(\text{int}(X) = \emptyset\)。那么 \(X\) 完全包含在某个 \((d-1)\) 维仿射子空间中(因为不存在任何\(d\)维超球包含在\(X\)中),这个 \((d-1)\) 维仿射子空间就是所求超平面 \(\{x| w^T x = c\}\)。 \(\Box\)
定义(次梯度,Subgradient)
令凸集 \(X \subseteq \mathbb{R}^d, f: X \rightarrow \mathbb{R}\),若 \(g \in \mathbb{R}^d\) 满足 \(\exists x \forall y \in X: f(y) - f(x) \le g^T (y - x)\),则称 \(g\) 是 \(f\) 在 \(x\) 处的次梯度。记 \(f\) 在 \(x\) 处的次梯度集为 \(\partial f(x)\)。
命题(次梯度的存在性)
设 \(\mathcal{X} \subseteq \mathbb{R}^d\) 是凸集,\(f: \mathcal{X} \to \mathbb{R}\)。则:
- 次梯度处处存在 \(\Rightarrow\) 凸函数:若 \(\forall x \in \mathcal{X}, \partial f(x) \neq \emptyset\),则 \(f\) 是凸函数。
- 凸函数 \(\Rightarrow\) 内部点有次梯度:若 \(f\) 是凸函数,则 \(\forall x \in \text{int}(\mathcal{X}), \partial f(x) \neq \emptyset\)。
- 可微凸函数的梯度是次梯度:若 \(f\) 是凸函数且在 \(x\) 处可微,则 \(\nabla f(x) \in \partial f(x)\)。
证明:
子命题1:对任意 \(x, y \in \mathcal{X}\),\(\gamma \in (0,1)\),令 \(z = (1-\gamma)x + \gamma y \in \mathcal{X}\)。由假设,存在 \(g \in \partial f(z)\)。
对 \(x\) 用次梯度定义:\(f(x) \ge f(z) + g^\top(x-z) = f(z) + g^\top(x-y)\gamma\),
对 \(y\) 用次梯度定义:\(f(y) \ge f(z) + g^\top(y-z) = f(z) + g^\top(y-x)(1-\gamma)\),
第一式乘 \((1-\gamma)\),第二式乘 \(\gamma\),相加得:\((1-\gamma)f(x) + \gamma f(y) \ge f(z) + g^\top(x-y)\gamma(1-\gamma) + g^\top(y-x)\gamma(1-\gamma) = f(z) = f((1-\gamma)x + \gamma y)\),
故 \(f\) 是凸函数。\(\Box\)子命题2:易证 \(f\) 凸 \(\iff\) \(\text{epi}(f) = \{(y,t) : t \ge f(y)\}\) 凸。
任取点 \((x, f(x))\) 位于 \(\text{epi}(f)\) 的边界上,对 \(\text{epi}(f)\) 使用支撑定理,得到存在非零向量 \((a,b) \in \mathbb{R}^d \times \mathbb{R}\),使得对所有 \((y,t) \in \text{epi}(f)\):\[a^\top y + bt \ge a^\top x + b f(x) \tag{1} \]接下来证明 \(b > 0\):
显然不能 \(b < 0\),否则由于 \(t\) 可以任意大,式 \((1)\) 不可能存在下界。
再证明 \(b \ne 0\),因为 \(x \in \text{int}(\mathcal{X})\),对足够小的 \(\varepsilon > 0\),取 \(y = x - \varepsilon a \in \mathcal{X}\)。令 \(t = f(y)\),则 \((y, t) \in \text{epi}(f)\),代入 \((1)\):\[a^\top(x-\varepsilon a) + b f(y) \ge a^\top x + b f(x) \]\[\Rightarrow \quad b(f(y)-f(x)) \ge \varepsilon \|a\|^2 \tag{2} \]若 \(b = 0\),则由 \((2)\) 推出 \(\|a\|^2 = 0\),即 \(a = 0\),与 \((a,b) \neq 0\) 矛盾。故 \(b \neq 0\)。
最后构造次梯度:由 \((2)\) 和 \(b > 0\) 推出:\(f(y) \ge f(x) + \frac{\varepsilon \|a\|^2}{b} + \frac{1}{b}a^\top(x-y) \ge f(x) + \frac{1}{b}a^\top(x-y)\),即 \(f(y) \ge f(x) + \left(-\frac{a}{b}\right)^\top (y-x)\)。
通过凸性可以推广到所有 \(y \in \mathcal{X}\)。因此:\[-\frac{a}{b} \in \partial f(x) \]故次梯度存在。\(\Box\)
子命题3:对任意 \(y \in \mathcal{X}\),\(\gamma \in (0,1)\),由凸性得 \((1-\gamma)f(x) + \gamma f(y) \ge f((1-\gamma)x + \gamma y)\)
整理得 \(f(y) \ge f(x) + \frac{f(x + \gamma (y - x)) - f(x)}{\gamma}\)。令 \(\gamma \rightarrow 0^{+}\),右边第二项正是 \(f\) 在 \(x\) 处沿方向 \((y-x)\) 的方向导数。由于 \(f\) 在 \(x\) 处可微,\(f(y) \ge f(x) + \nabla f(x)^\top (y-x)\)。
故 \(\nabla f(x) \in \partial f(x)\)。\(\Box\)
凸优化
凸优化问题的目标是求解
其中 \(X\) 是凸集,\(f\) 是凸函数。
凸性保证局部最小值就是全局最小值。
黑箱模型
定义(Lipschitz 连续):函数 \(f: \mathbb{R}^d \to \mathbb{R}\) 称为 L-Lipschitz 的,如果对于所有 \(x, y \in \mathbb{R}^d\),有
黑箱模型中有两个参与者:学习者(Learner) 和 预言机(Oracle)。
学习者拥有无限的计算能力;知道 \(f\) 所属的函数类;知道定义域 \(\mathcal{X}\)。预言机拥有关于函数 \(f\) 的具体知识。学习者的目标是找到一个 \(\varepsilon\)-近似最优解,为此,学习者向预言机查询关于 \(f\) 在其感兴趣的点 \(x \in \mathcal{X}\) 处的信息。
我们关心的是学习者所遵循的算法经过多少次对预言机的查询才足以找到凸函数的 \(\varepsilon\)-近似最优解,这个次数被称为 预言机复杂度(Oracle Complexity)。
黑箱模型包含不同类型的预言机。如果预言机对于给定的点 \(x \in \mathcal{X}\) 能够提供 \(f\) 的直到 \(n\) 阶的每一个偏导数的值,我们就称它为 \(n\) 阶预言机。
比如,0阶预言机 仅回答函数值 \(f(x)\) 的查询,而 1阶预言机 额外提供关于 \(f\) 的次梯度的信息。
椭球法 Ellipsoid Method
椭球法是”\(\mathbb{R}^{d}\) 中二分搜索”。
在二分搜索中,给定一个包含最优解的线段。然后将该线段划分,并选取包含最优解的那一半。线段长度减半。
在椭球法中,给定一个包含最优解的椭球。用过中心的超平面将椭球划分,并选取包含最优解的那一半。椭球的体积按一个常数减小。为了递归运行椭球法,需要将"半椭球"转换为一个外接椭球,使其体积小于原椭球。为此,需要以下几何引理。
引理: 当 \(d\geq2\) 时,给定椭球 \(\mathcal{E}_{0}=\{x\in\mathbb{R}^{d}\mid(x-c_{0})^{\top}H_{0}^{-1}(x-c_{0})\leq1\}\),其中 \(H_{0}\) 为对称正定矩阵。\(\forall w\in\mathbb{R}^{d}\),存在椭球 \(\mathcal{E}\) 使得
其中:
此外,
现在描述椭球法的流程:
可以证明:当 \(T \ge 2d^2\log{\frac{R}{r}}\) 时,椭球法满足 \(\{c_0, c_1, \cdots, c_T\} \cap X \ne \emptyset\),且
即,椭球法获得 \(\varepsilon\)-最优解的迭代复杂度为
梯度下降法 Gradient Descent
最基础的梯度下降法用于求解 \(\mathbb{R}^d\) 上最小化可微函数 \(f\) 的策略。对于一个学习率参数序列 \(\{\eta_s\}\),从初始值 \(x_1\) 开始,其迭代公式为:
梯度下降法的oracle复杂度与维度无关。
投影梯度下降
定义(投影算子):设凸约束集 \(X \subset \mathbb{R}^d\),定义投影算子 \(\Pi_X\) 为:
引理:令 \(x \in \mathcal{X}\),\(y \in \mathbb{R}^d\),则
记 \(z = \Pi_{\mathcal{X}}(y)\),这个引理说明 \(x, y, z\) 构成一个钝角三角形,其中 \(x - y\) 构成斜边。于是有以下简单推论:
推论: 令 \(x \in \mathcal{X}\),\(y \in \mathbb{R}^d\),则
假设 \(X\) 包含在以 \(x_1\) 为中心,半径为 \(R\) 的超球中。\(f\) 在这个球中是凸的。
投影梯度下降法对基本梯度下降做出修改:首先用次梯度替换梯度,然而这可能导致叠加梯度步后走出超球,于是再利用投影将迭代点位于 \(X\) 中。
投影梯度下降法的迭代方程为:
接下来讨论 \(f\) 满足不同特性时,投影梯度下降法的复杂度。
Lipschitz 函数的投影梯度下降
定理(Lipschitz连续与次梯度有界的关系):若对所有 \(x \in \mathcal{X}\) 和所有次梯度 \(g \in \partial f(x)\) 有 \(\|g\| \leq L\),则 \(f\) 是 \(L\)-Lipschitz 的;反之,若 \(f\) 是 \(L\)-Lipschitz 的,则对所有 \(x \in \text{int}(\mathcal{X})\) 和所有 \(g \in \partial f(x)\),有 \(\|g\| \leq L\)。
证明. 对于第一个方向,令 \(g_x\) 为点 \(x\) 处的次梯度。那么根据 \(g_y\) 的定义和柯西-施瓦茨不等式,对所有 \(x, y \in \mathcal{X}\) 有\(f(y) - f(x) \leq \langle g_y, y-x \rangle \leq \|g_y\|\|x-y\| \leq L\|x-y\|\)。
同理 \(f(x) - f(y) \leq L\|x-y\|\),因此 \(|f(x)-f(y)| \leq L\|x-y\|\)。
对于反向,令 \(x \in \text{int}(\mathcal{X})\)。令 \(v\) 为任意向量,\(\lambda\) 足够小使得 \(x+\lambda v \in \mathcal{X}\)(因为 \(x\) 在内部,这是可行的)。令 \(g_x\) 为 \(x\) 处的次梯度,则\(\langle g_x, \lambda v \rangle \leq f(x+\lambda v) - f(x) \leq L\lambda\|v\|\)
因此对所有 \(v\) 有 \(\langle g_x, v \rangle \leq L\|v\|\)。取 \(v = g_x\) 即得 \(\langle g_x, g_x \rangle \leq L\|g_x\| \Rightarrow \|g\| \leq L\)。 \(\Box\)
对于Lipschitz 函数的投影梯度下降算法,有如下收敛结果:
定理: 若 \(f\) 是 \(L\)-Lipschitz 连续且凸的,则对固定的 \(t\) 和 \(\eta_s = \eta = \frac{R}{L\sqrt{t}}\),有
进一步,Lipschitz 函数的投影梯度下降法获得 \(\varepsilon\)-最优解的迭代复杂度为
证明:首先注意\(\begin{aligned} f(x_s) - f(x^*) &\leq g_s^T(x_s - x^*) = \frac{1}{\eta}(x_s - y_{s+1})^T(x_s - x^*) = \frac{1}{2\eta}\left[\|x_s - y_{s+1}\|^2 + \|x_s - x^*\|^2 - \|y_{s+1} - x^*\|^2\right] = \frac{1}{2\eta}\left[\|x_s - x^*\|^2 - \|y_{s+1} - x^*\|^2\right] + \frac{\eta}{2}\|g_s\|^2 \end{aligned}\)
由推论,有 \(\|y_{s+1} - x^*\| \geq \|x_{s+1} - x^*\|\),且 \(\|g_s\| \leq L\),所以\(f(x_s) - f(x^*) \leq \frac{1}{2\eta}\left[\|x_s - x^*\|^2 - \|x_{s+1} - x^*\|^2\right] + \frac{\eta L^2}{2}\)
对 \(s\) 从1到 \(t\) 求和得 \(\begin{aligned} \sum_{s=1}^t f(x_s) - f(x^*) &\leq \frac{1}{2\eta}\left[\|x_1 - x^*\|^2 - \|x_{t+1} - x^*\|^2\right] + \frac{\eta L^2 t}{2} \leq \frac{R^2}{2\eta} + \frac{\eta L^2 t}{2} \end{aligned}\)
取 \(\eta = \frac{R}{L\sqrt{t}}\),代入得 \(\sum_{s=1}^t f(x_s) - f(x^*) \leq RL\sqrt{t}\)
最后,由凸性,将求和移到 \(f\) 内部并除以 \(t\):\(f\left(\frac{1}{t}\sum_{s=1}^t x_s\right) - f(x^*) \leq \frac{RL}{\sqrt{t}}\) \(\Box\)
Lipschitz 强凸函数的梯度下降
定义(强凸性): 若对所有 \(x, y \in \mathcal{X}\) 和所有 \(g_x \in \partial f(x)\),有
则称 \(f\) 是 \(\alpha\)-强凸的。
\(\alpha\)-强凸性还有两个等价定义:
- \(f\) 是 \(\alpha\)-强凸的当且仅当 \(x \mapsto f(x) - \frac{\alpha}{2}\|x\|^2\) 是凸的。
- 若 \(f\) 二阶可微,则 \(f\) 是 \(\alpha\)-强凸的当且仅当对所有 \(x \in \mathcal{X}\),\(\lambda_{\min}(\nabla^2 f(x)) \geq \alpha\)。
对于Lipschitz强凸函数,有以下收敛结果:
定理: 若 \(f\) 是 \(L\)-Lipschitz 且 \(\alpha\)-强凸的,取 \(\eta_s = \frac{2}{\alpha(s+1)}\),则
进一步,Lipschitz 强凸函数的投影梯度下降法获得 \(\varepsilon\)-最优解的迭代复杂度为
可以看到,强凸情形比一般情形对 \(\epsilon\) 的依赖要更好。
光滑函数的梯度下降
定义(光滑):称一个可微函数 \(f\) 是 ℓ-光滑 的,如果
ℓ-光滑函数具有以下重要性质。
引理 1: 若 \(f\) 是 ℓ-光滑的,则 \(\forall x,y\in\mathcal{X}\),
证明:把 \(f(x) - f(y)\) 看成一个积分 \(f(x)-f(y)-\langle\nabla f(x),y-x\rangle \\ = \int_0^1 \nabla f(y+t(x-y))^\top (x-y)\,dt - \langle\nabla f(x),y-x\rangle = \int_0^1 [\nabla f(y+t(x-y))-\nabla f(x)]^\top (x-y)\,dt \le \int_0^1 \ell t\|x-y\|^2\,dt = \frac{\ell}{2}\|x-y\|^2.\)
引理 2(下降引理): 若 \(f\) 是 \(\ell\)-光滑的且 \(\eta\ell\le 1\),则学习率为 \(\eta\) 的梯度下降法满足
证明: 由引理 1,$f(x_{t+1}) \le f(x_t)+\langle\nabla f(x_t),x_{t+1}-x_t\rangle+\frac{\ell}{2}|x_{t+1}-x_t|^2 \le f(x_t)+\langle\nabla f(x_t),x_{t+1}-x_t\rangle+\frac{1}{2\eta}|x_{t+1}-x_t|^2 $
由梯度下降法, \(x_{t+1} - x_{t} = - \eta \nabla f(x_t)\)》
代入得,原式 \(\le f(x_t)-\eta\|\nabla f(x_t)\|^2+\frac{\eta}{2}\|\nabla f(x_t)\|^2 = f(x_t)-\frac{\eta}{2}\|\nabla f(x_t)\|^2.\)
下降引理表明:在 ℓ-光滑设定下,只要学习率不超过 \(1/\ell\),GD 每一步都会严格降低函数值。注意,这一结果即使 \(f\) 是非凸的也成立。
引理 3(收缩引理):若 \(f\) 是凸的且 ℓ-光滑的,且 \(\eta\ell\le 1\),则
证明:由凸性,\(f(x_t)-f(x^*)\le\langle\nabla f(x_t),x_t-x^*\rangle.\)
由下降引理,\(f(x_{t+1})-f(x_t)\le-\frac{\eta}{2}\|\nabla f(x_t)\|^2.\)
因此, \(\|x_{t+1}-x^*\|^2 =\|x_t-\eta\nabla f(x_t)-x^*\|^2\)
\(= \|x_t-x^*\|^2-2\eta\langle\nabla f(x_t),x_t-x^*\rangle+\eta^2\|\nabla f(x_t)\|^2 \le\|x_t-x^*\|^2-2\eta\bigl(f(x_{t})-f(x^*)\bigr) + 2\eta (f(x_t) - f(x_{t+1})) \le\|x_t-x^*\|^2.\)
现在光滑函数梯度下降法的收敛率。
定理: 若 \(f\) 是凸的且 ℓ-光滑的,且 \(\eta\ell=1\),则
进一步,光滑凸函数的投影梯度下降法获得 \(\varepsilon\)-最优解的迭代复杂度为:(令 \(R = \max\limits_{i}\| x_i - x^*\|\))
证明:记 \(\delta_s:=f(x_s)-f(x^*)\)。
由下降引理,\(\delta_{s+1}\le\delta_s-\frac{1}{2\ell}\|\nabla f(x_s)\|^2.\)
由凸性和收缩引理,\(\delta_s\le\langle\nabla f(x_s),x_s-x^*\rangle\le\|x_s-x^*\|\cdot\|\nabla f(x_s)\|\le\|x_1-x^*\|\cdot\|\nabla f(x_s)\|.\)
将两式结合,\(\delta_{s+1}\le\delta_s-\frac{1}{2\ell}\frac{\delta_s^2}{\|x_1-x^*\|^2}.\)
两边除以 \(\delta_s\delta_{s+1}\),得\(\frac{1}{\delta_{s+1}}-\frac{1}{\delta_s}\ge\frac{1}{2\ell\|x_1-x^*\|^2}\cdot\frac{\delta_s}{\delta_{s+1}}\ge\frac{1}{2\ell\|x_1-x^*\|^2}.\)
因此,\(\frac{1}{\delta_t}\ge\frac{t-1}{2\ell\|x_1-x^*\|^2}\quad\Longrightarrow\quad f(x_t)-f(x^*)\le\frac{2\ell\|x_1-x^*\|^2}{t-1}.\)
光滑强凸函数的梯度下降
定理: 若 \(f\) 是 \(\alpha\)-强凸且 ℓ-光滑的,且 \(\eta\ell=1\),记 \(\kappa = \frac{\ell}{\alpha}\) 则
进一步,光滑强凸函数的梯度下降法获得 \(\varepsilon\)-最优解的迭代复杂度为:
总结:对于梯度下降法,结论如下
GD 收敛率
| L-Lipschitz | l-光滑 | |
|---|---|---|
| 凸 | \(\frac{RL}{\sqrt{t}}\) | \(\frac{\ell R^2}{t}\) |
| α-强凸 | \(\frac{L^2}{\alpha t}\) | \(R^2 \exp(-t/\kappa)\) |
GD 迭代复杂度
| L-Lipschitz | l-光滑 | |
|---|---|---|
| 凸 | \(\frac{R^2 L^2}{\varepsilon^2}\) | \(\frac{\ell R^2}{\varepsilon}\) |
| α-强凸 | \(\frac{L^2}{\alpha \varepsilon}\) | \(\kappa \log\left(\frac{R^2}{\varepsilon}\right)\) |
Nesterov 加速梯度下降
将 Lipschitz、强凸性和光滑性系数分别记为 \(L\)、\(\alpha\) 和 \(\ell\)。还记 \(\kappa = \ell/\alpha\)。
Nesterov 加速梯度下降: 下一步迭代 \(\mathbf{x}_{t+1}\) 由下式给出
其中,\(\gamma\) 称为动量参数,取值范围 \([0,1]\)。该算法需要两个初始点 \(\mathbf{x}_0, \mathbf{x}_1\),一般假设 \(\mathbf{x}_0 = \mathbf{x}_1\)。
定理: 若函数 \(f\) 是 \(\ell\)-光滑且 \(\alpha\)-强凸的,则以参数 \(\eta = \frac{1}{\ell}\) 和 \(\gamma = 1 - \frac{1}{\sqrt{\kappa}}\) 以及初始迭代 \(\mathbf{x}_1 = \mathbf{x}_0\) 运行 Nesterov AGD 来优化 \(f\),有:
进一步,光滑强凸函数的 Nesterov 加速梯度下降获得 \(\varepsilon\)-最优解的迭代复杂度为:
随机梯度下降 Stochastic Gradient Descent
在随机梯度下降法中,我们假设存在一个针对函数 \(f\) 的梯度 oracle \(\mathcal{O}\),使得对于任意点 \(x\in\mathcal{X}\),它能返回一个随机向量 \(\tilde{g}(x)\),其期望满足 \(\mathbb{E}[\tilde{g}(x)]\in\partial f(x)\)。并假设 \(\tilde{g}(x)\) 的方差对所有 \(x\) 都是一致有界的:\(\mathrm{Var}(\tilde{g}(x)):=\mathbb{E}[\|\tilde{g}(x)-\mathbb{E}\tilde{g}(x)\|^{2}]\leq\sigma^{2}\),对所有 \(x\in\mathcal{X}\) 成立。
投影随机梯度下降法的迭代方程为:
类似地,SGD在不同设定下的收敛率和复杂度如下:
SGD 收敛率
| L-Lipschitz | \(\ell\)-光滑 | |
|---|---|---|
| 凸 | \(\displaystyle\frac{RL}{\sqrt{t}}+\frac{R\sigma}{\sqrt{t}}\) | \(\displaystyle\frac{R^{2}\ell}{t}+R\sigma\sqrt{\frac{2}{t}}\) |
| \(\alpha\)-强凸 | \(\displaystyle\frac{L^{2}}{\alpha t}+\frac{\sigma^{2}}{\alpha t}\) | \(\displaystyle\ell R^{2}\exp(-t/\kappa)+\frac{\sigma^{2}}{\alpha t}\) |
SGD 迭代复杂度
| L-Lipschitz | \(\ell\)-光滑 | |
|---|---|---|
| 凸 | \(\displaystyle\frac{R^{2}L^{2}}{\varepsilon^{2}}+\frac{R^{2}\sigma^{2}}{\varepsilon^{2}}\) | \(\displaystyle\frac{R^{2}\ell}{\varepsilon}+\frac{R^{2}\sigma^{2}}{\varepsilon^{2}}\) |
| \(\alpha\)-强凸 | \(\displaystyle\frac{L^{2}}{\alpha\varepsilon}+\frac{\sigma^{2}}{\alpha\varepsilon}\) | \(\displaystyle\kappa\log\!\left(\frac{R^{2}}{\varepsilon}\right)+\frac{\sigma^{2}}{\alpha\varepsilon}\) |
注:当 \(\sigma=0\) 时,可以恢复出前几讲中 GD 的相同结果。
小批量随机梯度下降
在实践中,人们经常使用 SGD 的一种变体——小批量 SGD。在每次迭代中,小批量 SGD 会在同一点向随机梯度 oracle 查询 \(m\) 次。然后将这 \(m\) 个输出取平均,作为当前迭代点处次梯度的估计。通过这样做,方差降低了 \(m\) 倍:\(\mathrm{Var}\!\left(\frac{1}{m}\sum_{i=1}^{m}\tilde{g}_{i}(x)\right)=\frac{1}{m^{2}}\sum_{i=1}^{m}\mathrm{Var}(\tilde{g}_{i}(x))\leq\frac{\sigma^{2}}{m}\),而代价是每轮迭代的 oracle 复杂度增加了 \(m\) 倍。
小批量随机梯度下降法的迭代方程为:
Mini-batch SGD 迭代复杂度
| L-Lipschitz | \(\ell\)-光滑 | |
|---|---|---|
| 凸 | \(\displaystyle\frac{mR^{2}L^{2}}{\varepsilon^{2}}+\frac{R^{2}\sigma^{2}}{m\varepsilon^{2}}\) | \(\displaystyle\frac{mR^{2}\ell}{\varepsilon}+\frac{R^{2}\sigma^{2}}{m\varepsilon^{2}}\) |
| \(\alpha\)-强凸 | \(\displaystyle\frac{mL^{2}}{\alpha\varepsilon}+\frac{\sigma^{2}}{m\alpha\varepsilon}\) | \(\displaystyle m\kappa\log\!\left(\frac{R^{2}}{\varepsilon}\right)+\frac{\sigma^{2}}{m\alpha\varepsilon}\) |
关于小批量 SGD,我们有以下三点观察:
- 小批量的 oracle 复杂度总是大于 SGD。
- 对于 Lipschitz 凸设定,如果我们选择 \(m\) 小于 \(\sigma^{2}/L^{2}\),则小批量 SGD 的 oracle 复杂度不超过 SGD 的 oracle 复杂度乘以一个常数。若选择 \(m\leq\sigma^{2}/(\ell\varepsilon)\),类似观察对光滑凸设定也成立。
- 尽管小批量的 oracle 复杂度总是更差,但由于每轮迭代可以并行查询 oracle,它仍可能比 SGD 更快。
随机方差缩减梯度法 Stochastic Variance Reduced Gradient
SVRG算法的目标是最小化函数:
定理: 假设对所有 \(i\),\(f_i\) 是 \(\ell\)-光滑的,且 \(F = \frac{1}{n}\sum_{i=1}^{n} f_i\) 是 \(\alpha\)-强凸的。那么,若我们以 \(\eta = \frac{1}{10\ell}\) 和 \(m = 50\kappa\)(其中 \(\kappa = \ell/\alpha\))运行 SVRG 算法,则有:
为了达到 \(\mathbb{E}[F(x_t) - F(x^*)] \leq \varepsilon\),SVRG 算法需要 \(\log\frac{\varepsilon_0}{\varepsilon}\) 次外层循环,其中 \(\varepsilon_0 = F(x_0) - F(x^*)\)。每次外层循环中,我们计算 \(\mathcal{O}(n + \kappa)\) 个随机梯度。因此,总复杂度为
非凸优化 Nonconvex Optimization
非凸函数可能有多个局部最小值,寻找其全局最小值是困难的。在最坏情况下,找到非凸函数的全局最小值需要维数的指数级的查询复杂度,即使该函数是Lipschitz连续或光滑的。
定义(驻点):对于可微函数 \(f\),\(x\) 是其驻点当且仅当 \(\| \nabla f(x) \| = 0\) 。
定义(局部最值、鞍点):对于可微函数 \(f\),其驻点有三种可能:
- 局部最小值,如果 \(\exists \delta > 0, \forall y\) 满足 \(\|y-x\| \leq \delta, f(y) \geq f(x)\);
- 局部最大值,如果 \(\exists \delta > 0, \forall y\) 满足 \(\|y-x\| \leq \delta, f(y) \leq f(x)\);
- 鞍点,其余情况。
幂方法 Power Method
问题: 给定半正定对称矩阵 \(A \in \mathbb{R}^{d \times d}\),记 \(A\) 的特征值为 \(\lambda_1 \geq \lambda_2 \geq \cdots \geq \lambda_d\),对应的特征向量为 \(v_1, v_2, \cdots, v_d\)。满足对任意 \(i\),\(Av_i = \lambda_i v_i\) 且 \(\|v_i\| = 1\)。找到对应于 \(\lambda_1\) 的特征向量 \(v_1\)。
下面给出幂方法的算法流程:
注意到,迭代形式的每一步是先乘然后归一化,展开得:
第1步:\(w_1 = \frac{A w_0}{\|A w_0\|}\)
第2步:\(\tilde{w}_2 = A w_1 = A \cdot \frac{A w_0}{\|A w_0\|} = \frac{A^2 w_0}{\|A w_0\|}\);归一化时,分母中的 \(\|A w_0\|\) 是标量,会被约掉:\(w_2 = \frac{\tilde{w}_2}{\|\tilde{w}_2\|} = \frac{A^2 w_0 / \|A w_0\|}{\|A^2 w_0\| / \|A w_0\|} = \frac{A^2 w_0}{\|A^2 w_0\|}\)
归纳假设:假设第 \(s\) 步有 \(w_s = \frac{A^s w_0}{\|A^s w_0\|}\)。
第 \(s+1\) 步:\(\tilde{w}_{s+1} = A w_s = \frac{A^{s+1} w_0}{\|A^s w_0\|}\)
再次归一化:\(w_{s+1} = \frac{\tilde{w}_{s+1}}{\|\tilde{w}_{s+1}\|} = \frac{A^{s+1} w_0}{\|A^{s+1} w_0\|}\)
因此,经过 \(t\) 步迭代后:
所以可以直接计算\(w_t\),得到幂方法的等价形式:
两种等价形式前者利好计算,后者利好分析。
下面给出幂方法的收敛分析。
基于 \(\lambda_1\) 和 \(\lambda_2\) 之间间隙,有结果:
定理:对于任意具有前两大特征值 \(\lambda_1\) 和 \(\lambda_2\) 且满足 \(\lambda_1 > \lambda_2\) 的半正定矩阵 \(A\),幂方法的迭代满足
这个结果依赖于前两大特征值之间的间隙。如果 \(\lambda_1\) 和 \(\lambda_2\) 太接近,保证就会变差。在 \(\lambda_1 = \lambda_2\) 的情况下,幂方法可能输出 \(v_1\) 和 \(v_2\) 的任意线性组合。为了得到 \(\langle v_1, w_0 \rangle\) 的好界,我们需要一个好的初始化 \(w_0\),即一个不太正交于 \(v_1\) 的 \(w_0\)。
基于Rayleigh商,有结果:
定理:对于任意具有最大特征值 \(\lambda_1\) 的半正定矩阵 \(A\),对于任意 \(t \geq \Omega\left(\frac{1}{\epsilon} \log \frac{1}{\epsilon \langle v_1, w_0 \rangle^2}\right).\) 幂方法的迭代满足
注意到对称矩阵 \(A\) 的最大特征向量问题可以写成如下优化问题:
(注:为保证约束集是凸的,问题涵盖了内部。但实际上 \(\|w\|^2 < 1\) 的时候一定是不优由于同方向 \(\|w\|^2 = 1\) 的时候)
目标和约束都是凸的,但优化问题不是凸的。因此,特征向量问题是一个简单的非凸问题,我们可以研究它以获得对一般非凸优化理论的洞察。
Lanczos 算法
同样的,Lanczos算法也用于解决最大特征向量问题:对于半正定对称矩阵 \(A\),求
其收敛速度比幂方法更快。
定义(Krylov 子空间):对于矩阵 \(A \in \mathbb{R}^{d\times d}\)、向量 \(b \in \mathbb{R}^d\) 和整数 \(t\),第 \(t\) 阶 Krylov 子空间定义为
注意到,当 \(A\) 是满秩实对称矩阵,且 \(b\) 是 \(d\) 维球面上的均匀随机向量时,Krylov子空间的这些向量以 \(1\) 的概率线性无关(基向量)。
定义(三对角矩阵):三对角矩阵是指只有主对角线、上一条对角线、下一条对角线可能有非零元素,其余位置全为 0 的矩阵。一般地,矩阵 \(T\) 是三对角矩阵即 \(\forall i,j, |i - j| > 1: T_{ij} = 0\)。
引理:设 \(Q_t = [q_1, \dots, q_t]\) 是 Krylov 子空间 \(K(A,b,t)\) 的一组标准正交基,则矩阵 \(T = Q_t^\top A Q_t\) 是三对角矩阵。
证明:首先注意 \(T\) 是对称的,因此只需证 \(T_{ij}=0\ \forall i > j+1\)。
而 \(T_{ij} = q_i^T A q_j\)。注意 \(q_j \in K(A,b,j)\),因此 \(Aq_j \in K(A,b,j+1)\)。
又:\(q_i \perp \text{span}\{q_1, \ldots, q_{i-1}\} = K(A,b,i-1)\)
由于 \(i - 1 \ge j + 1\),故有:\(K(A,b,j+1) \subset K(A,b,i-1)\)
因此 \(q_i \perp Aq_j\),即 \(T_{ij}=0 \quad \Box\)
Lanczos算法维护维护两组核心对象:
- 标准正交基 \(Q_t = [q_1, \dots, q_t] \in \mathbb{R}^{d \times t}\):它张成了 Krylov 子空间 \(K(A,b,t)\)。
- 三对角矩阵 \(T \in \mathbb{R}^{t \times t}\):记录 \(A\) 在这个子空间上的投影,即 \(T = Q_t^\top A Q_t\)。
每一轮迭代,先利用 Gram-Schmidt 正交化计算出 \(q_{t+1}\)(由引理保证了 \(q_i^\top A q_t = 0\) 对所有 \(i < t-1\) 自动成立,所以新向量 \(A q_t\) 只需减去最近两个基向量 \(q_t\) 和 \(q_{t-1}\) 方向上的分量,然后归一化),接着利用 \(q_{t+1}\) 更新 \(T\)(右下角新添3个元素)。
最终迭代结束后 \(T\) 的最大特征值 \(\mu_1\) 作为 \(\lambda_1\) 的近似,\(Q_m u_1\) 作为 \(v_1\) 的近似。
以下给出 \((\mu_1, Q_m u_1)\) 作为 \((\lambda_1, v_1)\) 估计的合理性:
注意到,由 \(T = Q_t^\top A Q_t\) 和 \(Q_t^\top Q_t = I\),有:
也就是说:\(\mu_1^{(t)} = \max_{w \in K(A,b,t)} \frac{w^\top A w}{\|w\|^2}\)(在 Krylov 子空间上最大化)。而 \(\lambda_1 = \max_{w \in \mathbb{R}^d} \frac{w^\top A w}{\|w\|^2}\)(在整个空间上最大化)。
\(\mu_1\) 是 \(T\) 的最大特征向量,因此:
这说明 \(w = Q_m u_1\) 在 Krylov 子空间中最大化 Rayleigh 商。而真实特征向量 \(v_1\) 是在整个 \(\mathbb{R}^d\) 上最大化 Rayleigh 商的向量。
当Krylov子空间逐渐扩大,子空间内的最优方向就越来越接近全局最优方向。
定理:对于任意半正定矩阵 \(A\),设其前两大特征值为 \(\lambda_1 > \lambda_2\)。对于迭代 \(t\) 次的 Lanczos 算法,其输出 \((\mu_1^{(t)}, u_1^{(t)})\) 满足:
与幂方法相比,Lanczos算法在迭代复杂度上有明显优势:(其中 \(\kappa = \frac{\lambda_1}{\lambda_1 + \lambda_2}\),而 \(\epsilon\) 为相对误差,即真实值与估测值之差比上真实值)
| 场景 | Power Method | Lanczos Algorithm | 加速比 |
|---|---|---|---|
| Gap-dependent | \(\displaystyle \frac{\lambda_1}{\lambda_1-\lambda_2}\log\frac{d}{\epsilon}\) | \(\displaystyle \sqrt{\frac{\lambda_1}{\lambda_1-\lambda_2}}\log\frac{d}{\epsilon}\) | \(\sqrt{\kappa}\) 倍 |
| Gap-free | \(\displaystyle \frac{1}{\epsilon}\log\frac{d}{\epsilon}\) | \(\displaystyle \frac{1}{\sqrt{\epsilon}}\log\frac{d}{\epsilon}\) | \(\frac{1}{\sqrt{\epsilon}}\) 倍 |
光滑非凸优化
寻找一阶驻点
定义(\(\varepsilon\)-驻点):\(x\) 是可微函数 \(f\) 的 \(\varepsilon\)-驻点,如果 \(\|\nabla f(x)\| \leq \varepsilon\)。
定理:假设 \(f\) 是 \(l\)-gradient Lipschitz的,则 \(\forall \varepsilon > 0\),以 \(x_0\) 为初始点采,用学习率 \(\eta = \frac{1}{l}\),迭代次数为
的梯度下降法的迭代点中,至少有一个是 \(f\) 的 \(\varepsilon\)-驻点。
证明:
由平滑函数 \(f\) 性质引理1有:\(f(x_{t+1}) \leq f(x_t) + \langle \nabla f(x_t), x_{t+1} - x_t \rangle + \frac{l}{2}\|x_{t+1} - x_t\|^2.\)
代入 \(x_{t+1} = x_t - \eta \nabla f(x_t)\) 和 \(\eta = 1/l\),有:
\(\begin{aligned} f(x_{t+1}) &\leq f(x_t) - \eta\|\nabla f(x_t)\|^2 + \frac{l\eta^2}{2}\|\nabla f(x_t)\|^2 \\ &= f(x_t) - \frac{1}{2l}\|\nabla f(x_t)\|^2. \end{aligned}\)
那么,如果对于所有 \(t\),\(x_t\) 都不是 \(\varepsilon\)-驻点,这意味着 \(\|\nabla f(x_t)\| > \varepsilon\),于是有 \(f(x_{t+1}) \leq f(x_t) - \frac{\varepsilon^2}{2l}.\)
因此,迭代次数不可能超过 \(\frac{2l(f(x_0) - f^*)}{\varepsilon^2}\)。
寻找二阶驻点
定义(二阶驻点,SOSP): 对于二阶可微函数 \(f\),\(x\) 是二阶驻点,如果 \(\nabla f(x) = 0\) 且 \(\nabla^2 f(x) \succeq \mathbf{0}\)。
定义(\((\varepsilon_g, \varepsilon_H)\)-SOSP):对于二阶可微函数 \(f\),\(x\) 是其 \((\varepsilon_g, \varepsilon_H)\)-SOSP,如果 \(\|\nabla f(x)\| \leq \varepsilon_g\) 且 \(\nabla^2 f(x) \succeq -\varepsilon_H I\) 。
其中 \(\succeq\) 是矩阵的半正定序,定义为:\(A \succeq B \quad \Longleftrightarrow \quad A - B \text{ 是半正定矩阵}\)。
定义(Hessian Lipschitz):二阶可微函数 \(f: \mathbb{R}^d \to \mathbb{R}\) 是 \(\rho\)-Hessian Lipschitz的,如果
其中左边的 \(\|\cdot\|\) 是谱范数。
类似光滑引理1,可以给出 Hessian Lipschitz 的一个等价刻画:
定义(\(\varepsilon\)-SOSP):如果 \(x\) 是 \(\rho\)-Hessian Lipschitz函数 \(f\) 的 \(\varepsilon\)-SOSP,则
现在,我们给出具有寻找 \(\varepsilon\)-SOSP 的 立方正则化(Cubic Regularization) 算法:
定理:\(\forall \varepsilon\),如果 \(f\) 是 \(\rho\)-Hessian Lipschitz的,则立方正则化将在
次迭代内访问至少一个 \(\varepsilon\)-SOSP。
逃离鞍点
对于 \(\rho\)-Hessian Lipschitz 函数 \(f\in\mathcal{C}^{2}(\mathbb{R}^{n})\),点 \(x\in\mathbb{R}^{n}\) 是一个 \(\varepsilon\)-SOSP,如果 \(\|\nabla f(x)\|\leq\varepsilon\) 且 \(\nabla^{2}f(x)\succcurlyeq-\sqrt{\rho\varepsilon}\cdot I\)。
从\(\varepsilon\)-SOSP的定义可以看出,点 \(x\)不是\(\varepsilon\)-SOSP 当且仅当以下之一成立:
- \(\|\nabla f(x)\|>\varepsilon\)(大梯度区域)
- \(\|\nabla f(x)\|\leq\varepsilon\) 且 \(\lambda_{\min}(\nabla^{2}f(x))<-\sqrt{\rho\varepsilon}\)(大负曲率方向)
我们采用以下思路来寻找 \(\varepsilon\)-SOSP:首先保证在每次迭代中,如果迭代点不是 \(\varepsilon\)-SOSP,函数值都会下降。然后讨论,在第一种情况下,我们利用 \(f\) 的 \(l\)-梯度 Lipschitz 性质所继承的下降引理来保证下降。在第二种情况下,我们将寻求沿最大负曲率方向近似移动。
xt+1 = argmin z ∈ {xt + λvt, xt − λvt} f(z) ;
当 \(\|\nabla f(x_t)\| > \varepsilon\) 时,该算法执行普通梯度下降:\(x_{t+1} = x_t - \eta \nabla f(x_t)\),利用 \(l\)-梯度 Lipschitz 的下降引理,保证函数值显著下降。
当 \(\|\nabla f(x_t)\| \leq \varepsilon\)(梯度已经很小),但点还不是 ε-SOSP 时,说明 Hessian 存在显著负特征值 \(\lambda_{\min}(\nabla^2 f(x_t)) < -\sqrt{\rho\varepsilon}\)。此时算法进入幂方法分支:对矩阵 \(I - \eta \nabla^2 f(x_t)\) 运行幂方法,得到近似特征向量 \(v_t\)。然后沿 \(\pm v_t\) 两个方向试探,选择使函数值更小的那个,找到最陡负曲率方向(即 Hessian 最小特征值对应的特征向量),从而逃离鞍点。
(注:幂方法通常用于找最大特征值。因此算法巧妙地构造了一个 PSD 矩阵 \(I - \eta \nabla^2 f(x_t)\)(当 \(\eta \leq 1/l\) 时它是半正定的),其最大特征向量恰好对应原 Hessian 的最小特征向量。这样就把“找最负曲率”转化为了标准的幂方法问题。)
定理: 假设 \(f\) 是 \(l\)-梯度 Lipschitz 且 \(\rho\)-Hessian Lipschitz 的。对任意 \(\varepsilon,\delta>0\),如果我们选择 \(\eta=1/l\),\(\mathcal{T}=\tilde{\Theta}(l/\sqrt{\rho\varepsilon})\),且 \(\lambda=\sqrt{\varepsilon/\rho}\),则以至少 \(1-\delta\) 的概率,在不超过
个梯度点内,至少有一个迭代点 \(x_t\) 将是 \(\varepsilon\)-SOSP。(注:\(\tilde{O}\) 记号忽略了 \(\operatorname{polylog}(d)\),因为 \(\frac{1}{\varepsilon^2}\) 是主导项。)
虽然 GD+幂方法是令人满意的,但它有一些不理想的性质。比如,在训练期间在两种算法之间切换并不简洁,且可能引入噪声。
因此人们设计出 扰动梯度下降(Perturbed Gradient Descent, PSD) 算法。扰动梯度下降在某些梯度迭代中加入噪声以逃离普通梯度下降无法逃离的鞍点。
定理:\(\forall \delta \in (0,1)\),如果我们选择\(\eta = \frac{1}{l}, \quad r = \tilde{\Theta}\left(\frac{\varepsilon}{\delta}\right), \quad \mathcal{T} = \tilde{\Theta}\left(\frac{l}{\sqrt{\rho\varepsilon}}\log\frac{d}{\delta}\right),\) 则以至少 \(1-\delta\) 的概率,PGD 在
个梯度点内,至少有一个迭代点 \(x_t\) 将是 \(\varepsilon\)-SOSP。
高阶稳定点
定义(\(p\) 阶稳定点): \(x\) 是 \(f\) 的 \(p\) 阶稳定点,如果存在 \(\rho\),对于所有满足 \(\|y-x\|\leq \delta\) 的 \(y\),有
注意到,\(1\) 阶稳定点就是FOSP,\(2\) 阶稳定点就是SOSP。
当前的结果是,我们能够在多项式复杂度内找到 \(3\) 阶稳定点,而判断一个点是否是 \(4\) 阶稳定点是NP-hard的。
Moreau 包络
定义(弱凸性):如果 \(f(\cdot)+\frac{l}{2}\|\cdot\|^{2}\) 是凸的,我们称函数 \(f\) 为 \(l\)-弱凸 的。
和强凸性类似,弱凸性也有其等价定义
命题(弱凸的等价定义):以下命题等价
- \(f\) 是 \(l\)-弱凸的。
- \(\forall x,y,\forall\lambda\in[0,1]\),\[f(\lambda x+(1-\lambda)y)\leq\lambda f(x)+(1-\lambda)f(y)+\frac{l\lambda(1-\lambda)}{2}\|x-y\|^{2}. \]
- 如果 \(f\) 是二次可微的,则 \(\forall x\),\[\nabla^{2}f(x)\succeq-lI. \]
通过定义可知,弱凸函数允许有尖锐下角,但不允许有尖锐上角。
通过弱凸性,我们可以扩展次梯度的定义。
定义(弱凸函数的次梯度):对于 \(l\)-弱凸函数 \(f\),如果
我们称 \(v\) 为 \(f\) 在 \(x\) 处的次梯度。
等价定义:\(v\) 是 \(f\) 在 \(x\) 处的 \(l\)-弱凸次梯度,当且仅当对任意 \(y\) 满足:
显然,凸函数(即\(0\)-弱凸的)的次梯度自动满足该定义。次梯度下降法 \(x_{t+1}\leftarrow x_{t}-\eta g_{t},\quad g_{t}\in\partial f(x_{t}).\) 按照扩展后的定义对弱凸函数也是成立的。
定义(Moreau 包络):如果
我们称 \(\varphi_{\lambda}\) 为函数 \(f\) 的 Moreau包络,其中 \(\lambda\) 为参数。
令 \(\widehat{x}=\arg\min_{z}\left(f(z)+\frac{1}{2\lambda}\|z-x\|^{2}\right)\) 为极小值点。可将 Moreau 包络的公式化为
注意如果 \(f\) 是 \(l\)-弱凸的,\(0<\lambda<\frac{1}{l}\),那么 \(f(x)+\frac{1}{2\lambda}\|z-x\|^{2}\) 在 \(z\) 上是强凸的。那么 \(\widehat{x}\) 是唯一的极小值点(\(\hat{x}\)关于\(x\))。此时,Moreau包络 \(\varphi_{\lambda}\) 有以下性质:(第1条无需弱凸性,第2和第3条需要)
- \(\varphi_{\lambda}(x)\) 是 \(f(x)\) 的下界:\(\varphi_{\lambda}(x)\leq f(x),\forall x\)。
- \(\varphi_{\lambda}(x)\) 是光滑的。
- \(\varphi_{\lambda}(x)\) 与 \(f(x)\) 有相同的驻点。
引理: 对于 \(l\)-弱凸函数 \(f\),\(\forall 0<\lambda<\frac{1}{l}\),其Moreau包络 \(\varphi_{\lambda}\) 是光滑的,梯度为
推论:
- \(\|x-\widehat{x}\|=\lambda\|\nabla\varphi_{\lambda}(x)\|\)。
- \(f(\widehat{x}) \leq \varphi_{\lambda}(x) \leq f(x)\)。
- \(\mathrm{dist}(0,\partial f(\widehat{x}))\leq\|\nabla\varphi_{\lambda}(x)\|\)。
推论说明,\(\|\nabla\varphi_\lambda(x)\|\le\epsilon \Longrightarrow \begin{cases} \|x-\widehat{x}\|\le\lambda\epsilon & (x\text{ 接近 }\widehat{x}) \\ f(\widehat{x})\le f(x) & (\widehat{x}\text{ 不更差}) \\ \mathrm{dist}(0,\partial f(\widehat{x}))\le\epsilon & (\widehat{x}\text{ 近似稳定}) \end{cases}\) .
定义(弱凸函数的驻点): 对于 \(l\)-弱凸函数 \(f\),如果
我们称 \(x\) 为 \(f\) 的 \(\epsilon\)-驻点。
由先前推论,这等价于存在 \(\widehat{x}\) 使得 \(\|x-\widehat{x}\|\leq\frac{\epsilon}{2l}.\)
定理: 假设函数 \(f\) 是 \(L\)-Lipschitz和 \(l\)-弱凸的,选择正数 \(\epsilon\) 和 \(\gamma\),其中 \(\eta=\frac{\gamma}{\sqrt{T}}\),进行次梯度下降法。那么至少有一个迭代点将是 \(\epsilon\)-驻点,迭代次数为
其中 \(\Delta=\varphi_{1/(2l)}(x_{1})-\min_{x}\varphi_{1/(2l)}(x)\)。
当我们选择 \(\gamma=\frac{1}{L}\sqrt{\frac{\Delta}{l}}\) 时,迭代复杂度变为 \(\mathcal{O}\left(\frac{lL^{2}\Delta}{\epsilon^{4}}\right)\)。(注:最优 \(\gamma\) 依赖于 \(\Delta\),但后者一般未知,所以复杂度分析时先保留 \(\gamma\)。最后代入最优 \(\gamma\) 发现复杂度是 \(\varepsilon^4\) 的,非常慢)
极大极小优化 Minimax Optimization
梯度下降上升法 Gradient Descent Ascent
定理(Minimax 定理):
定义(凸–凹函数): 函数 \(f:\mathcal{X}\times\mathcal{Y}\to\mathbb{R}\) 称为凸–凹(convex-concave)的,如果
- 对任意固定的 \(y\in\mathcal{Y}\),\(f(\cdot,y)\) 是凸函数;
- 对任意固定的 \(x\in\mathcal{X}\),\(f(x,\cdot)\) 是凹函数。
定理(Von Neumann 定理) 若 \(\mathcal{X}\subseteq\mathbb{R}^{d_{1}}\)、\(\mathcal{Y}\subseteq\mathbb{R}^{d_{2}}\) 均为紧致凸集(有界闭凸集),且 \(f:\mathcal{X}\times\mathcal{Y}\to\mathbb{R}\) 是凸–凹函数,则Minimax定理取等:
定义(\(\mu\)-强凸–强凹函数): 函数 \(f:\mathcal{X}\times\mathcal{Y}\to\mathbb{R}\) 称为 \(\mu\)-强凸–强凹 的,如果
- 对任意固定的 \(y\in\mathcal{Y}\),\(f(\cdot,y)\) 是 \(\mu\)-强凸函数;
- 对任意固定的 \(x\in\mathcal{X}\),\(f(x,\cdot)\) 是 \(\mu\)-强凹函数。
定理: 若 \(\mathcal{X}\subseteq\mathbb{R}^{d_{1}}\)、\(\mathcal{Y}\subseteq\mathbb{R}^{d_{2}}\) 均为凸集,且 \(f:\mathcal{X}\times\mathcal{Y}\to\mathbb{R}\) 是 \(\mu\)-强凸–强凹函数,则
证明:设 \((x^{*},y^{*})\) 为 minimax 点,即\(x^{*}=\operatorname*{arg\,min}\limits_{x\in\mathcal{X}}\max\limits_{y\in\mathcal{Y}}f(x,y),\qquad y^{*}=\operatorname*{arg\,max}\limits_{y\in\mathcal{Y}}f(x^{*},y).\)
由于 \(f(x,y)\) 对任意固定的 \(y\) 关于 \(x\) 强凸,故 \(\max\limits_{y\in\mathcal{Y}}f(x,y)\) 关于 \(x\) 也是强凸的。因此 \(x^{*}\) 存在且唯一。同理可知 \(y^{*}\) 也存在且唯一。这意味着 \(\mathbf{0}\in\partial_{x}f(x^{*},y^{*}),\qquad \mathbf{0}\in\partial_{y}\bigl(-f(x^{*},y^{*})\bigr).\) 于是 \(x^{*}\) 是 \(f(x, y)\) 的唯一最小值点。
因此 \(\min\limits_{x\in\mathcal{X}}\max\limits_{y\in\mathcal{Y}}f(x,y)\le\max\limits_{y\in\mathcal{Y}}f(x^{*},y)=f(x^{*},y^{*})=\min\limits_{x\in\mathcal{X}}f(x,y^{*})\le\max\limits_{y\in\mathcal{Y}}\min\limits_{x\in\mathcal{X}}f(x,y).\)
结合一般不等式 \(\max\limits_{y\in\mathcal{Y}}\min\limits_{x\in\mathcal{X}}f(x,y)\le\min\limits_{x\in\mathcal{X}}\max\limits_{y\in\mathcal{Y}}f(x,y),\)
故 \(\max\limits_{y\in\mathcal{Y}}\min\limits_{x\in\mathcal{X}}f(x,y)\;=\;\min\limits_{x\in\mathcal{X}}\max\limits_{y\in\mathcal{Y}}f(x,y). \quad \Box\)
通过将 \(x\) 和 \(y\) 纵向拼接,令 \(z=\begin{pmatrix}x\\ y\end{pmatrix}\),可以定义 Lipschitz连续 和 光滑。
定义(Lipschitz):函数 \(f\) 是 \(L\)-Lipschitz 的,如果 \(|f(z_1)-f(z_2)|\le L\|z_1-z_2\|\),\(\forall z_1,z_2\)。
定义(smooth): 函数 \(f\) 是 \(l\)-光滑的,如果 \(\|\nabla f(z_1)-\nabla f(z_2)\|\le l\|z_1-z_2\|\),\(\forall z_1,z_2\)。
定义(Nash 均衡):没有任何一方能通过单方面改变策略而获得更好结果的稳定状态。在Minimax中的形式为零和双玩家博弈,即 \((x^*,y^*)\) 是 Nash 均衡,当且仅当:
下面叙述梯度下降上升法(GDA)的流程,使用投影次梯度版本:
定理: 若 \(f\) 是 \(L\)-Lipschitz 且凸-凹的,设 \(\mathcal{X}\) 与 \(\mathcal{Y}\) 的直径为 \(R\)。则对固定的 \(t\),取学习率 \(\eta=\frac{R}{L\sqrt{t}}\),我们有
注意到,GDA的输出是平均迭代 \(\bar{x}_t=\frac{1}{t}\sum_{s=1}^{t}x_s, \bar{y}_t=\frac{1}{t}\sum_{s=1}^{t}y_s\),而不是最终迭代 \(x_t, y_t\)。因为最终点可能是发散的(minimax问题没有下降引理),但平均位置是收敛到 Nash 均衡的。
光滑凸-凹函数的 GDA
定理1. 若函数 \(f\) 是 \(l\)-光滑且凸-凹的,且 \(\mathcal{X}\) 和 \(\mathcal{Y}\) 的直径为 \(R\)。那么,对于固定的 \(t\),我们运行投影 GDA,步长 \(\eta = \frac{R}{L\sqrt{t}},\) 其中 \(L = 2lR + \|\nabla f(x_0, y_0)\|\)。我们有
证明:因为 \(f\) 是 \(l\)-光滑的,\(\nabla f\) 是 \(l\)-Lipschitz 的。对任意 \((x,y) \in \mathcal{X} \times \mathcal{Y}\),有:\(\|\nabla f(x,y) - \nabla f(x_0,y_0)\| \le l\|x-x_0\| + l\|y-y_0\| \le 2lR\)
再由三角不等式:\(\|\nabla f(x,y)\| \le \|\nabla f(x,y) - \nabla f(x_0,y_0)\| + \|\nabla f(x_0,y_0)\| \le 2lR + \|\nabla f(x_0,y_0)\| = L\)
这说明 \(f\) 在约束集 \(\mathcal{X} \times \mathcal{Y}\) 上是 \(L\)-Lipschitz 的,其中 \(L = 2lR + \|\nabla f(x_0,y_0)\|\)。直接套用 Lipschitz 下的结果即可得出结论。
与光滑凸情况下的GD(收敛速率\(1/t\), \(\eta = 1/l\))相比,光滑凸-凹情况下的GDA速率\(1/\sqrt{t}\)很慢、\(\eta\)比\(1/l\)小得多,以及没有单调性保证,只有平均保证。
光滑强凸-强凹函数的 GDA
定理: 若函数 \(f\) 是 \(l\)-光滑且 \(\mu\)-强凸-强凹的,且学习率 \(\eta = \frac{\mu}{l^2}\)。记 \(z = \begin{pmatrix} x \\ y \end{pmatrix}\) 且 \(\kappa = \frac{l}{\mu}\),那么有以下不等式
与光滑强凸情况下的GD(迭代复杂度\(\mathcal{O}(\kappa \log\frac{1}{\epsilon})\),\(\eta = \frac{1}{l}\))相比,光滑强凸-强凹情况下的GDA迭代复杂度\(\mathcal{O}(\kappa^2 \log\frac{1}{\epsilon})\)更慢,\(\eta = \frac{1}{\kappa l}\)更小,但和其余情况下GDA不同的是,它同时具有最后迭代收敛性和平均迭代收敛性。
迭代复杂度中的 \(\kappa^2\) 项实际上已经是我们用 GDA 能得到的最好的结果。
外梯度法 Extragradient Method
外梯度法用于求解光滑 minimax 问题:
定理: 若 \(f\) 是凸-凹且 \(l\)-光滑的,\(\mathcal{Z}\) 的直径为 \(R\),\(\eta = 1/l\),则EG满足
这里 \(\bar{x}_T = \dfrac{1}{T}\sum\limits_{t=1}^{T} x_{t+\frac{1}{2}}\),\(\bar{y}_T = \dfrac{1}{T}\sum\limits_{t=1}^{T} y_{t+\frac{1}{2}}\)。
证明:
记未投影的中间变量为 \(\tilde{z}_{t+\frac{1}{2}} := z_t - \eta F(z_t), \qquad \tilde{z}_{t+1} := z_t - \eta F(z_{t+\frac{1}{2}}).\)
由凸集投影的变分性质,对任意 \(z \in \mathcal{Z}\) 有\[\begin{aligned} (\tilde{z}_{t+\frac{1}{2}} - z_{t+\frac{1}{2}})^\top(z_{t+\frac{1}{2}} - z) &\ge 0, \\ (\tilde{z}_{t+1} - z_{t+1})^\top(z_{t+1} - z) &\ge 0. \end{aligned} \]所以有
\[(z_t - \tilde{z}_{t+1})^\top(z_{t+1} - z) = (z_t - z_{t+1})^\top(z_{t+1} - z) + \underbrace{(z_{t+1} - \tilde{z}_{t+1})^\top(z_{t+1} - z)}_{\le 0} \le (z_t - z_{t+1})^\top(z_{t+1} - z). \]\[(z_t - \tilde{z}_{t+\frac{1}{2}})^\top(z_{t+\frac{1}{2}} - z_{t+1}) = (z_t - z_{t+\frac{1}{2}})^\top(z_{t+\frac{1}{2}} - z_{t+1}) + \underbrace{(z_{t+\frac{1}{2}} - \tilde{z}_{t+\frac{1}{2}})^\top(z_{t+\frac{1}{2}} - z_{t+1})}_{\le 0} \le (z_t - z_{t+\frac{1}{2}})^\top(z_{t+\frac{1}{2}} - z_{t+1}). \]由于 \(f\) 是凸-凹的,对任意 \(x \in \mathcal{X}, y \in \mathcal{Y}\),
\[\begin{aligned} f(x_{t+\frac{1}{2}}, y) - f(x, y_{t+\frac{1}{2}}) &= \underbrace{f(x_{t+\frac{1}{2}}, y) - f(x_{t+\frac{1}{2}}, y_{t+\frac{1}{2}})}_{\text{关于 }y\text{ 是凹的}} + \underbrace{f(x_{t+\frac{1}{2}}, y_{t+\frac{1}{2}}) - f(x, y_{t+\frac{1}{2}})}_{\text{关于 }x\text{ 是凸的}} \\ &\le \nabla_y f(x_{t+\frac{1}{2}}, y_{t+\frac{1}{2}})^\top(y - y_{t+\frac{1}{2}}) + \nabla_x f(x_{t+\frac{1}{2}}, y_{t+\frac{1}{2}})^\top(x_{t+\frac{1}{2}} - x) \\ &= F(z_{t+\frac{1}{2}})^\top(z_{t+\frac{1}{2}} - z). \end{aligned} \]将上式右端拆分。注意到 \(\tilde{z}_{t+1} = z_t - \eta F(z_{t+\frac{1}{2}})\),即 \(F(z_{t+\frac{1}{2}}) = \frac{1}{\eta}(z_t - \tilde{z}_{t+1})\),于是
\[\begin{aligned} F(z_{t+\frac{1}{2}})^\top(z_{t+\frac{1}{2}} - z) &= \frac{1}{\eta}(z_t - \tilde{z}_{t+1})^\top(z_{t+\frac{1}{2}} - z) \\ &= \frac{1}{\eta}(z_t - \tilde{z}_{t+1})^\top(z_{t+1} - z) + \frac{1}{\eta}(z_t - \tilde{z}_{t+1})^\top(z_{t+\frac{1}{2}} - z_{t+1}) \\ &= \frac{1}{\eta}(z_t - \tilde{z}_{t+1})^\top(z_{t+1} - z) + \frac{1}{\eta}(z_t - \tilde{z}_{t+\frac{1}{2}})^\top(z_{t+\frac{1}{2}} - z_{t+1}) + \frac{1}{\eta}(\tilde{z}_{t+\frac{1}{2}} - \tilde{z}_{t+1})^\top(z_{t+\frac{1}{2}} - z_{t+1}) \\ &\le \frac{1}{\eta}\underbrace{(z_t - z_{t+1})^\top(z_{t+1} - z)}_{(a)} + \frac{1}{\eta}\underbrace{(z_t - z_{t+\frac{1}{2}})^\top(z_{t+\frac{1}{2}} - z_{t+1})}_{(b)} + \frac{1}{\eta}\underbrace{(\tilde{z}_{t+\frac{1}{2}} - \tilde{z}_{t+1})^\top(z_{t+\frac{1}{2}} - z_{t+1})}_{(c)}. \end{aligned} \]下面分别处理 \((a),(b),(c)\) 三项。首先利用基本引理 \(a^\top b = \frac{1}{2}\left(\|a+b\|^2 - \|a\|^2 - \|b\|^2\right)\) 对 \((a)\) 和 \((b)\) 进行变形:
\[\begin{aligned} (a) &= \frac{1}{2}\left[\|z_t - z\|^2 - \|z_t - z_{t+1}\|^2 - \|z_{t+1} - z\|^2\right], \\ (b) &= \frac{1}{2}\left[\|z_t - z_{t+1}\|^2 - \|z_t - z_{t+\frac{1}{2}}\|^2 - \|z_{t+\frac{1}{2}} - z_{t+1}\|^2\right]. \end{aligned} \]对于 \((c)\),利用 \(F\) 的 \(l\)-Lipschitz 性(即 \(\|F(z_t) - F(z_{t+\frac{1}{2}})\| \le l\|z_t - z_{t+\frac{1}{2}}\|\))以及 \(\tilde{z}_{t+\frac{1}{2}} - \tilde{z}_{t+1} = \eta(F(z_{t+\frac{1}{2}}) - F(z_t))\),有
\[\begin{aligned} (c) &= \eta\left(F(z_t) - F(z_{t+\frac{1}{2}})\right)^\top(z_{t+\frac{1}{2}} - z_{t+1}) \\ &\le \eta l \|z_t - z_{t+\frac{1}{2}}\| \cdot \|z_{t+\frac{1}{2}} - z_{t+1}\| \\ &\le \frac{1}{2}\left[\eta^2 l^2 \|z_t - z_{t+\frac{1}{2}}\|^2 + \|z_{t+\frac{1}{2}} - z_{t+1}\|^2\right]. \end{aligned} \]将以上三式合并,得到 \(F(z_{t+\frac{1}{2}})^\top(z_{t+\frac{1}{2}} - z) \le \frac{1}{\eta}\left[(a)+(b)+(c)\right] \le \frac{1}{2\eta}\left[\|z_t - z\|^2 - \|z_{t+1} - z\|^2 + (\eta^2 l^2 - 1)\|z_t - z_{t+\frac{1}{2}}\|^2\right]. \tag{*}\)
取 \(\eta = 1/l\),则 \(\eta^2 l^2 - 1 = 0\),于是上式简化为\[F(z_{t+\frac{1}{2}})^\top(z_{t+\frac{1}{2}} - z) \le \dfrac{\|z_t - z\|^2 - \|z_{t+1} - z\|^2}{2\eta}. \]该式可对 \(t\) 进行裂项相消求和。利用Jensen不等式 \(h\left(\sum_{t=1}^T \lambda_t x_t\right) \le \sum_{t=1}^T \lambda_t h(x_t)\)(凹的那一侧不等号反向),然后结合凸-凹性放缩的结果,有
\[\begin{aligned} \max_{y\in\mathcal{Y}} f(\bar{x}_T, y) - \min_{x\in\mathcal{X}} f(x, \bar{y}_T) &\le \max_{z\in\mathcal{Z}} \frac{1}{T}\sum_{t=1}^{T} F(z_{t+\frac{1}{2}})^\top(z_{t+\frac{1}{2}} - z) \\ &\le \max_{z\in\mathcal{Z}} \frac{\|z_0 - z\|^2 - \|z_T - z\|^2}{2\eta T} \\ &\le \frac{R^2}{2\eta T} = \frac{lR^2}{2T}. \quad \Box \end{aligned} \]
定理:若 \(f\) 是 \(l\)-光滑且 \(\mu\)-强凸-强凹的,学习率 \(\eta = \frac{1}{4l}\),则EG满足:
- \(\|z_t - z^*\|^2 \leq \left(1 - \frac{1}{4\kappa}\right)^t \|z_0 - z^*\|^2\)。
- \(\max\limits_{y \in \mathcal{Y}} f(x_t, y) - \min\limits_{x \in \mathcal{X}} f(x, y_t) \leq \kappa \cdot l \cdot \left(1 - \frac{1}{4\kappa}\right)^t \|z_0 - z^*\|^2\)。
其中 \(\kappa := l/\mu\),且 \(z^* = (x^*, y^*)\) 是(唯一的)鞍点。
证明: 由 \((*)\),
\[\begin{aligned}&\|z_t - z^*\|^2 - \|z_{t+1} - z^*\|^2 + (\eta^2 l^2 - 1)\|z_t - z_{t+\frac{1}{2}}\|^2 \\\geq\ &2\eta F(z_{t+\frac{1}{2}})^\top (z_{t+\frac{1}{2}} - z^*) \\\geq\ &2\eta \mu \|z_{t+\frac{1}{2}} - z^*\|^2 \quad \text{(}F\text{ 的强单调性: $(F(z) - F(z'))^\top (z - z') \geq \mu \|z - z'\|^2$)} \\\geq\ &\eta \mu \cdot \left[\|z_t - z^*\|^2 - 2\|z_{t+\frac{1}{2}} - z_t\|^2\right] \quad \text{(基于不等式 $\|a + b\|^2 \leq 2\|a\|^2 + 2\|b\|^2$)}.\end{aligned} \]整理各项,得
\[\begin{aligned} \|z_{t+1} - z^*\|^2 &\leq (1 - \eta\mu)\|z_t - z^*\|^2 + \underbrace{(2\eta\mu + \eta^2 l^2 - 1)}_{\leq 0}\|z_t - z_{t+\frac{1}{2}}\|^2 \leq \left(1 - \frac{1}{4\kappa}\right)\|z_t - z^*\|^2. \end{aligned} \quad \Box \]
乐观梯度下降上升法 Optimistic Gradient Descent Ascent
OGDA(无约束情形)的更新规则为:
OGDA 的性能与 EG 非常相似。
| 问题类型 | GDA | EG/OGDA | 下界 |
|---|---|---|---|
| 凸-凹 | \(1/\epsilon^2\) | \(1/\epsilon\) | \(\Omega(1/\epsilon)\) |
| 强凸-强凹 | \(\kappa^2\ln\frac{1}{\epsilon}\) | \(\kappa\ln\frac{1}{\epsilon}\) | \(\Omega(\kappa\ln\frac{1}{\epsilon})\) |
非凸Minimax优化
在非凸设定中,函数 \(f:\mathcal{X}\times\mathcal{Y}\to\mathbb{R}\) 不再是凸-凹的。此时,我们不再拥有minimax定理;为了不失一般性,我们将专注于求解以下问题:
并定义 \(\Phi(x):=\max\limits_{y\in\mathcal{Y}}f(x,y)\),于是主问题可以重写为 \(\min\limits_{x\in\mathcal{X}}\Phi(x)\)。
下面讨论全局最大值近似可解的情况。在此情形中,我们假设 \(\tilde{\Phi}(x)\) 可以逐点计算;即,对于固定的 \(x\in\mathcal{X}\),我们可以找到最大化问题 \(\max\limits_{y\in\mathcal{Y}} f(x,y)\) 的(近似)最优点。
定理: 假设 \(f:\mathcal{X}\times\mathcal{Y}\to\mathbb{R}\) 是 \(l\)-光滑的,并定义 \(\Phi:\mathcal{X}\to\mathbb{R}\) 为 \(\Phi(x)=\max_{y\in\mathcal{Y}}f(x,y)\)。则 \(\Phi\) 是 \(l\)-弱凸的,且 \(\nabla_{x}f(x,y^{\star}(x))\in\partial\Phi(x)\),其中 \(y^{\star}(x)\in\mathop{\arg \max}\limits_{y\in\mathcal{Y}}f(x,y)\) 。
证明:对于任意的 \(x_1, x_2\),令 \(y_2 = y^{\star}(x_2)\)。利用光滑引理1,有
\(\begin{aligned} \Phi(x_1) &= \max_{y\in\mathcal{Y}}f(x_1,y) \\ &\geq f(x_1,y_2) \\ &\geq f(x_2,y_2) + \langle \nabla_x f(x_2,y_2), x_1-x_2 \rangle - \frac{\ell}{2}\|x_1-x_2\|^2 \\ &= \Phi(x_2) + \langle \nabla_x f(x_2,y_2), x_1-x_2 \rangle - \frac{\ell}{2}\|x_1-x_2\|^2, \end{aligned}\)
注意并不保证 \(\Phi(x)\) 是光滑的。反例:考虑 \(f(x,y)=xy\) 且 \(\mathcal{X}=\mathcal{Y}=[-1,+1]\)。函数 \(f\) 是1-光滑的,然而 \(\Phi(x)=|x|\),这显然是非光滑的。
在非凸-凹设定下,\(\Phi\) 是弱凸的,因此,对 \(\Phi\) 做次梯度下降是可行的。但 \(\Phi\) 本身没有显式表达式,其次梯度需要通过求解内层 \(\max_{y}f(x,y)\) 来获得。GD-max 的核心思路就是交替进行:先近似求解内层最大化得到 \(y_t\),再用 \(\nabla_x f(x_t, y_t)\) 作为 \(\Phi\) 的次梯度来更新 \(x\)。
定理: 假设 \(f\) 是 \(l\)-光滑且 \(L\)-Lipschitz的。对于任意 \(T,\gamma,\delta > 0\),通过在 GD-max 中设置 \(\eta = \frac{\gamma}{\sqrt{T}}\),算法满足
其中 \(\phi_\lambda(x) = \min_z\left\{\Phi(z) + \frac{1}{2\lambda}\|z-x\|^2\right\}\)(Moreau 包络)。
在非凸-凹假设下,内层迭代可以使用AGD做到 \(\mathcal{O}(\epsilon^{-1})\),而外层和普通GD复杂度一致\(\mathcal{O}(\epsilon^{-4})\),总迭代复杂度为\(\mathcal{O}(\epsilon^{-5})\)。

我们希望通过回答为什么优化在机器学习中至关重要以及哪些任务可以转化为优化问题来开启本[课程](https://sites.google.com/view/cjin/teaching/ece539cos512-2021-ver)。在本课程中,我们所说的优化问题,指的是在集合X上寻找函数f最小值的通用问题,简记为min f(x) s.t. x ∈ X。
浙公网安备 33010602011771号