机器学习之优化算法(二)之梯度下降及收敛性分析

优化算法

机器学习之优化算法(二)之梯度下降及收敛性分析_第1张图片
上图中,可以看出,确定性优化算法和随即优化算法是有明显的分界线的。如果加上分布式集群上的实现方式,就可以分为同步或异步的算法。从梯度下降(GD)后,20世纪50年代,各种一阶算法井喷,其中 SGD 也是这个时候的产物。

对算法的分析 可以分为一阶的还是二阶的,对偶的还是非对偶的,确定的还是随机的。
机器学习之优化算法(二)之梯度下降及收敛性分析_第2张图片

梯度下降

梯度下降(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(wwt)}(1)
假设 w = w t + 1 w=w_{t+1} w=wt+1,因为 w t − w t + 1 w_t-w_{t+1} wtwt+1 是一个小的矢量,因为太大的话(1)式就不成立了(泰勒公式),注意,这里 f ( w t ) f(w_t) f(wt) 是已知的。假设 w t − w t + 1 = η v w_t-w_{t+1}=\eta v wtwt+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) vf(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 AB=ABcosα,取 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 wtwt+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 wtwt+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)Tf(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+1x2=xtηf(xt)x2(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+1x2=xtx22ηf(xt)T(xtx)+η2f(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(xtx)2β1f(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(xtx)2β1f(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+1x2xtx2βηf(xt)2+η2f(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) =xtx2η(β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+1xt2
= − η ∣ ∣ ∇ 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)22βη2f(xt)2=η(12βη)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)]η(12βη)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(xtx)f(xn)xnx,即:
− ∣ ∣ ∇ 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)xtxf(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)]η(12βη)xtx2[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)1f(xt+1)f(x)1+x0x2η(12βη)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 x0x2>xtx2替换掉 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)1f(xt+1)f(x)1+x0x2η(12βη)(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)1f(x0)f(x)1x0x21tη(12βη)(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)1x0x21tη(12βη),即:
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)x0x2η(12βη)1t1(191)
如果,每步的 η \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)x0x2t=0t=n1ηt(12βηt)1(192)
这里,我们需要计算一个级数 ∑ 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=n1ηt(12βηt) 的收敛性分析了,而且这个级数越大越好,分析见推论2。

这里,我们使用(19-1),那么我们希望使得(19-1)取最小(损失最小),即 η ( 1 − β η 2 ) \eta(1-\frac{\beta\eta}{2}) η(12βη),取最大值,即 η = 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)t12βx0x2(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)x0x2(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=n1ηt(12βη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=0T1ηt(12βη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)x0x2(23)
这样,就产生了 l o g ( T ) log(T) log(T) 的收敛率,而不是 1 / T 1/T 1/T,如下图:
机器学习之优化算法(二)之梯度下降及收敛性分析_第3张图片

总步数

这里,我们假设优化算法从 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)(n1)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) ϵn1n(n1)2βR22βR2ϵ2βR2(24)

(24)表明最小步长为 2 β R 2 ϵ \frac{2\beta R^2}{\epsilon} ϵ2βR2 ,而该结果的收敛性直接依赖 Lipschiz 常数 β \beta β、据初始点的距离和容忍集是否可逆。
注意:

  • Lipschiz 连续一般都假设在 凸优化的基础上。
  • β − \beta- β光滑,凸都不能单独保证有好的收敛率,而 α − \alpha- α强凸则可以保证有较快的收敛率。
  • 梯度下降算法和数据的维度有线性关系。

α − \alpha- α强凸

最优值

引理1:如果 f 即是 β − {\beta-} β光滑 又是 α − {\alpha}- α强凸. 对于 ∀ x , y ∈ R n {\forall x,y \in {\mathbb R}^n} x,yRn
( ∇ 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α+βαβxy2+α+βf(x)f(y)2.(25)
定理1:假设 f {f} f β {\beta} β-光滑和 α {\alpha} α-强凸函数。 那么,GD的步长 η t ≤ 2 / ( α + β ) {\eta_t \leq 2/(\alpha+\beta)} ηt2/(α+β) 满足:
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)p2βt=1T(1α+β2ηtαβ)x0x2(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(xy)2βxy2 的条件中,得:

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(xkx)+2βxkx2(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βxkx2     (28)
∥ x t + 1 − x ∗ ∥ 2 {\Vert x_{t+1} - x^* \Vert^2} xt+1x2 服从等式(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+1x2=xtx2+ηt2f(xt)22ηtf(xt)T(xtx)(82)

使用引理等式(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+1x2xtx2+ηt2f(xt)22ηt(α+βαβxtx2+α+β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+1x2(12ηtα+βαβ)xtx2+η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+1x2(12ηtα+βαβ)xtx2(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) xtx2x0x2t=1T(1α+β2ηtαβ)(32)
将式(32)代入 β − \beta- β 光滑条件 (28),可得式(26),定理得证。

收敛率

根据 ( 1 − x ) ≤ exp ⁡ ( − x ) {(1-x) \leq \exp (-x)} (1x)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)p2βx0x2eα+β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)p2β(Qf+1Qf1)2tx0x22βexp(Qf+14t)x0x2      (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)p2βt=1T(1α+β2ηtαβ)x0x2=2β(1Qf+12)2tx0x22βexp(Qf+14t)x0x2      (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ηt<c/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)p2tα+β2cαββx0x2(36)
证明:将 代入式(33),根据 ∑ t = 1 T 1 / t ∼ log ⁡ ( t ) {\sum_{t=1}^T 1/t \sim \log(t)} t=1T1/tlog(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)p2βx0x2eα+β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/(α+β)

  • 当目标函数是强凸函数时,梯度下降法的收敛速率是线性的;当目标函数是凸函数时,其收敛速率是次线性的 。 也就是说,强凸性质会大大提高梯度下降法的收敛速率 。 进一步地,强凸性质越好(即 α \alpha α 越大) ,条件数 Q Q Q 越小,收敛越快 。
  • 光滑性质在凸和强凸两种情形下都会加快梯度下降法的收敛速率,即 β \beta β 越小(强凸情形下,条件数 Q Q Q 越小 ) ,收敛越快。

这里,只分析了 GD 的收敛性,并没有分析在仅仅 Lipschitz 连续 (非凸) 下的情况,需要将梯度下降等式(5)代入 Lipschitz 连续的条件,然后逐项相加,分析T步的收敛情况,得到关于步长 η t \eta_t ηt 的级数,通过对该级数分析,就可以得到其最好最坏的收敛率,这种情况下的收敛率大概是次线性的(subliner convergence)。

其实,收敛率是由 f f f 决定的,但对 η t \eta_t ηt 级数的设计和修改可以加快收敛速度。



参考自这里。

你可能感兴趣的:(深度学习,人工智能,优化)