美文网首页AI+互联网+教育时间管理司马腾超级自控力学院
人工智能之深度学习——深度学习中的优化

人工智能之深度学习——深度学习中的优化

作者: e025d18cbaaa | 来源:发表于2018-10-15 18:11 被阅读12次

          除了正则化之外,优化也是深度学习需要解决的一个核心问题。由于深度神经网络中的隐藏层数目较多,因而将整个网络作为一个整体进行优化是非常困难的事情,需要花费大量的时间和计算力。出于效率和精确性的考虑,在深度学习的优化上需要使用专门的技术。

    人工智能之深度学习——深度学习中的优化

          出于可解性的考虑,传统机器学习算法往往会小心翼翼地选择代价函数和优化条件,将待优化问题转化为容易求解的凸优化问题。但在神经网络,尤其是在深度神经网络中,更一般的非凸情况是不可避免的,这就给深度学习中的优化带来很多额外的挑战。

          虽然存在着这样那样的潜在问题,但深度学习采用的依然是传统优化方法及其改进,这是由于隐藏层的未知特性使设计有针对性的优化方法变得非常困难。随机梯度下降法(stochastic gradient descent)就是在传统机器学习和深度神经网络中都能发挥作用的经典算法。

            在应用中,随机梯度下降会受到噪声的影响。当学习率固定时,噪声会阻止算法的收敛;而当学习率逐渐衰减时,噪声也会将收敛速度压低到次线性水平。降噪方法正是为了抑制噪声的影响应运而生,降噪的方式既包括提升单次梯度估计的精度,也包括提升迭代过程的精度,常用的算法包括动态采样、梯度聚合和迭代平均三类。

          动态采样和梯度聚合两类方法是通过使用固定的步长来获得线性的收敛速度,进而实现降噪。动态采样方法通过逐渐增加梯度计算中使用的子集容量来实现降噪,随着优化过程的进行,基于更多样本得到的梯度估计也就越​​来越精确。梯度聚合方法则将先前迭代中得到的梯度估计存储下来,并在每次迭代中对这些估计中的一个或多个进行更新,再通过将搜索方向定义为之前轮次中梯度估计的加权平均,来改善搜索方向的准确性。

          和前面两种方法相比,迭代平均方法不是通过对梯度估计求平均,而是对每次迭代得到的参数结果求平均来实现降噪。迭代平均方法可以在保证算法收敛性的前提下提升学习率,从而缩短收敛时间。这种方法在思想上更接近原始的随机梯度下降法,虽然它的收敛速度依然保持在次线性水平,却可以降低结果的方差,从而有效地对抗过拟合问题。

          前面三类方法的作用都是降低噪声的影响。要提升随机梯度下降法的性能,还可以通过使用二阶导数近似的信息来抑制高度非线性和病态目标函数的不利影响。在梯度下降法中应用的一阶导数不具有线性不变性,二阶导数的引入可以解决这一问题。另一方面,使用二阶导数意味着在使用泰勒展开近似目标函数时,二阶项的引入可以加快对最值点的逼近。总而言之,二阶导数近似方法主要的优势在于提升收敛速度。

            二阶导数近似方法都可以看成对传统的牛顿法的改进,具体方法包括拟牛顿法、高斯牛顿法和无 Hessian 牛顿法等,受篇幅限制,在此就不做展开介绍了。

          除了随机降噪和二阶导数近似这两大类主要方法之外,还有一些自立门户的算法也能够对随机梯度下降做出改进,典型的例子包括动量方法(momentum)、加速下降方法(accelerated gradient descent)和坐标下降方法(coordinate descent)。

    相关文章

      网友评论

        本文标题:人工智能之深度学习——深度学习中的优化

        本文链接:https://www.haomeiwen.com/subject/yscqzftx.html