梯度下降参数不收敛_批量梯度下降与随机梯度下降收敛性

梯度下降与随机梯度下降的收敛性分析

我们常常使用梯度下降算法来训练机器学习模型, 常见的梯度下降算法分为三种:

1 批量梯度下降(BGD): 每一次更新都使用所有的样本

2 随机梯度下降(SGD): 每一次更新只使用一个样本

3 小批量梯度下降(MBGD): 每一次更新使用m个样本,

, 其中n是总样本数

可以看到三种算法的差别主要是每次使用多少样本来进行梯度计算与参数更新, 本文将分别分析这三种算法的收敛性质, 并从收敛性与计算量上来比较两个算法的表现。

1 目标函数假设

我们给出几个之后要用到的对函数的假设, 我们的主要结果是针对convex function的, 同时也会有对non-convex情况的讨论。

Convexity

A function

is convex if dom f is a convex set and if for all x, y
and
, we have

这里我们假设目标函数是可微的, 所以我们更常用的是下面这个条件

Suppose a function

is differentiable. Then it is convex if and only if

-
Smooth:

A function

is said to be
-smooth if
.

c-strongly convex

A continuous differentiable function

is called c-strongly convex if there exists a constant
such that
Remark: 比起一阶凸函数充要条件, 这里的下界更紧, 多了一项

Remark: L-smooth 和 c-strongly convex 可以看成是对偶的两个假设, 因为我们有:


也就是两个二次函数分别控制住了上下界, 同时如果目标函数同时满足两个条件, 我们会有
.

Theorem 1.1

When

is convex, any
local minimizer
is a
global minimizer of
. If in addition
is differentiable, then any stationary point
is a global minimizer of
.

proof

第二部分是因为极小值必然是驻点. 现在我们假设

是极小值但不是最小值, 那么存在
s.t.
, 连接
, 因为
的定义域是convex的, 这条直线完全包含在
里且为

那么

对连结线上任意一点成立, 所以我们无法找到
的一个小邻域使得它是其中的最小点, 这和它极小性矛盾。

2 BGD

我们假定

-
Smooth及convex的, 那么我们有

Lemma 2.1 The algorithm will converge to a stationary point.

proof

Let

. Using
-smooth condition, we can write

We thus have

This inequality holds for each iteration which means that

This implies that the gradient tends to zero.

When f is convex, any local minimizer

is a global minimizer of
. If in addition
is differentiable, then any stationary point
is a global minimizer of
.

Therefore, for any convex

, we have proved that it converges to some solution.

Remark: 最小值点不一定唯一!

2.1 Convex case for BGD

Theorem 2.1

If we select

, we have

If we select
, we have
proof

我们知道BGD的update rule:


根据
-smooth条件
的任意性, 应用它到更新前后的两个点, 我们有(我们改写符号
)

or

Due to the convexity of
, we have
which leads to

We now plug (2) into (1) and write

By summing up the above inequality for
we have

Lemma 2.1 states that

by substituting
, we obtain

Thus by
, the inequality (3) implies that

If
, by (4), we have
Remark

may not converge to zero as optimal solution may not be unique.

2.2 Strongly convex case for SGD

我们进一步假设

-strongly convex 的, 我们先证明一个很有用的结果

Lemma 2.2

If

is
-strongly convex, we have
proof

where
follows by minimizing RHS with respect to
:
.

Lemma 2.3

If

is
-strongly convex, then
proof

To see this, we apply lemma 2.2 with

to obtain

Since
, we obtain

where the lemma follows.

Remark: Lemma 2.3 directly implies that the solution is unique.

Theorem 2.2

If

is
-smooth and
-strongly convex and BGD is run with
, then
proof

注意convex case里的(1)用到的

-smooth条件在这个定理也成立, 所以我们从这里开始证明:

最后一个不等号是对
反复迭代.

By selecting

, we have
.

Specially, we take

to obtain
. Hence the larger the condition number is, the quicker the convergent rate is.

3 SGD and MBGD

我们用一个统一的框架来证明这两个算法的收敛性质, 这两个算法可以统一的写为 SG 算法:

Choose an initial iterate w1
for k = 1,2,... do
Generate a realization of the random variable

​ Compute a stochastic vector

​ Choose a step size

​ update:

算法为了有一个统一的形式有一些抽象, 其中,

代表的是从训练集
中抽取的batch, 对SGD而言就是一个样本, 对mini-batch而言就是抽一个batch size的小样本集, 每次抽取都是独立的。

是算法的一个下降方向, 最常见的就是基于抽取的batch计算的梯度, 对于一些利用了二阶信息的算法例如牛顿法也是成立的:

如果你看过吴恩达的机器学习课程, 会知道SGD的优化路径一般比较崎岖, 并且迭代次数会更多一些, 这可以理解为每次它只用了一个样本, 抽取样本的随机性带来了噪声与方差, 也因为这一点, SGD的学习率
一般是需要逐渐衰减的。

