跳转至

收敛率

基本概念

梯度下降收敛分析 (Gradient Descent Convergence Analysis)

假设函数 \(f: \mathbb{R}^{d}\to \mathbb{R}\) 是凸且可微分的,梯度满足 \(l\)-Lipschitz 连续,经过 \(k\) 轮迭代,步长为 \(t\leqslant \frac{1}{l}\),则解满足

\[ f(x^{k})-f(x^{\ast})\leqslant \frac{\|x^{(0)}-x^{\ast}\|}{2tk} \]

收敛率为 \(O(\frac{1}{k})\)

Proof:

\(f\) 满足 \(l\)-Lipschitz 连续,则 \(\nabla f^{2} \preceq LI\),所以 \(\nabla f^2 - LI\) 是一个负半正定矩阵。

\(f\) 的二次展开式,有

\[ \begin{align*} f(y) & \leqslant f(x) + \nabla f(x)^T (y-x) + \frac{1}{2} \nabla f^2(x) \|y-x\|^2_2 \\ & \leqslant f(x) + \nabla f(x)^T (y-x) + \frac{1}{2} l \|y-x\|^2_2 \end{align*} \]

由梯度下降公式 \(y=x - t\nabla f(x)\)

\[ \begin{align*} f(y) & \leqslant f(x) - \nabla f(x)^T t\nabla f(x) + \frac{1}{2} l \|t\nabla f(x)\|^2_2 \\ &= f(x) - t \| \nabla f(x) \|_2^2 + \frac{1}{2} lt^2 \|\nabla f(x)\|^2_2 \\ &= f(x) - (1-\frac{1}{2} lt) t \|\nabla f(x)\|_2^2 \end{align*} \]

\(t\leqslant \frac{1}{l}\)\(-(1-\frac{1}{2}lt) \leqslant -(1-\frac{1}{2})=-\frac{1}{2}\),即

\[ f(y) \leqslant f(x) - \frac{1}{2} t \|\nabla f(x)\|^2_2 \tag{1} \]

\(f\) 是凸函数

\[ f(x^{\ast}) \geqslant f(x) + \nabla f(x)^{T} (x^{\ast}-x) \]

等价于

\[ f(x) \leqslant f(x^{\ast}) + \nabla f(x)^{T} (x-x^{\ast}) \]

代入 \((1)\)

\[ f(y) \leqslant f(x^{\ast}) + \nabla f(x)^{T} (x-x^{\ast}) - \frac{1}{2} t \|\nabla f(x)\|^2_2 \]

\[ \begin{align*} f(y)-f(x^{\ast}) & \leqslant \nabla f(x)^{T} (x-x^{\ast}) - \frac{1}{2} t \|\nabla f(x)\|^2_2 \\ &= \frac{1}{2t}\left (2t\nabla f(x)^{T}(x-x^{\ast}) -t^2 \|\nabla f(x)\|^2_2\right ) \\ &= \frac{1}{2t}\left (2t\nabla f(x)^{T}(x-x^{\ast}) -t^2 \|\nabla f(x)\|^2_2 + \|x-x^{\ast}\|_2^2 + \|x-x^{\ast}\|_2^2\right ) \\ &= \frac{1}{2t}\left (\|x-x^{\ast}\|_2^2 - \|x-x^{\ast}-t\nabla f(x)\|_2^2 \right ) \\ &= \frac{1}{2t}\left (\|x-x^{\ast}\|_2^2 - \|y-x^{\ast}\|_2^2 \right ) \\ \end{align*} \]

做一个求和

\[ \begin{align*} \sum_{i=1}^{k} f(x^{(i)}-f(x^{\ast})) & \leqslant \sum_{i=1}^{k} \frac{1}{2t}\left (\|x^{(i-1)}-x^{\ast}\|_2^2 - \|x^{(i)}-x^{\ast}\|_2^2 \right ) \\ &= \frac{1}{2t}\left (\|x^{(0)}-x^{\ast}\|_2^2 - \|x^{k}-x^{\ast}\|_2^2\right ) \\ &\leqslant \frac{1}{2t} \|x^{0}-x^{\ast}\|_2^2 \end{align*} \]

