optimization
首发于optimization
梯度下降在强凸/凸/非凸下的收敛速率证明

梯度下降在强凸/凸/非凸下的收敛速率证明

1. 基础知识

函数 f(x)L-smooth 定义了它的Upper Bound,而非凸、凸、强凸定义了它的lower Bound。假设函数为 L-smooth ,它的lower Bound我们用 l 表示,那么:

 \frac{l}{2}\|y-x\|^2\leq f(y) - f(x)-\left \langle \bigtriangledown f(x),y-x \right \rangle \leq \frac{L}{2}\|y-x\|^2 \\

1. 当 l=0 时, f(x) 为凸函数。

2. 当 l=\sigma>0 时,f(x)\sigma- 强凸函数。

3. 当 l=-Lf(x) 为一般的非凸函数。

当然有些文章中非凸的lower bound做了一个假设,设 l=-\sigma<0,f(x)\sigma- 强非凸再计算其收敛速率,这里不过多介绍,下面都是基于上面的三种情况证明。

在证明之前我们先给出一个关于L-smooth的推论,后面的证明都是基于这个推论推导而出的。

Lemma 1:函数 f(x)\text{L-smooth} 可以得到:

f(x_{k+1}) \leq f(x_k) - \frac{1}{2L} \|\bigtriangledown f(x_k) \|^2 \\

Proof:

\begin{aligned} f(x_{k+1}) & \leq f(x_k) + \bigtriangledown f(x_k) (x_{k+1}- x_k  ) + \frac{L}{2} \|x_{k+1}- x_k\|^2  & L-smooth\\  &= f(x_k) - \eta \|\bigtriangledown f(x_k) \|^2 + \frac{L\eta^2}{2} \|\bigtriangledown f(x_k) \|^2 & x_{k+1} - x_k=- \eta \bigtriangledown f(x_k)\\   &= f(x_k) - \frac{1}{2L} \|\bigtriangledown f(x_k) \|^2 & \eta = \frac{1}{L}\\ \end{aligned}

2. 强凸Strongly-Convex

根据上面L-smmoth推导的公式,我们用 \sigma- 强凸公式可以得到下面第二个公式:

 f(x_{k+1}) \leq f(x_k)-\frac{1}{2L} \|\bigtriangledown f(x_k) \|^2 \\ f(x_{k+1}) \geq f(x_k)-\frac{1}{2\sigma } \|\bigtriangledown f(x_k) \|^2 \\

\forall x_{k+1}\in R 都满足上面式子,我们用 x^* 替换 x_{k+1} 可以得到 Lemma 2.

Lemmma 2: \sigma-SC , L-smooth的函数 f(x) 满足:

\frac{1}{2L} \|\bigtriangledown f(x_k) \|^2 \leq f(x_k)-f(x^*) \leq \frac{1}{2\sigma } \|\bigtriangledown f(x_k) \|^2 \\

下面我们分析强凸情况下的收敛速率。首先根据上节推导公式,我们用Lemma 2右半边替换 \|\bigtriangledown f(x_k) \|^2 可以得到相邻epoch目标函数差值的等比关系:

\begin{aligned}  f(x_{k+1}) - f(x^*)  &\leq  f(x_k)- f(x^*) - \frac{1}{2L} \|\bigtriangledown f(x_k) \|^2 & L-smooth \\  &\leq f(x_k)- f(x^*) - \frac{\sigma}{L} (f(x_k)-f(x^*))  & \sigma-SC \\  & =  (1- \frac{\sigma}{L} )(f(x_k)-f(x^*))  \end{aligned}\\

经过 T 次迭代有:

 f(x_{T}) - f(x^*) \leq (1- \frac{\sigma}{L} )^T (f(x_0)-f(x^*)) \\

达到 \epsilon 误差需要满足:

\begin{split} C_1^T C_2 &\leq \epsilon\\  \frac{1}{C_1^T C_2}&\geq \frac{1}{\epsilon} \Rightarrow T \geq \frac{ \log{\frac{C_2}{\epsilon}}}{\log \frac{1}{C_1} }\\ \end{split}\\

因此,强凸是线性收敛 T = O(\log{\frac{1}{\epsilon}} )

3. 非强凸Convex

