为什么优化算法在关键点较慢?

数据挖掘 梯度下降 损失函数 学习率
2022-02-15 06:18:30

我刚刚从 Alec Radford 的演示文稿中找到了下面的动画:

在此处输入图像描述

可见,所有算法在鞍点(导数为 0)处都会大大减慢,一旦退出,就会加速。常规 SGD 本身只是卡在鞍点上。

为什么会这样?不就是依赖于学习率的“运动速度”恒定值吗?

例如,常规 SGD 算法中每个点的权重为:

wt+1=wtvLw

其中是学习率,是损失函数。vL

简而言之,即使步长是恒定值,为什么所有优化算法都会被鞍点减慢?移动速度不应该始终相同吗?

1个回答

在该模拟中,移动速度代表步长。步长是学习率 (v)函数在该点的近似梯度 ( ) 的函数。学习率可以是恒定的。然而,近似梯度不是恒定的。近似梯度通常更接近临界点(即,谷开始逐渐变平)。因此,计算出的更新值变小,移动速度变慢。Lw