局部极小值与鞍点,批量和动量 Datawhale X 李宏毅苹果书 AI夏令营

1,为什么随着参数的不断更新,损失无法降低?

当参数对损失微分为零的时候,梯度下降就不能再更新参数了,训练就停下来了,损失不再下降了,此时梯度接近于0。

我们把梯度为零的点统称为临界点(critical point)。损失没有办法再下降,也许是因为收敛在了临界点,临界点包括局部极小值,局部极大值和鞍点(梯度是零且区别于局部极小值和局部极大值(localmaximum)的点)

2,如果一个点的梯度接近于0,我们如何判断这个临界点的种类(即为局部极小值,局部极大值或是鞍点)?

判断临界函数的种类,需要用到损失函数。

如果给定某一组参数,比如 θ′,在 θ′ 附近的损失函数是有办法写出来的——虽然 L(θ) 完整的样子写不出来。θ′ 附近的 L(θ) 可近似为

L(θ) ≈ L(θ′)+(θ − θ′)^T*g +1/2(θ − θ′)^T *H(θ − θ′).(H为海森矩阵)

用向量 v 来表示 θ − θ′,(θ − θ′)^T H(θ − θ′)可改写为 v^T*Hv

(1)如果对所有 v,v^T*Hv > 0. 这意味着对任意 θ,L(θ) > L(θ′). 只要 θ 在 θ′ 附近,L(θ) 都大于 L(θ′). 这代表 L(θ′) 是附近的一个最低点,所以它是局部极小值。

(2)如果对所有 v,v^T*Hv < 0. 这意味着对任意 θ,L(θ) < L(θ′),θ′ 是附近最高的一个点,L(θ′) 是局部极大值。

(3)如果对于 v,v^T*Hv 有时候大于零,有时候小于零。这意味着在 θ′ 附近,有时候L(θ) > L(θ′),有时候 L(θ) < L(θ′). 因此在 θ′ 附近,L(θ′) 既不是局部极大值,也不是局部极小值,而是鞍点。

我们在计算的时候不可能带入所有的θ,我们只需要算出一个海森矩阵H,判断它的特征值即可。

若 H 的所有特征值都是正的,H 为正定矩阵,则 v^T*Hv > 0,临界点是局部极小值。若 H 的所有特征值都是负的,H 为负定矩阵,则 v^T*Hv < 0,临界点是局部极大值。若 H 的特征值有正有负,临界点是鞍点。

3,如何更新参数?

因为如果临界点在局部极小值,我们所在的位置已经是损失最低的点了,往四周走损失都会比较高,就没有路可以走了。

如果我们是在一个鞍点,虽然临界点的梯度为零,但是只要找出负的特征值,再找出这个特征值对应的特征向量。将其与 θ′ 相加,就可以找到一个损失更低的点。

4,局部极小值和鞍点的数目谁多谁少?

如果我们遇到损失无法降低的情况,通常有两种原因:损失仍然很高,却遇到了临界点而不再下降;或者损失降得很低,才遇到临界点。

最小值比例定义为:最小值比例 =正特征值数量/总特征值数量.

我们几乎找不到所有特征值都为正的临界点,代表只有约一半的特征值为正,另一半的特征值为负,代表在所有的维度里面有约一半的路可以让损失上升,还有约一半的路可以让损失下降。因此,局部极小值的比例远小于鞍点的值

5,如何逃离鞍点?

在讨论该问题的时候,我们需要认识批量和动量

批量:在计算梯度的时候,并不是对所有数据的损失 L 计算梯度,而是把所有的数据分成一个一个的小部分,这些小部分就叫做批量

动量:就跟我们学的物理一样,一个球从高处滚下来的时候,它并不一定会被鞍点或局部最小值卡住,如果将其应用到梯度下降中,这就是动量。

(1)批量梯度下降法,使用这种方法时,我们必须把所有训练数据都给看完,才能够计算损失和梯度,参数才能够更新一次。

适用情况:

当数据集较小且计算资源充足时,批量梯度下降法可以较为稳定地捕捉到最优解或接近最优解的位置,此时如果遇到鞍点,也有一定的机会逐渐逃离。

(2)随机梯度下降法,在该方法中,批量大小等于 1 意味着只要取出一笔数据即可计算损失、更新一次参数。所以,总共有几组数据,那么在每一个回合(遍历所有批量的过程称为一个回合)里,参数就会更新几次。

适用情况:

随机梯度下降法的更新方向具有一定的随机性,它在探索逃跑路线时更灵活,有可能更快地找到逃离鞍点的路径。

(3)动量法,引入动量后,每次在移动参数的时候,根据梯度的反方向加上前一步移动的方向决定移动方向。

对于复杂的模型和大规模数据集,动量法可以帮助更快地得到到较好的解,同时也有可能在遇到鞍点时更好地逃离。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值