优化算法
上图中,可以看出,确定性优化算法和随即优化算法是有明显的分界线的。如果加上分布式集群上的实现方式,就可以分为同步或异步的算法。从梯度下降(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
β、据初始点的距离和容忍集是否可逆。
注意:
- Lipschiz 连续一般都假设在 凸优化的基础上。
- β − \beta- β−光滑,凸都不能单独保证有好的收敛率,而 α − \alpha- α−强凸则可以保证有较快的收敛率。
- 梯度下降算法和数据的维度有线性关系。
α − \alpha- α−强凸
最优值
引理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<c/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)−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/(α+β)。
- 当目标函数是强凸函数时,梯度下降法的收敛速率是线性的;当目标函数是凸函数时,其收敛速率是次线性的 。 也就是说,强凸性质会大大提高梯度下降法的收敛速率 。 进一步地,强凸性质越好(即 α \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 级数的设计和修改可以加快收敛速度。
参考自这里。