\[ \begin{align*} f(x^{k})-f(x^{\ast}) &\leqslant \frac{1}{k}\sum_{i=1}^{k} (f(x^{i})-f(x^{\ast})) \\ &\leqslant \frac{\|x^{(0)}-x^{\ast}\|}{2tk} \end{align*} \]

因此,为了使得 \(f(x^{k})-f(x^{\ast}) \leqslant \epsilon\),需要进行 \(O(\frac{1}{\epsilon })\) 次迭代。

次梯度方法收敛分析 (Subgradient Method Convergence Analysis)

次梯度方法是为了解决梯度下降中函数 \(f\) 不可导的问题,只需要有一个次梯度 bound 住即可,当然对于 \(f\) 可导的情况,次梯度方法也是可行的,这里为了方便表示,次梯度 \(g\) 都写成了 \(\nabla f\),以便于理解。

对于梯度下降,如果 \(f\) 是凸的,有

\[ f(x^{\ast}) \geqslant f(x) + \nabla f(x)^{T} (x^{\ast}-x) \]

变形即可得到

\[ \nabla f(x)^{T} (x-x^{\ast}) \geqslant f(x) - f(x^{\ast}) \geqslant 0 \]

计算 \(x^{(k+1)}\)\(x^{\ast}\) 的距离

\[ \begin{align*} \|x^{(k+1)}-x^{\ast}\|_2^2 &= \| x^{k}-x^{\ast} - \gamma \nabla f(x^{k})\|_2^2 \\ &= \|x^{k} - x\|_2^2 - 2\gamma \nabla f(x^{k})^{T}(x^{k}-x^{\ast}) + \gamma^2 \|\nabla f(x^{k})\|_2^2 \\ & \leqslant \|x^{k} - x\|_2^2 - 2\gamma (f(x^{k}) - f(x)) + \gamma^2 \|\nabla f(x^{k})\|_2^2 \end{align*} \]

通常在次梯度方法中不会选择 fix 的步长,通常会用 Polyak step size,即

\[ \gamma^k = \frac{f(x^{k}) - f(x^{\ast})}{\|\nabla f(x^{k})\|_2^2} \]

所以上面的可以继续推导出

\[ \|x^{(k+1)}-x^{\ast}\|_2^2 \leqslant \|x^{k} - x^{\ast}\| - \frac{(f(x^{k}) - f(x^{\ast}))^2}{\|\nabla f(x^{k})\|_2^2} \]

\(B \geqslant \|\nabla f(x^{k})\|\),也就是被 bounded 住。

如果 \(f\) 是凸的并且有 bounded gradient,那么收敛序列利用梯度下降和 Polyak step size 满足

\[ \min_{k\in [T]}f(x^{k})-f(x^{\ast}) \leqslant \frac{B\|x^{0}-x^{\ast}\|}{\sqrt{T+1}} \]

Proof:

\[ \|x^{(k+1)}-x^{\ast}\|_2^2 \leqslant \|x^{k} - x^{\ast}\| -\frac{(f(x^{k}) - f(x^{\ast}))^2}{B^2} \]

求和得

\[ \sum_{k=0}^{T} (f(x^{k})-f(x^{\ast}))\leqslant B^2(\|x^{0}-x^{\ast}\|_2^2-\|x^{k+1}-x^{\ast}\|_2^2) \]

有因为左式 \(\geqslant (T+1) \min_{k\in[T]} f(x^{k})-f(x^{\ast})\),稍微变形化简即可得到证明。

如果此时要使得 \(f(x^{k})-f(x^{\ast}) \leqslant \epsilon\),需要进行 \(O(\frac{1}{\epsilon^2})\) 次迭代,小于梯度下降的收敛速率。

References


最后更新: 2022年4月18日 21:15:33
创建日期: 2022年4月7日 15:43:48

评论

回到页面顶部