百面机器学习-随机梯度下降法失效的原因

​ 知识点:梯度下降法(Gradient Descent)、随机梯度下降法(Stochastic Gradient Descent)

​ 在深度学习中人们通常想到的优化方法就是随机梯度下降法。但是如果说只知道用随机梯度下降法来训练模型,那么当我们得到一个比较差的训练结果时就可能会放弃这个模型,但是造成训练效果差的原因可能并不是模型的问题,而是随机梯度下降法在优化过程中失效了,这就可能会错过一次新发现的机会。

批量梯度下降法与随机梯度下降法

​ 首先我想先说一下随机梯度下降法相比于批量梯度下降法的劣势。在批量梯度下降法中,我们求梯度的时候为了获取准确的梯度,我们会在批量梯度下降法的每一步都会把整个训练集载入进行计算,因此批量梯度下降法能够很稳定的去逼近最低点。而在随机梯度下降法中我们在每一步仅仅是随机采样一个或者说是少量的样本来估计当前的梯度,由于每一步我们接收到的信息量有限,随意梯度下降法对梯度的估计就会常常出现偏差,目标函数曲线就会收敛的很不稳定并且会有很剧烈的波动现象,甚至还会出现不收敛的情况。
这样批量梯度下降法就好比正常下山,而随机梯度下降法就好比蒙着眼睛下山。

随机梯度下降法失效的原因

​ 在随机梯度下降法和批量梯度下降法中,我们都知道局部最优点是一个普遍存在的陷阱。但是对于随机梯度下降法来说,山谷和鞍点两种地形比局部最优更可怕。
我们知道在山谷中准确的梯度方法方向是沿着山道向下,稍有偏离就会撞向山壁然后反弹,而粗糙的梯度估计就会使它在两个山壁之间来回的反弹,这样就会导致收敛不稳定和收敛速度慢。而在鞍点处,随机梯度下降法会走入一片平坦的地方,坡度不明显时就会很容易走错方向,同样的在梯度近乎为零的地方,随机梯度下降法也不能够准确的察觉出梯度的细微变化,这样梯度下降的过程就会停滞不前,随机梯度下降法就会失效。

本文结束 感谢您的阅读
坚持原创技术分享,您的支持将鼓励我继续创作!