上图中,可以看出,确定性优化算法和随即优化算法是有明显的分界线的。如果加上分布式集群上的实现方式,就可以分为同步或异步的算法。从梯度下降(GD)后,20世纪50年代,各种一阶算法井喷,其中 SGD 也是这个时候的产物。
对算法的分析 可以分为一阶的还是二阶的,对偶的还是非对偶的,确定的还是随机的。
梯度下降(GD)是柯西(Cauchy )大神的1847年提出的。其基本思想是:最小化目标函数在当前状态的一 阶泰勒展开,从而近似地优化目标函数本身 :
m i n f ( w ∗ ) = m i n { f ( w t ) + ∇ f ( w t ) T ( w ∗ − w t ) } ( 1 ) min f(w^*) =min\{ f(w_t) + \nabla f(w_t)^T(w^*-w_t)\} \quad \quad (1) minf(w∗)=min{f(wt)+∇f(wt)T(w∗−wt)}(1)
假设 w = w t + 1 w=w_{t+1} w=wt+1,因为 w t − w t + 1 w_t-w_{t+1} wt−wt+1 是一个小的矢量,因为太大的话(1)式就不成立了(泰勒公式),注意,这里 f ( w t ) f(w_t) f(wt) 是已知的。假设 w t − w t + 1 = η v w_t-w_{t+1}=\eta v wt−wt+1=ηv,其中 v v v 是单位向量,因为 w t + 1 w_{t+1} wt+1的方向不确定,这里 v v v的方向也式不确定的(即我们确定了 v v v, w t + 1 w_{t+1} wt+1 的方向也就确定了)。于是,(1)式可以表示为:
m i n f ( w t + 1 ) = m i n f ( w t ) + m i n ∇ η v f ( w t ) T ( 2 ) min f(w_{t+1}) = min f(w_t) +min \nabla \eta v f(w_t)^T \quad \quad (2) minf(wt+1)=minf(wt)+min∇ηvf(wt)T(2)
这里,我们需要让 f ( w t + 1 ) = f ( w t ) < 0 f(w_{t+1}) = f(w_t)<0 f(wt+1)=f(wt)<0(最小化目标函数,也是梯度下降的目的), η > 0 \eta>0 η>0 的小的常数,于是,得到:
v ∇ f ( w t ) T < 0 ( 3 ) v\nabla f(w_t)^T<0 \quad \quad (3) v∇f(wt)T<0(3)
我们需要最小化(3)式。这里,求两个向量的乘积小于零,代表其方向相反,为使得(2)式右端最小,可以取 v v v 为:
v = − ∇ f ( w t ) ∣ ∣ f ( w t ) ∣ ∣ ( 4 ) v=-\frac{\nabla f(w_t)}{||f(w_t)||} \quad \quad (4) v=−∣∣f(wt)∣∣∇f(wt)(4)
(上式可根据: A ⋅ B = ∣ ∣ A ∣ ∣ ⋅ ∣ ∣ B ∣ ∣ c o s α A\cdot B=||A|| \cdot ||B|| cos\alpha A⋅B=∣∣A∣∣⋅∣∣B∣∣cosα,取 c o s α = − 1 cos \alpha=-1 cosα=−1)
这里,将(4)式中的 ∣ ∣ ∇ f ( w t ) ∣ ∣ ||\nabla f(w_t)|| ∣∣∇f(wt)∣∣ 合并到常数项 η \eta η 中。根据 w t − w t + 1 = η v w_t-w_{t+1}=\eta v wt−wt+1=ηv,于是得到梯度下降法的更新规则如下:
w t + 1 = w t − η ∇ f ( w t ) ( 5 ) w_{t+1}=w_{t}-\eta \nabla f(w_t) \quad \quad (5) wt+1=wt−η∇f(wt)(5)
在推出梯度下降规则(5)的过程中,用到了假设 w t − w t + 1 = η v w_t-w_{t+1}=\eta v wt−wt+1=ηv,这个假设其实有某些限制条件,即 w t w_t wt 的所有分量都在 v v v 方向上减少 η \eta η 得到 w t + 1 w_{t+1} wt+1,即限制了 w t + 1 w_{t+1} wt+1 的空间,即只能在某个方向上变动,因为梯度下降是一维曲线,这样的假设是合理的。还有,在这里将 ∣ ∣ ∇ f ( w t ) ∣ ∣ ||\nabla f(w_t)|| ∣∣∇f(wt)∣∣ 合并到常数项 η \eta η 中有个问题, ∣ ∣ ∇ f ( w t ) ∣ ∣ ||\nabla f(w_t)|| ∣∣∇f(wt)∣∣ 是梯度的范数,它是变化的,合并后我们还使用固定常数 η \eta η,就造成了(5)式不严格成立。所以,常用的梯度下降也是变步长的! 因为没有归一化梯度,这其实符合实际,因为梯度大时,就多走一段距离,小时就少走一点。其实,关于 η \eta η 真的有好多工作要做!这也是一系列自适应算法的由来。
将其代入上式,得:
f ( w t ) − f ( w t + 1 ) = η ∇ f ( w t ) T ∇ f ( w t ) ( 6 ) f(w_t)-f(w_{t+1})=\eta \nabla f(w_t)^T \nabla f(w_t) \quad \quad (6) f(wt)−f(wt+1)=η∇f(wt)T∇f(wt)(6)
这里,得到一个奇怪的结论,因为等式(3)右边是梯度的内积乘以一个常数,所以是大于零的。所以得到: f ( w t ) − f ( w t + 1 ) > 0 f(w_t)-f(w_{t+1})>0 f(wt)−f(wt+1)>0 一定成立,也就是使用梯度下降法梯度一定是下降的!为什么会这样呢?//TODO 想明白了再解决这些谬论。
对于(5)式中的 η \eta η,我们要做一些限制,从而使得目标函数(1)式是收敛的。
关于函数的各种性质的定义参见 机器学习之优化算法(一)之损失函数,这篇文章里有函数性质(Lipschitz连续、凸、光滑)的定义。
这里用变量 x x x 代替参数 w w w。这里,考察第 t 步迭代 x t x_t xt 与 x ∗ x^* x∗ 的距离。
假设目标函数 f f f 是 R d R^d Rd 上的凸函数,并且 β − \beta- β−光滑。当步长 η = 1 β η=\frac{1}{\beta} η=β1 时,梯度下降法是收敛的。
根据梯度下降公式(5)有:
∣ ∣ x t + 1 − x ∗ ∣ ∣ 2 = ∣ ∣ x t − η ∇ f ( x t ) − x ∗ ∣ ∣ 2 ( 7 ) ||x_{t+1}-x^*||^2=||x_t-\eta\nabla f(x_t)-x^*||^2 \quad \quad (7) ∣∣xt+1−x∗∣∣2=∣∣xt−η∇f(xt)−x∗∣∣2(7)
等式右边开平方得:
∣ ∣ x t + 1 − x ∗ ∣ ∣ 2 = ∣ ∣ x t − x ∗ ∣ ∣ 2 − 2 η ∇ f ( x t ) T ( x t − x ∗ ) + η 2 ∣ ∣ ∇ f ( x t ) ∣ ∣ 2 ( 8 ) ||x_{t+1}-x^*||^2=||x_t-x^*||^2 - 2\eta\nabla f(x_t)^T(x_t-x^*)+\eta^2||\nabla f(x_t)||^2 \quad \quad (8) ∣∣xt+1−x∗∣∣2=∣∣xt−x∗∣∣2−2η∇f(xt)T(xt−x∗)+η2∣∣∇f(xt)∣∣2(8)
根据 β − \beta- β−平滑性质2有:
f ( x t ) − f ( x ∗ ) ≤ ∇ f ( x t ) T ( x t − x ∗ ) − 1 2 β ∣ ∣ ∇ f ( x t ) − ∇ f ( x ∗ ) ∣ ∣ 2 ( 9 ) f(x_t)-f(x^*) \leq \nabla f(x_t)^T(x_t-x^*)-\frac{1}{2\beta}||\nabla f(x_t)-\nabla f(x^*)||^2 \quad \quad (9) f(xt)−f(x∗)≤∇f(xt)T(xt−x∗)−2β1∣∣∇f(xt)−∇f(x∗)∣∣2(9)
因为 x ∗ x^* x∗为最终解, ∇ f ( x ∗ ) = 0 , f ( x t ) > f ( x ∗ ) \nabla f(x^*)=0, f(x_t)>f(x^*) ∇f(x∗)=0,f(xt)>f(x∗),代入(9)式得到:
− ∇ f ( x t ) T ( x t − x ∗ ) ≤ − 1 2 β ∣ ∣ ∇ f ( x t ) ∣ ∣ 2 ( 10 ) -\nabla f(x_t)^T(x_t-x^*) \leq -\frac{1}{2\beta}||\nabla f(x_t)||^2 \quad \quad (10) −∇f(xt)T(xt−x∗)≤−2β1∣∣∇f(xt)∣∣2(10)
将(10)代入(8)得到:
∣ ∣ x t + 1 − x ∗ ∣ ∣ 2 ≤ ∣ ∣ x t − x ∗ ∣ ∣ 2 − η β ∣ ∣ ∇ f ( x t ) ∣ ∣ 2 + η 2 ∣ ∣ ∇ f ( x t ) ∣ ∣ 2 ||x_{t+1}-x^*||^2 \leq ||x_t-x^*||^2-\frac{\eta}{\beta}||\nabla f(x_t)||^2 + \eta^2||\nabla f(x_t)||^2 ∣∣xt+1−x∗∣∣2≤∣∣xt−x∗∣∣2−βη∣∣∇f(xt)∣∣2+η2∣∣∇f(xt)∣∣2
= ∣ ∣ x t − x ∗ ∣ ∣ 2 − η ( 1 β − η ) ∣ ∣ ∇ f ( x t ) ∣ ∣ 2 ( 11 ) =||x_t-x^*||^2-\eta\left(\frac{1}{\beta}-\eta\right)||\nabla f(x_t)||^2 \quad \quad (11) =∣∣xt−x∗∣∣2−η(β1−η)∣∣∇f(xt)∣∣2(11)
所以,当 η < 1 β \eta <\frac{1}{\beta} η<β1 时,上式是收敛的。
这里,考察第 t 步迭代 f ( x t ) f(x_t) f(xt) 与 f ( x ∗ ) f(x^*) f(x∗) 的距离,我们要最小化这个距离,即损失最小。
由 β − \beta- β−光滑性质1,有:
f ( x t + 1 ) − f ( x t ) ≤ ∇ f ( x t ) T ( f ( x t + 1 ) − f ( x t ) ) + β 2 ∣ ∣ x t + 1 − x t ∣ ∣ 2 f(x_{t+1})-f(x_t)\leq \nabla f(x_t)^T(f(x_{t+1})-f(x_t))+\frac{\beta}{2}||x_{t+1}-x_t||^2 f(xt+1)−f(xt)≤∇f(xt)T(f(xt+1)−f(xt))+2β∣∣xt+1−xt∣∣2
= − η ∣ ∣ ∇ f ( x t ) ∣ ∣ 2 − β 2 η 2 ∣ ∣ ∇ f ( x t ) ∣ ∣ 2 = − η ( 1 − β η 2 ) ∣ ∣ ∇ f ( x t ) ∣ ∣ 2 ( 12 ) =-\eta||\nabla f(x_t)||^2-\frac{\beta}{2}\eta^2||\nabla f(x_t)||^2=-\eta(1-\frac{\beta\eta}{2})||\nabla f(x_t)||^2 \quad \quad (12) =−η∣∣∇f(xt)∣∣2−2βη2∣∣∇f(xt)∣∣2=−η(1−2βη)∣∣∇f(xt)∣∣2(12)
将 f ( x ∗ ) f(x^*) f(x∗) 代入(12)得:
[ f ( x t + 1 ) − f ( x ∗ ) ] ≤ [ f ( x t ) − f ( x ∗ ) ] − η ( 1 − β η 2 ) ∣ ∣ ∇ f ( x t ) ∣ ∣ 2 ( 13 ) [f(x_{t+1})-f(x^*)]\leq [f(x_t)-f(x^*)]-\eta(1-\frac{\beta\eta}{2})||\nabla f(x_t)||^2 \quad \quad (13) [f(xt+1)−f(x∗)]≤[f(xt)−f(x∗)]−η(1−2βη)∣∣∇f(xt)∣∣2(13)
根据凸函数的性质,有:
f ( x t ) − f ( x ∗ ) ≤ ∇ f ( x t ) T ( x t − x ∗ ) ≤ ∣ ∣ ∇ f ( x n ) ∣ ∣ ⋅ ∣ ∣ x n − x ∗ ∣ ∣ f(x_{t})-f(x^*)\leq \nabla f(x_t)^T(x_t-x^*) \leq ||\nabla f(x_n)||\cdot ||x_n-x^*|| f(xt)−f(x∗)≤∇f(xt)T(xt−x∗)≤∣∣∇f(xn)∣∣⋅∣∣xn−x∗∣∣,即:
− ∣ ∣ ∇ f ( x t ) ∣ ∣ ≤ − f ( x t ) − f ( x ∗ ) ∣ ∣ x t − x ∗ ∣ ∣ ( 14 ) -||\nabla f(x_t)|| \leq -\frac{f(x_{t})-f(x^*)}{||x_t-x^*||} \quad \quad (14) −∣∣∇f(xt)∣∣≤−∣∣xt−x∗∣∣f(xt)−f(x∗)(14)
将(14)代入(13)得:
[ f ( x t + 1 ) − f ( x ∗ ) ] ≤ [ f ( x t ) − f ( x ∗ ) ] − η ( 1 − β η 2 ) [ f ( x t ) − f ( x ∗ ) ] 2 ∣ ∣ x t − x ∗ ∣ ∣ 2 ( 15 ) [f(x_{t+1})-f(x^*)]\leq [f(x_t)-f(x^*)]-\eta(1-\frac{\beta\eta}{2})\frac{[f(x_{t})-f(x^*)]^2}{||x_t-x^*||^2} \quad \quad (15) [f(xt+1)−f(x∗)]≤[f(xt)−f(x∗)]−η(1−2βη)∣∣xt−x∗∣∣2[f(xt)−f(x∗)]2(15)
两边同除 [ f ( x t + 1 ) − f ( x ∗ ) ] [ f ( x t ) − f ( x ∗ ) ] [f(x_{t+1})-f(x^*)][f(x_t)-f(x^*)] [f(xt+1)−f(x∗)][f(xt)−f(x∗)] 得:
1 f ( x t ) − f ( x ∗ ) ≤ 1 f ( x t + 1 ) − f ( x ∗ ) + η ( 1 − β η 2 ) ∣ ∣ x 0 − x ∗ ∣ ∣ 2 f ( x t ) − f ( x ∗ ) f ( x t + 1 ) − f ( x ∗ ) ( 16 ) \frac{1}{f(x_t)-f(x^*)} \leq \frac{1}{f(x_{t+1})-f(x^*)}+\frac{\eta(1-\frac{\beta\eta}{2})}{||x_0-x^*||^2}\frac{f(x_{t})-f(x^*)}{f(x_{t+1})-f(x^*)} \quad \quad (16) f(xt)−f(x∗)1≤f(xt+1)−f(x∗)1+∣∣x0−x∗∣∣2η(1−2βη)f(xt+1)−f(x∗)f(xt)−f(x∗)(16)
由 f ( x t ) − f ( x ∗ ) f ( x t + 1 ) − f ( x ∗ ) > 1 \frac{f(x_{t})-f(x^*)}{f(x_{t+1})-f(x^*)}>1 f(xt+1)−f(x∗)f(xt)−f(x∗)>1,并由 ∣ ∣ x 0 − x ∗ ∣ ∣ 2 > ∣ ∣ x t − x ∗ ∣ ∣ 2 ||x_0-x^*||^2>||x_t-x^*||^2 ∣∣x0−x∗∣∣2>∣∣xt−x∗∣∣2替换掉 x t x_t xt 得:
1 f ( x t ) − f ( x ∗ ) ≤ 1 f ( x t + 1 ) − f ( x ∗ ) + η ( 1 − β η 2 ) ∣ ∣ x 0 − x ∗ ∣ ∣ 2 ( 17 ) \frac{1}{f(x_t)-f(x^*)} \leq \frac{1}{f(x_{t+1})-f(x^*)}+\frac{\eta(1-\frac{\beta\eta}{2})}{||x_0-x^*||^2} \quad \quad (17) f(xt)−f(x∗)1≤f(xt+1)−f(x∗)1+∣∣x0−x∗∣∣2η(1−2βη)(17)
对(17)从 0 累加到 T-1 得:
1 f ( x t ) − f ( x ∗ ) − 1 f ( x 0 ) − f ( x ∗ ) ≥ 1 ∣ ∣ x 0 − x ∗ ∣ ∣ 2 t η ( 1 − β η 2 ) ( 18 ) \frac{1}{f(x_t)-f(x^*)}-\frac{1}{f(x_0)-f(x^*)} \geq \frac{1}{||x_0-x^*||^2} t \eta(1-\frac{\beta\eta}{2}) \quad \quad (18) f(xt)−f(x∗)1−f(x0)−f(x∗)1≥∣∣x0−x∗∣∣21tη(1−2βη)(18)
左边第二项是正数:
1 f ( x t ) − f ( x ∗ ) ≥ 1 ∣ ∣ x 0 − x ∗ ∣ ∣ 2 t η ( 1 − β η 2 ) \frac{1}{f(x_t)-f(x^*)} \geq \frac{1}{||x_0-x^*||^2} t \eta(1-\frac{\beta\eta}{2}) f(xt)−f(x∗)1≥∣∣x0−x∗∣∣21tη(1−2βη),即:
f ( x t ) − f ( x ∗ ) ≤ ∣ ∣ x 0 − x ∗ ∣ ∣ 2 ⋅ 1 η ( 1 − β η 2 ) ⋅ 1 t ( 19 − 1 ) f(x_t)-f(x^*) \leq ||x_0-x^*||^2\cdot \frac{1}{\eta(1-\frac{\beta\eta}{2})} \cdot \frac{1}{t} \quad \quad (19-1) f(xt)−f(x∗)≤∣∣x0−x∗∣∣2⋅η(1−2βη)1⋅t1(19−1)
如果,每步的 η \eta η 不同,设为 η t \eta_t ηt,这里(19)就变成了:
f ( x t ) − f ( x ∗ ) ≤ ∣ ∣ x 0 − x ∗ ∣ ∣ 2 ⋅ 1 ∑ t = 0 t = n − 1 η t ( 1 − β η t 2 ) ⋅ ( 19 − 2 ) f(x_t)-f(x^*) \leq ||x_0-x^*||^2\cdot \frac{1}{\sum_{t=0}^{t=n-1} \eta_t(1-\frac{\beta\eta_t}{2})} \cdot \quad \quad (19-2) f(xt)−f(x∗)≤∣∣x0−x∗∣∣2⋅∑t=0t=n−1ηt(1−2βηt)1⋅(19−2)
这里,我们需要计算一个级数 ∑ t = 0 t = n − 1 η t ( 1 − β η t 2 ) \sum_{t=0}^{t=n-1} \eta_t(1-\frac{\beta\eta_t}{2}) ∑t=0t=n−1ηt(1−2βηt) 的收敛性分析了,而且这个级数越大越好,分析见推论2。
这里,我们使用(19-1),那么我们希望使得(19-1)取最小(损失最小),即 η ( 1 − β η 2 ) \eta(1-\frac{\beta\eta}{2}) η(1−2βη),取最大值,即 η = 1 β \eta=\frac{1}{\beta} η=β1 时,可以使得总体loss最小。
推论1:由(19-2)得:
f ( x t ) − f ( x ∗ ) ≤ 2 β ∣ ∣ x 0 − x ∗ ∣ ∣ 2 t − 1 ( 20 ) f(x_t)-f(x^*) \leq \frac{ 2\beta||x_0 - x^*||^2}{ t-1} \quad \quad (20) f(xt)−f(x∗)≤t−12β∣∣x0−x∗∣∣2(20)
该算法的收敛率为 Θ ( 1 / T ) \Theta(1/T) Θ(1/T)。
推论2:由(19-1),假设 η t \eta_t ηt 满足 ∑ t = 1 t = T η t = ∞ \sum_{t=1}^{t=T}\eta_t=\infty ∑t=1t=Tηt=∞,而且 ∑ t = 1 t = T η t 2 = ∞ \sum_{t=1}^{t=T} {\eta_t}^2=\infty ∑t=1t=Tηt2=∞。那么,梯度下降可以收敛到全局最优点。当级数 η t = 1 / t \eta_t=1/t ηt=1/t 时,注意,该级数时发散的( ∑ t = 1 t = T 1 / k = ∞ \sum_{t=1}^{t=T}1/k=\infty ∑t=1t=T1/k=∞)!
f ( x t ) − f ( x ∗ ) ≤ Θ ( 1 log ( t ) ) ∣ ∣ x 0 − x ∗ ∣ ∣ 2 ( 21 ) f(x_t)-f(x^*) \leq \Theta\left(\frac{1}{\log(t)}\right){|| x_0 - x^*||^2} \quad \quad (21) f(xt)−f(x∗)≤Θ(log(t)1)∣∣x0−x∗∣∣2(21)
可以看出,随着步长 η t \eta_t ηt 减少,我们可以不对 β \beta β 进行要求,而且 ∑ t = 1 t = T η t 2 = ∞ \sum_{t=1}^{t=T} {\eta_t}^2=\infty ∑t=1t=Tηt2=∞ 也只是充分不必要的。这里,我们需要 级数 ∑ t = 0 t = n − 1 η t ( 1 − β η t 2 ) \sum_{t=0}^{t=n-1} \eta_t(1-\frac{\beta\eta_t}{2}) ∑t=0t=n−1ηt(1−2βηt) 对于 t 是定义良好的。例如:当 η t = 1 / l o g ( t ) \eta_t=1/log(t) ηt=1/log(t) 时, 可以得到 (by approximating the sum by a Riemannian integral):
∑ t = 0 T − 1 η t ( 1 − β η t 2 ) ∼ β T 2 log ( T ) ( 22 ) \displaystyle \sum_{t=0}^{T-1} \eta_t\left( 1-\frac{\beta \eta_t}{2}\right) \sim \frac{\beta T}{2\log(T)} \quad \quad (22) t=0∑T−1ηt(1−2βηt)∼2log(T)βT(22)
由(19-2),得到:
f ( x n ) − f ( x ∗ ) ⪯ 2 log ( n ) ∣ ∣ x 0 − x ∗ ∣ ∣ 2 β n ( 23 ) \displaystyle f(x_n)-f(x^*) \preceq \frac{2\log(n) || x_0 - x^*|| ^2}{ \beta n} \quad \quad (23) f(xn)−f(x∗)⪯βn2log(n)∣∣x0−x∗∣∣2(23)
这样,就产生了 l o g ( T ) log(T) log(T) 的收敛率,而不是 1 / T 1/T 1/T,如下图:
这里,我们假设优化算法从 x 0 x_0 x0 开始,而且损失依赖于初始点和最优点之间的距离,假设两点之间的距离半径为 R R R。当 η = 1 / β \eta=1/\beta η=1/β 时,将得到:
f ( x n ) − f ( x ∗ ) ≤ 2 β R 2 ( n − 1 ) ≤ ϵ \displaystyle \begin{array}{rcl} f(x_n) -f(x^*) &\leq & \frac{2\beta R ^2}{(n-1)} \le \epsilon \end{array} f(xn)−f(x∗)≤(n−1)2βR2≤ϵ
ϵ ≥ 2 β R 2 ( n − 1 ) n − 1 ≥ 2 β R 2 n ≥ 2 β R 2 ϵ ( 24 ) \displaystyle \begin{array}{rcl} \epsilon &\geq & \frac{2\beta R ^2}{(n-1)}\\ n-1 &\geq & \frac{2\beta R ^2}{}\\ n &\geq & \frac{2\beta R ^2}{\epsilon}\end{array} \quad \quad (24) ϵn−1n≥≥≥(n−1)2βR22βR2ϵ2βR2(24)
(24)表明最小步长为 2 β R 2 ϵ \frac{2\beta R^2}{\epsilon} ϵ2βR2 ,而该结果的收敛性直接依赖 Lipschiz 常数 β \beta β、据初始点的距离和容忍集是否可逆。
注意:
引理1:如果 f 即是 β − {\beta-} β−光滑 又是 α − {\alpha}- α−强凸. 对于 ∀ x , y ∈ R n {\forall x,y \in {\mathbb R}^n} ∀x,y∈Rn,
( ∇ f ( x ) − ∇ f ( y ) ) T ≥ α β ∣ ∣ x − y ∣ ∣ 2 α + β + ∣ ∣ ∇ f ( x ) − ∇ f ( y ) ∣ ∣ 2 α + β . ( 25 ) \displaystyle \begin{array}{rcl} (\nabla f(x) -\nabla f(y))^T \geq \frac{\alpha\beta ||x-y||^2}{\alpha + \beta} + \frac{||\nabla f(x) - \nabla f(y)||^2}{\alpha +\beta}. \end{array} \quad \quad (25) (∇f(x)−∇f(y))T≥α+βαβ∣∣x−y∣∣2+α+β∣∣∇f(x)−∇f(y)∣∣2.(25)
定理1:假设 f {f} f 是 β {\beta} β-光滑和 α {\alpha} α-强凸函数。 那么,GD的步长 η t ≤ 2 / ( α + β ) {\eta_t \leq 2/(\alpha+\beta)} ηt≤2/(α+β) 满足:
f ( x t ) − p ∗ ≤ β 2 ∏ t = 1 T ( 1 − 2 η t α β α + β ) ∥ x 0 − x ∗ ∥ 2 ( 26 ) \displaystyle f \left( x_t \right) - p^* \leq \frac{\beta}{2} \prod_{t=1}^T \left( 1 - \frac{2\eta_t \alpha \beta}{\alpha + \beta} \right) \Vert x_0 - x^* \Vert^2 \quad \quad (26) f(xt)−p∗≤2βt=1∏T(1−α+β2ηtαβ)∥x0−x∗∥2(26)
证明:将公式梯度下降公式(5)代入 β {\beta} β-光滑的性质(1)(参考这里)式 ∣ f ( x ) − f ( y ) − ∇ f ( y ) T ( x − y ) ∣ ≤ β 2 ∣ ∣ x − y ∣ ∣ 2 |f(x)-f(y)-\nabla f(y)^T(x-y) | \leq \frac{\beta}{2}||x-y||^2 ∣f(x)−f(y)−∇f(y)T(x−y)∣≤2β∣∣x−y∣∣2 的条件中,得:
f ( x k ) ≤ f ( x ∗ ) + ∇ f ( x ∗ ) T ( x k − x ∗ ) + β 2 ∥ x k − x ∗ ∥ 2 ( 27 ) \displaystyle f \left( x_k \right) \leq f \left( x^* \right) + \nabla f \left( x^* \right)^T \left( x_k - x^* \right) + \frac{\beta}{2} \Vert x_k - x^* \Vert ^2 \quad \quad (27) f(xk)≤f(x∗)+∇f(x∗)T(xk−x∗)+2β∥xk−x∗∥2(27)
根据最优点的梯度 ∇ f ( x ∗ ) = 0 \nabla f(x^*)=0 ∇f(x∗)=0,则(27) 得:
f ( x k ) − f ( x ∗ ) ≤ β 2 ∥ x k − x ∗ ∥ 2 ( 28 ) \displaystyle f \left( x_k \right) - f \left( x^* \right) \leq \frac{\beta}{2} \Vert x_k -x^* \Vert ^2 \ \ \ \ \ (28) f(xk)−f(x∗)≤2β∥xk−x∗∥2 (28)
∥ x t + 1 − x ∗ ∥ 2 {\Vert x_{t+1} - x^* \Vert^2} ∥xt+1−x∗∥2 服从等式(8),即:
∥ x t + 1 − x ∗ ∥ 2 = ∥ x t − x ∗ ∥ 2 + η t 2 ∥ ∇ f ( x t ) ∥ 2 − 2 η t ∇ f ( x t ) T ( x t − x ∗ ) ( 8 − 2 ) \displaystyle \begin{array}{rcl} \Vert x_{t+1} - x^* \Vert^2 = \Vert x_t - x^* \Vert^2 + \eta_t^2 \Vert \nabla f \left( x_t \right) \Vert^2 -2\eta_t \nabla f \left( x_t \right)^T\left( x_t - x* \right) \end{array} \quad \quad (8-2) ∥xt+1−x∗∥2=∥xt−x∗∥2+ηt2∥∇f(xt)∥2−2ηt∇f(xt)T(xt−x∗)(8−2)
使用引理等式(25)和 ∇ f ( x ∗ ) = 0 \nabla f(x^*)=0 ∇f(x∗)=0 得:
∥ x t + 1 − x ∗ ∥ 2 ≤ ∥ x t − x ∗ ∥ 2 + η t 2 ∥ ∇ f ( x t ) ∥ 2 − 2 η t ( α β α + β ∥ x t − x ∗ ∥ 2 + ∥ ∇ f ( x t ) ∥ 2 α + β ) ( 29 ) \displaystyle \Vert x_{t+1} - x^* \Vert^2 \leq \Vert x_t - x^* \Vert^2 + \eta_t^2 \Vert \nabla f \left( x_t \right) \Vert^2 -2\eta_t \left( \frac{\alpha \beta}{\alpha + \beta} \Vert x_t - x^* \Vert^2 + \frac{\Vert \nabla f \left( x_t \right) \Vert^2}{\alpha + \beta} \right) \quad \quad (29) ∥xt+1−x∗∥2≤∥xt−x∗∥2+ηt2∥∇f(xt)∥2−2ηt(α+βαβ∥xt−x∗∥2+α+β∥∇f(xt)∥2)(29)
化简得:
∥ x t + 1 − x ∗ ∥ 2 ≤ ( 1 − 2 η t α β α + β ) ∥ x t − x ∗ ∥ 2 + η t ( η t − 2 α + β ) ∥ ∇ f ( x t ) ∥ 2 ( 30 ) \displaystyle \begin{array}{rcl} \Vert x_{t+1} - x^* \Vert^2 \leq& \left( 1 - 2\eta_t \frac{\alpha \beta}{\alpha + \beta} \right) \Vert x_t - x^* \Vert^2 + \eta_t \left( \eta_t - \frac{2}{\alpha + \beta} \right) \Vert\nabla f \left( x_t \right) \Vert^2 \end{array} \quad \quad (30) ∥xt+1−x∗∥2≤(1−2ηtα+βαβ)∥xt−x∗∥2+ηt(ηt−α+β2)∥∇f(xt)∥2(30)
因为 η t < 2 α + β {\eta_t <\frac{2}{\alpha + \beta}} ηt<α+β2,将右手边(RHS)得最后一项忽略,可以得到:
∥ x t + 1 − x ∗ ∥ 2 ≤ ( 1 − 2 η t α β α + β ) ∥ x t − x ∗ ∥ 2 ( 31 ) \displaystyle \Vert x_{t+1} - x^* \Vert^2 \leq\left( 1 - 2\eta_t \frac{\alpha \beta}{\alpha + \beta} \right) \Vert x_t - x^* \Vert^2 \quad \quad (31) ∥xt+1−x∗∥2≤(1−2ηtα+βαβ)∥xt−x∗∥2(31)
对 t t t 进行迭代,得:
∥ x t − x ∗ ∥ 2 ≤ ∥ x 0 − x ∗ ∥ 2 ∏ t = 1 T ( 1 − 2 η t α β α + β ) ( 32 ) \displaystyle \Vert x_t - x^* \Vert ^2 \leq \Vert x_0 - x^* \Vert ^2 \prod_{t=1}^T \left( 1 - \frac{2\eta_t \alpha \beta}{\alpha + \beta} \right) \quad \quad (32) ∥xt−x∗∥2≤∥x0−x∗∥2t=1∏T(1−α+β2ηtαβ)(32)
将式(32)代入 β − \beta- β− 光滑条件 (28),可得式(26),定理得证。
根据 ( 1 − x ) ≤ exp ( − x ) {(1-x) \leq \exp (-x)} (1−x)≤exp(−x),定理1 可以改写为下式:
f ( x k ) − p ∗ ≤ β 2 ∥ x 0 − x ∗ ∥ 2 e − 2 α β α + β ∑ t = 1 T η t ( 33 ) \displaystyle f \left( x_k \right) - p^* \leq \frac{\beta}{2} \Vert x_0 - x^* \Vert^2 e^{-\frac{2\alpha\beta}{\alpha+\beta}\sum_{t=1}^T \eta_t} \ \ \ \ \ \ \ \ \ \ (33) f(xk)−p∗≤2β∥x0−x∗∥2e−α+β2αβ∑t=1Tηt (33)
引理2:如果GD算法得步长为 η = 2 α + β \eta=\frac{2}{\alpha+\beta} η=α+β2 ,在 β − {\beta-} β−光滑 又是 α − {\alpha}- α−强凸条件下,满足:
f ( x t ) − p ∗ ≤ β 2 ( Q f − 1 Q f + 1 ) 2 t ∥ x 0 − x ∗ ∥ 2 ≤ β 2 exp ( − 4 t Q f + 1 ) ∥ x 0 − x ∗ ∥ 2 ( 34 ) \displaystyle \begin{array}{rcl} f \left( x_t \right) - p^* &\leq \frac{\beta}{2} \left( \frac{Q_f - 1}{Q_f + 1} \right)^{2t} \Vert x_0 - x^* \Vert^2 \\ &\leq \frac{\beta}{2} \exp \left( - \frac{4t}{Q_f+1} \right) \Vert x_0 - x^* \Vert^2 \end{array} \ \ \ \ \ \ (34) f(xt)−p∗≤2β(Qf+1Qf−1)2t∥x0−x∗∥2≤2βexp(−Qf+14t)∥x0−x∗∥2 (34)
这里, Q f = β α {Q_f = \frac{\beta}{\alpha}} Qf=αβ 为条件数。
证明:将 η = 2 α + β \eta=\frac{2}{\alpha+\beta} η=α+β2 代入定理1,式(26),得:
f ( x t ) − p ∗ ≤ β 2 ∏ t = 1 T ( 1 − 2 η t α β α + β ) ∥ x 0 − x ∗ ∥ 2 = β 2 ( 1 − 2 Q f + 1 ) 2 t ∥ x 0 − x ∗ ∥ 2 ≤ β 2 exp ( − 4 t Q f + 1 ) ∥ x 0 − x ∗ ∥ 2 ( 35 ) \displaystyle \begin{array}{rcl} f \left( x_t \right) - p^* &\leq \frac{\beta}{2} \prod_{t=1}^T \left( 1 - \frac{2\eta_t \alpha \beta}{\alpha + \beta} \right) \Vert x_0 - x^* \Vert^2 \\ &= \frac{\beta}{2} \left( 1 - \frac{2}{Q_f+1} \right)^{2t} \Vert x_0 - x^* \Vert^2 \\ & \leq \frac{\beta}{2} \exp \left( \frac{-4t}{Q_f+1} \right) \Vert x_0 - x^* \Vert^2 \end{array} \ \ \ \ \ \ (35) f(xt)−p∗≤2β∏t=1T(1−α+β2ηtαβ)∥x0−x∗∥2=2β(1−Qf+12)2t∥x0−x∗∥2≤2βexp(Qf+1−4t)∥x0−x∗∥2 (35)
得证。引理2说明在强凸和固定步长下,GD可以取得指数级得收敛率。但在凸分析中, exp ( − x ) \exp (-x) exp(−x)是线性收敛率(linear convergence), exp ( exp ( − x ) ) \exp (\exp(-x)) exp(exp(−x)) 是二次收敛率(quadratic convergence)。可以看出,收敛率取决于条件数 Q f = β α {Q_f = \frac{\beta}{\alpha}} Qf=αβ:大的条件数有小的收敛率。
逐步缩小步长
引理3: η t < c / t \eta_t
f ( x t ) − p ∗ ≤ β 2 t 2 c α β α + β ∥ x 0 − x ∗ ∥ 2 ( 36 ) \displaystyle f(x_t)- p^* \leq \frac{\beta}{2 t^{\frac{2c\alpha\beta}{\alpha+\beta}}}\|x_0 -x^*\|^2 \quad \quad (36) f(xt)−p∗≤2tα+β2cαββ∥x0−x∗∥2(36)
证明:将 代入式(33),根据 ∑ t = 1 T 1 / t ∼ log ( t ) {\sum_{t=1}^T 1/t \sim \log(t)} ∑t=1T1/t∼log(t),可得:
f ( x t ) − p ∗ ≤ β 2 ∥ x 0 − x ∗ ∥ 2 e − 2 c α β α + β log ( t ) ( 37 ) \displaystyle f \left( x_t \right) - p^* \leq \frac{\beta}{2} \Vert x_0 - x^* \Vert^2 e^{-\frac{2c\alpha\beta}{\alpha+\beta} \log(t)} \quad \quad (37) f(xt)−p∗≤2β∥x0−x∗∥2e−α+β2cαβlog(t)(37)
由(37)可得(36)。
该引理说明,随着 c c c 的增加,GDA可以取得多项式的收敛率。但对于太大的 c c c,在初始阶段可能违反 η t < 2 α + β \eta_t<\frac{2}{\alpha+\beta} ηt<α+β2。尽管算法在初始阶段可能会变慢,但对于大的 t t t,收敛率仍然可以由引理(3)给出: c k < 2 / ( α + β ) {\frac{c}{k} < 2/(\alpha+\beta)} kc<2/(α+β)。
这里,只分析了 GD 的收敛性,并没有分析在仅仅 Lipschitz 连续 (非凸) 下的情况,需要将梯度下降等式(5)代入 Lipschitz 连续的条件,然后逐项相加,分析T步的收敛情况,得到关于步长 η t \eta_t ηt 的级数,通过对该级数分析,就可以得到其最好最坏的收敛率,这种情况下的收敛率大概是次线性的(subliner convergence)。
其实,收敛率是由 f f f 决定的,但对 η t \eta_t ηt 级数的设计和修改可以加快收敛速度。
参考自这里。