如何将其困在鞍点上?


14

目前,我对如何在鞍点处捕获小批量梯度下降感到有些困惑。

解决方案可能太琐碎,以至于我不明白。

你会得到一个新的样品每一个时代,并计算基于新的一批新的错误,所以成本功能仅适用于每一批静态这意味着梯度也应该为每个小批量根据改变..但这个应该香草的实施是否有鞍点问题?

最小化神经网络常见的高度非凸误差函数的另一个关键挑战是避免陷入其众多次优局部最小值中。Dauphin等。[19]认为困难实际上不是由局部极小值引起的,而是由鞍点引起的,即一维向上倾斜而另一维向下倾斜的点。这些鞍点通常被相同误差的平稳段包围,这使得SGD很难逃脱,因为在所有维度上梯度都接近于零。

我的意思是,随着SGD趋于收敛,特别是SGD相对于鞍点将具有明显的优势...波动和随机采样以及每个时期的成本函数不同,应该足以成为避免陷入困境的充分原因。

对于整批梯度,体形确实有意义,因为误差函数是恒定的,所以可以将其困在鞍点中。

我对其他两个部分有些困惑。


1
Moti明白了。坡度非常高且被零坡度包围的鞍点会引发梯度下降,并大步进入“荒地”,使其无法恢复。考虑在基本平坦的平原上寻找井。现在考虑一下干燥的井,并以蚁丘为中心。降落在蚁丘上但不在确切顶部的梯度下降将使搜索径向展开。现在假设搜索的步长比井的直径大一千倍。如果搜索发现过的很好,蚁丘芽它蒙大拿
EngrStudent -恢复莫妮卡

我很困惑你的要求。您是否感到困惑,为什么SGD会由于SGD的继承噪声而无法陷在鞍点,因此您认为它应该能够逃脱?(与满批次GD不同,如果梯度为零且没有噪声,那么它就无法逃脱,这是您的要求吗?)
Pinocchio

Answers:


16

看看下面来自Off Convex的图像。在凸函数(最左边的图像)中,只有一个局部最小值,这也是全局最小值。但是在非凸函数(最右边的图像)中,可能存在多个局部最小值,并且经常将两个局部最小值合并在一起是一个鞍点。如果从较高的点接近,则坡度会相对平坦,并且有被卡住的风险,尤其是仅在一个方向上移动时。

鞍点的图解表示

现在的事情是,是否要使用迷你批处理进行优化或随机梯度下降,底层的非凸函数是相同的,并且梯度是此函数的属性。进行小批量处理时,您一次要考虑多个样本,并对所有样本取平均的梯度步长。这减少了方差。但是,如果平均梯度方向仍指向与鞍点相同的方向,那么您仍然有被卡住的风险。打个比方,如果您向前走2步,向后退1步,将这些结果取平均值,您最终将向前走1步。如果改为执行SGD,则要一个接一个地执行所有步骤,但是如果您仍沿一个方向移动,则可以到达鞍点,并且发现所有梯度都相当平坦,步长为太小,无法越过平坦部分。这不

看一下这里的可视化。即使使用SGD,如果波动仅沿一维发生,并且步长越来越小,它将在鞍点处收敛。在这种情况下,小批量方法只会减少波动量,而无法更改渐变的方向。

SGD 有时摆脱简单的鞍点,如果波动其它方向,如果步骤的规模大到足可以平整度走了过来。但是有时鞍形区域可能会非常复杂,例如下图所示。

复杂的鞍区

考虑过去的梯度,动量,ADAGRAD,Adam等方法能够突破这种情况。考虑动量,

vŤ=γvŤ-1个+ηŤHËŤ一种Ĵθ

vŤ-1个


好吧,不完全是!有关实际答案的信息,请参见: stats.stackexchange.com/a/284399/117305
加利福尼亚州

@AliAbbasinasab我认为锑解释得很好。当然,很难像您在答案中提到的那样,陷入一个普通的鞍点,但他只是表明有可能被SGD抓住。而对我来说,他只是展示了一些SGD无法逃脱的异常鞍点。
富田和也(Kazuya Tomita)

2

它不应该。

[ 1 ]已经表明,具有随机初始化适当的恒定步长的梯度下降不会收敛到鞍点。这是一个漫长的讨论,但让您了解为什么看到以下示例:

FXÿ=1个2X2+1个4ÿ4-1个2ÿ2

在此处输入图片说明

ž1个=[00]ž2=[01个]ž3=[0-1个]

ž2ž3ž1个

ž0=[X0]ž1个ž1个X[R2

2FXÿ=[1个003ÿ2-1个]

2Fž1个XXž1个


您可以轻松地选择一个反例函数,每次您都会陷在鞍点中……
Jan Kukacka

1
我无法访问您的链接[1]-您能否提供完整的引用?同时,有可能为您的索赔构建反例,表明它必须基于其他未陈述的假设。
ub

@whuber,您可以轻松编写反例。例如,如果您只有一行作为空间。我只是试图添加一个对许多人来说可能并不明显的观点(最初对我而言,为什么并不那么明显)。关于参考资料,我不知道为什么您无法获得它。我仔细检查了该链接是否有效,并对其进行了更新。您可以搜索``梯度下降收敛到最小化器,Jason D.Lee,Max Simchowitz,Michael I.Jordan†和Benjamin Recht†Electrical电气工程和计算机科学系†加拿大加利福尼亚大学伯克利分校统计系,2019年4月19日“
加利福尼亚,

感谢您的参考。快速浏览一下(链接现在可以使用),表明分析仅限于“严格鞍形”(黑森州的特征值既有正值也有负值),这排除了许多可能性。本文的最终陈述包括“我们注意到,在严格的鞍形条件失效的情况下,存在非常困难的无约束优化问题”,并且以四次最小化为例。
ub

0

如果您查阅参考文献(它们还从经验上证明了微型批次SGD的无鞍方式确实可以改善),他们会指出:

梯度下降法的一个步骤始终指向正确的方向,即靠近鞍点……因此,在与绝对值小的特征值相对应的方向上采取较小的步骤。

他们还注意到在鞍点附近存在“高原”(换句话说,鞍并不陡峭)-在这种情况下,过小的步长确实会导致在脱离鞍区之前过早收敛。由于这是非凸优化,因此学习率的收敛会使情况变得更糟。

似乎有可能尝试一种迭代方法,即一旦完成了小批量SGD(即重新设置学习率),就重新启动小批量SGD,以查看是否可以摆脱问题区域。


0

我认为问题在于,当接近鞍点时,您会进入平稳状态,即具有低(绝对值)梯度的区域。尤其是当您从山脊驶近时。因此,您的算法会减小步长。现在,随着步长的减小,所有梯度(所有方向)的绝对值都较小。所以算法停止了,以为是最小的。

如果您不减少步骤,那么您将跳过最低限度,并错过很多。您必须以某种方式减小步长。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.