3.1局部极小值与鞍点笔记(Datawhale X 李宏毅苹果书AI夏令营)

首先,本节提出了一种优化失败的情况——随着参数不断更新,训练的损失不会再下降,但我们对这个损失仍然不满意。

这种情况出现的原因是,当参数对损失微分为零的时候,梯度下降就不能再更新参数了,训练就停下来了,损失不再下降了。

但该点梯度为零,有不止一种可能性。不仅可能是局部极小/大值,也有可能是鞍点。我们需要先确定是哪种情况,才能更好地解决问题。区分两者的方法,关键在于周围的点——局部极小值往四周走损失都会变高,而鞍点则有路可以让损失更低。

而对于损失函数的形状,可以通过泰勒级数近似得到:

L(θ)≈L(θ′)+(θ−θ′) Tg+1/2(θ−θ′)TH(θ−θ′)

而对于临界点来说,g为零,因此,损失函数近似为:

L(θ)≈L(θ′)+1/2(θ−θ′)TH(θ−θ′)

为了符号简洁,我们用向量 v 来表示 θ - θ′, (θ - θ′)T H (θ - θ′) 可改写为 vTHv,因此,只需要判断海森矩阵是正定矩阵,还是负定矩阵,还是有正有负即可。

但实际上,我们几乎不会真的把海森矩阵算出来,因为海森矩阵需要算二次微分,计算这个矩阵的运算量非常大,还要把它的特征值跟特征向量找出来,所以几乎没有人用这个方法来逃离鞍点。还有一些其他的方法可以告诉你往哪个方向走,运算量都比要算海森矩阵小很多。只是使用海森矩阵逃离鞍点的方法举例,从这个角度来看,鞍点似乎并没有那么可怕。

但实际上,我们训练不同神经网络并统计临界点的类别发现,我们几乎找不到所有特征值都为正的临界点。所以从经验上来说,局部极小值并没有那么常见,多数时候我们训练到一个梯度很小的地方,参数不再更新,往往只是遇到了鞍点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值