Lemma 3.1 Under the L-smooth assumption, the iterates of SG satisfy the following inequality for all

:
proof

根据我们的假设, 更新规则满足:


其中等号是根据更新规则:
得到的, 在两边关于
取期望, 注意到
决定而与
无关, 就得到了结果.

Remark

这个引理是说, 不管SG的历史, 也就是

如何, 在得到
之后,
的更新所带来的目标函数下降量的期望有上界, 且这个上界和下面的量有关

1 更新的方向的期望:

(注意SGD是有随机性的, 它和每一步抽取的batch的具体实现有关)

2

的二阶矩

我们考虑SGD, 也就是每次只抽取一个样本, 那么

, 如果我们假定样本的抽取是均匀抽取, 那么

, 也就是说, SGD的梯度是batch-GD的全梯度的无偏估计, 那么

有了这个引理之后, 我们的证明思路是, 找到一个deterministic(没有随机性的量)作为引理右边的上界, 这样我们就知道, 每一次更新, 目标函数值都会下降的足够多, 从而使得迭代而言它能够最终在有限步里下降到最小值点。这启发我们需要对
的二阶矩进行一些限制

Assumption 3.1

We assume that the objective function

and SG satisfy the following:

1 The sequence of iterate

is contained in an open set over which
is bounded below by a scalar

2 There exists scalars

s.t.

3 There exists scalars
and
, s.t.,

第一个假设是说, 我们的目标函数在可行域里不会到负无穷去

第二个假设是说, 从期望来说,

是一个能提供充分下降的方向, 并且它的范数被目标函数的全梯度的范数控制, 特别考虑上面说的SGD的情况, 此时
是全梯度的无偏估计, 因此有条件成立, 参数为

此外, 对于

的第三种情况, 如果正定矩阵
的特征值都落在一个区间
内, 这个条件也满足

第三个假设是说,

的方差有上界(增长的阶), 例如, 如果
是一个 convex quadratic function(例如均方误差), 上面的假设说明, 我们允许
的方差在驻点不为0, 且在任意方向以 quadratic 形式增长。

这些假设蕴含我们对于

的二阶矩的限制:
Remark

Assumption 3.1 可以被替换为直接假设

Lemma 3.2

Under assumptions 3.1 and

-smooth assumption, the iterate of SG satisfy the following inequalities for all
proof

Lemma 3.1 告诉我们

Assumption 3.1的第二条:

代入到上面有

Assumption 3.1 蕴含
, 代入有
Remark

到此为止, 我们证明了, SG的过程类似Markov过程, 也就是不管历史是如何到达

的, 下一步更新只和
有关而和历史无关, 这体现在

被一个
deterministic quantity限制住了, 我们注意到, Lemma 3.2的结果里, 如果
充分小, 第一项一定是负的, 这一步更新的下降量是一个系数乘以
, 而第二项是正的, 所以SGD的收敛性证明需要仔细地选择合适的
来平衡这两项。

我们分别从两种step-size选择方式, 从Lemma 3.2起步往下证明。

3.1 SG: Strongly convex case with fixed step size

我们再次强调从Lemma 3.2的结果来看,

需要精细地选择并且衰减, 否则当
(发生在接近最小值点的时候), 如果
是固定的, 第一项趋于0, 第二项是一个正的常数, 那么此时更新将不会带来目标函数值的减少! 下面这个定理告诉我们, 如果使用一个固定的step-size序列, 我们只能得到近似的最优解

Theorem 3.1 Strongly convex objective with fixed stepsize

Under assumption 3.1 and assumptions of

-smooth and
-strongly convex, (we denote
by
), suppose that the SG method is run with a fixed step size
, satisfying

. Then, the expected optimality gap satisfies the following inequality for all
:

proof

首先注意到根据我们对

的限制,
, 所以我们从Lemma 3.2的结果开始, 利用这个放缩关系和Lemma 2.2

在两边同时减去
并等价变形, 然后在两边求全期望(从
开始的所有历史的期望)

两边同时减掉
, 得到

因为这个式子对
成立, 重复迭代就得到了结果

Remark 假设

的无偏估计, 那么
, 如果
没有噪声(M=0), 则假设
中的
也可以认为是1, 此时我们有
恰为最速下降法(steepest descent method)的固定步长。

Remark 如果

,
和 Theorem 3.1告诉我们, 当你距离最小值很远的时候, 算法是线性收敛的, 但是一旦接近最小值,
, 此时第二项因为
甚至会导致算法无法继续下降!

Remark 步长越小, 收敛速率越慢, 但是可以让算法更接近最小值点, 此外更小的步长意味着更多的迭代次数!

3.2 SG: Diminishing step-size for strongly convex objective

Theorem 3.2 Strongly convex objective with diminishing step-size

