机器学习中的数学——深度学习优化的挑战:高原、鞍点和其他平坦区域

分类目录:《机器学习中的数学》总目录
相关文章:
· 病态
· 局部极小值
· 高原、鞍点和其他平坦区域
· 梯度消失和梯度爆炸
· 非精确梯度
· 局部和全局结构间的弱对应


对于很多高维非凸函数而言,局部极小值(以及极大值)事实上都远少于另一类梯度为零的点:鞍点。鞍点附近的某些点比鞍点有更大的代价,而其他点则有更小的代价。在鞍点处,Hessian矩阵同时具有正负特征值。位于正特征值对应的特征向量方向的点比鞍点有更大的代价,反之,位于负特征值对应的特征向量方向的点有更小的代价。我们可以将鞍点视为代价函数某个横截面上的局部极小点,同时也可以视为代价函数某个横截面上的局部极大点。
鞍点

多类随机函数表现出以下性质:低维空间中,局部极小值很普遍。在更高维空间中,局部极小值很罕见,而鞍点则很常见。对于这类函数 f : R n → R f:R^n\rightarrow R f:RnR而言,鞍点和局部极小值的数目比率的期望随 n n n指数级增长。我们可以从直觉上理解这种现象——Hessian矩阵在局部极小点处只有正特征值。而在鞍点处,Hessian矩阵则同时具有正负特征值。试想一下,每个特征值的正负号由抛硬币决定。在一维情况下,很容易抛硬币得到正面朝上一次而获取局部极小点。在n-维空间中,要抛掷n次硬币都正面朝上的难度是指数级的。

很多随机函数一个惊人性质是,当我们到达代价较低的区间时,Hessian矩阵的特征值为正的可能性更大。和抛硬币类比,这意味着如果我们处于低代价的临界点时,抛掷硬币正面朝上 n n n次的概率更大。这也意味着,局部极小值具有低代价的可能性比高代价要大得多。具有高代价的临界点更有可能是鞍点。具有极高代价的临界点就很可能是局部极大值了。以上现象出现在许多种类的随机函数中。

不具非线性的浅层自编码器,只有全局极小值和鞍点,没有代价比全局极小值更大的局部极小值。他们还发现这些结果能够扩展到不具非线性的更深的网络上,不过没有证明。这类网络的输出是其输入的线性函数,但它们仍然有助于分析非线性神经网络模型,因为它们的损失函数是关于参数的非凸函数。这类网络本质上是多个矩阵组合在一起。Saxe等人精确解析了这类网络中完整的学习动态,表明这些模型的学习能够捕捉到许多在训练具有非线性激活函数的深度模型时观察到的定性特征。Dauphin 等人通过实验表明,真实的神经网络也存在包含很多高代价鞍点的损失函数。Choromanska等人提供了额外的理论论点,表明另一类和神经网络相关的高维随机函数也满足这种情况。

对于只使用梯度信息的一阶优化算法而言,鞍点附近的梯度通常会非常小。另一方面,实验中梯度下降似乎可以在许多情况下逃离鞍点。Goodfellow等人可视化了最新神经网络的几个学习轨迹。这些可视化显示,在突出的鞍点附近,代价函数都是平坦的,权重都为零。但是他们也展示了梯度下降轨迹能够迅速逸出该区间。Goodfellow等人也主张,应该可以通过分析来表明连续时间的梯度下降会逃离而不是吸引到鞍点,但对梯度下降更现实的使用场景来说,情况或许会有所不同。
 神经网络代价函数的可视化
对于牛顿法而言,鞍点显然是一个问题。梯度下降旨在朝“下坡”移动,而非明确寻求临界点。而牛顿法的目标是寻求梯度为零的点。如果没有适当的修改,牛顿法就会跳进一个鞍点。高维空间中鞍点的激增或许解释了在神经网络训练中为什么二阶方法无法成功取代梯度下降。Dauphin et al.(2014)介绍了二阶优化的无鞍牛顿法(saddle-free Newton method),并表明和传统算法相比有显著改进。二阶方法仍然难以扩展到大型神经网络,但是如果这类无鞍算法能够扩展,还是很有希望的。除了极小值和鞍点,还存在其他梯度为零的点。例如从优化的角度看与鞍点很相似的极大值,很多算法不会被吸引到极大值,除了未经修改的牛顿法。和极小值一样,许多种类的随机函数的极大值在高维空间中也是指数级稀少。也可能存在恒值的、宽且平坦的区域。在这些区域,梯度和Hessian矩阵都是零。这种退化的情形是所有数值优化算法的主要问题。在凸问题中,一个宽而平坦的区间肯定包含全局极小值,但是对于一般的优化问题而言,这样的区域可能会对应着目标函数中一个较高的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

von Neumann

您的赞赏是我创作最大的动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值