上面我们利用强凸公式替换后面的 \|\bigtriangledown f(x_k)\| ,这里不能用强凸公式,我们仍旧利用lower bound来替换前面半部分。

\begin{aligned} f(x_{k+1}) - f(x^*)  &\leq  f(x_k)- f(x^*) - \frac{1}{2L} \|\bigtriangledown f(x_k) \|^2 & L-smooth \\ & \leq \bigtriangledown f(x_k)(x_k-x^*) - \frac{1}{2L} \|\bigtriangledown f(x_k) \|^2 & Convexity \\ \end{aligned}\\

下面计算不等式右边部分:

\begin{aligned} ||x_{k+1}-x^*||^2 &=||x_{k}-\eta\bigtriangledown f(x_k)-x^*||^2\\ &= ||x_{k}-x^*||^2-2\eta\bigtriangledown f(x_k)(x_{k}-x^*)+\eta^2||\bigtriangledown f(x_k)||^2 \\ &= ||x_{k}-x^*||^2-2\eta (\bigtriangledown f(x_k)(x_{k}-x^*)-\frac{\eta}{2}||\bigtriangledown f(x_k)||^2) \\ \bigtriangledown f(x_k)(x_k -x^*)-\frac{\eta}{2}||\bigtriangledown f(x_k)||^2 &= \frac{1}{2\eta}(||x_{k}-x^*||^2-||x_{k+1}-x^*||^2 ) \end{aligned}

注意这里 \eta = \frac{1}{L}

f(x_{k+1}) - f(x^*) \leq \frac{1}{2\eta}(||x_{k}-x^*||^2-||x_{k+1}-x^*||^2 )\\

\sum_{k=0}^{T-1} f(x_{k+1}) - f(x^*) \leq \frac{||x_{0}-x^*||^2-||x_{T}-x^*||^2 }{2\eta} \leq \frac{||x_{0}-x^*||^2  }{2\eta}\\

凸函数目标函数总是减小的:

\begin{aligned} f(x_{k})- f(x^*)& \leq f(x_{k-1})- f(x^*)\leq ...f(x_{0})- f(x^*)\\ f(x_{T})- f(x^*)& \leq \frac{1}{T}\sum_{i=1}^{K}(f(x_{i})- f(x^*)) \\ & \leq\frac{||x_{0}-x^*||^2}{2\eta T} \leq \epsilon \\ \end{aligned}\\

因此,GD在凸情况下是次线性收敛  T = O(\frac{1}{\epsilon})

4. 非凸Nonconvex

求解非凸函数我们求解一阶导数近似为0的情况,即满足误差 \epsilon :

\|\bigtriangledown f(x_k)\|\leq \epsilon\\

有了这个条件我们下面来证明,依旧根据最开始推导的公式:

\begin{aligned} f(x_{k+1})    &\leq  f(x_k)  - \frac{1}{2L} \|\bigtriangledown f(x_k) \|^2 & L-smooth \\ \end{aligned}\\

经过 T 次迭代有:

\begin{split} f(x_{k+1}) &\leq f(x_0) - \frac{1}{2L} \sum_{k=0}^{T-1}\|f(x_k)\|^2\\  \frac{1}{2L} \sum_{k=0}^{T-1}\|f(x_k)\|^2&\leq  f(x_0) -f(x_{k+1})   \leq  f(x_0) - f(x^*)\end{split} \\

\min_{k=0,1,...}\|\bigtriangledown f(x_k) \|^2 \leq \frac{1}{T} \sum_{k=0}^{T-1}  \|\bigtriangledown f(x_k) \|^2\leq  \frac{2L(f(x_0)-f(x^*))}{T}\\ \| \bigtriangledown f(x_{min}) \|^2\leq O(\frac{1}{T})\leq  \epsilon^2\\

GD在非凸情况下达到 \epsilon 所需要的步数为 T=O(\frac{1}{\epsilon^2}) 。当然在一阶导数等于0的时候并不一定是极值点,也有可能是鞍点,已有论文在GD上加噪声证明它可以逃离鞍点或者证明二阶导近似为0,这里不过多介绍后面文章专门写。感谢Zeap的补充纠正。

5. 总结

不知道知乎怎么画表格,直接借用 @Zeap 的图。

参考: Zeap:当我们谈论收敛速度时,我们都在谈什么?

编辑于 2019-05-19

文章被以下专栏收录