Under assumption 3.1 and assumptions of L-smooth and c-strongly convex (we denote

by
), suppose that the SG method is run with a step size sequence such that, for all
,

for some
and such that
. Then for all
, the expected optimality gap satisfies
proof

根据我们对step-size的假设, 有

. 我们从Lemma 3.2开始, 利用Lemma 2.2得到

在两边同时减去
并等价变形, 然后在两边求全期望(从
开始的所有历史的期望)

一直到这一步和fixed step-size是完全一样的, 事实上Theorem 3.1的证明是这里的特例:
. 我们继续用归纳法证明:

k = 1: 根据v的定义, 有

, 因此成立

假设对

成立

考虑

, 我们使用记号:

其中最后一个不等号是因为根据
的定义
以及
.

3.3 SG: Fixed step-size for nonconvex objective

现在我们假定

是L-smooth的, 并且满足假设 3.1, 那么

Theorem 3.3

Suppose that the SG algorithm is run with a fixed step size

for all
, satisfying
.

Then, the expected sum-of-squares and average-square gradients of

corresponding to the SG iterates satisfy the following inequalities for all
:

and therefore
proof

我们仍然从Lemma 3.2开始, 在两边求全期望, 并利用定理里

的范围:

此时因为没用了strongly-convex的条件, 所以Lemma 2.2不能用, 我们直接对
求和, 并注意到我们假设了: The sequence of iterate
is contained in an open set over which
is bounded below by a scalar

等价变形就得到结果.

Remark: 如果

或者二阶矩噪声随着
衰减, 则
, 这说明

如果

, 明方差计算的噪声阻止算法完全接近极小值点, 这和strongly-convex的情况是一致的.上述定理的极限
代表了步长和搜索方向方差的权衡, 更小的步长能更接近极小值点, 但是衰减项分母的
说明这要求更多的迭代次数
.

3.4 SG: Diminishing step-size for nonconvex objective

Theorem 3.4

Under assumptions 3.1 and assumption of L-smooth, suppose that the SG algorithm is run with a step size

for all
, satisfying

. Then, with
, one has
proof

首先我们注意到结论都是在考察极限情况(K有限的时候第一个结论显然是成立的), 而

说明
, 所以不失一般性, 我们可以假设

. (具体的说, 存在
,
, 然后前面有限项和肯定是有限的, 我们考察N后面的项, 证明过程完全一致, 因此我们不妨直接设
)

我们仍然从Lemma 3.2开始, 在两边求全期望, 并利用定理里

的范围:

求和得到

两边同时乘以
, 等价变形得到

sum_{k=1}^K E alpha_k |nabla f(w_k)|^2 leq frac{2(Ef(w_1)-f_{inf})}{mu}+frac{LM}{mu}sum_{k=1}^K alpha_k^2
因为
, RHS收敛, 就证明了第一个结论, 第二个结论来源于
.

Theorem 3.5

Under assumptions 3.1 and assumption of L-smooth, suppose that the SG algorithm is run with a fixed step size

for all
, satisfying

. Then one has
proof

这是Theorem 3.4的直接推论

Remark: 这个定理告诉我们: The expected gradient norms cannot stay bounded away from zero.

4 讨论

MBGD(BGD) and SGD 的区别在于随机方向的计算不同:

, 其中

我们知道样本均值的方差会乘一个

因子, 所以对于mini-batch方法它的方差更小, 相应的在Assumption 3.1 里的几个参数也会乘上一个这样的因子:

另一方面, 我们也付出了代价:

的计算量是SGD的
倍, 同时, 假设mini-batch SG使用固定的步长
, Theorem 3.1告诉我们

而SGD如果使用
作为步长将会得到

比较两个指数衰减因子, SGD需要运行
次才能得到和mini-batch SG差不多的结果, 所以总的运算量两个算法是基本一样的。

但是注意!!! 我们的算法分析里, 步长是有上界的, 所以不是任何时候都可以让mini-batch取SGD步长的

倍(考虑n非常的大, 而
, 此时显然会爆了步长的上界), 但是实际中mini-batch运用仍然很广泛, 这是因为它往往可以并行运算。

类似可以对衰减的步长算法进行分析。

5 Convergence rateR-rate of convergence

Suppose that

and
.

1 Superlinearly:


2

3 Linearly

4 Sublinearly

可以看到, 对凸函数, BGD次线性收敛, 对强凸函数, BGD线性收敛, SGD次线性(衰减步长)收敛.

我们在手写数字数据集上进行了实验,使用4万训练集,5000验证集,10000测试集,验证集上的损失与准确率结果如下

f5cbc26bbf16ae4e3fc59f7c649166c7.png

a435838a447af75065e02c001a5a05a5.png

13c48f3e20e2fc94fa00c0d6caf99c5b.png

尽管SGD在验证损失上表现的最好,准确率却不太行,可能是因为没有使用衰减的步长

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值