RMSprop优化器,rmsprop( 二 )


1. 运筹学简介狭义的运筹学,往往特指采用LP/MILP/MIP/QP/NP 等数学模型建模、采用精确算法/启发式算法在线求解并得到满意方案以及进行相关理论分析的一类技术 。所以,运筹学最早是作为应用数学的一个分支,服务于人们解决各行各业优化问题的一类基本数学工具而存在的 。OR/optimization两个学科近年的复兴无疑需要归功于机器学习 。
2005年以来,Lasso等方法的提出正好契合了贝叶斯学习的精神;2010年,Boyd 在故纸堆中重新找出分布式ADMM用来求解带约束机器学习问题(矩阵分解等等),成为了传统机器学习的标准范式(objective regularization);2014年以来,深度学习的兴起则直接带火了一片一阶随机算法:ADAM/RMSprop 等 。
例如,SVM 的训练过程,本质上是求解一个 SQP问题;训练神经网络的梯度下降算法,是在使得训练误差极小化意义下的一个局部优化算法 。由此可以看出,绝大部分机器学习模型的训练过程,都是首先将其建模为一个运筹学问题,然后采用相应算法来求解的 。从这个角度看,机器学习(包括深度学习),是运筹学的一个应用领域 。
在使用运筹学来解决各行各业形形色色问题的过程中,研究者在理论和应用层面发展出了许多类型的优化算法,也解决了不少实际问题 。各类运筹学的期刊、会议有很多,每年至少有几千篇论文、专利发表出来 。然而,除了几十年前已经发展比较成熟的几类经典算法(凸规划算法、动态规划、若干图算法、信任域算法、元启发式算法等)之外, @郝井华 认为,在基础算法层面,并无太大的突破 。
人们对具有非线性、NP-Hard特点的大规模优化问题,仍然缺少好用的处理工具和通用求解算法,往往需要研究者结合领域知识,采用模型简化和变换、分而治之等办法来近似求解 。然而随着人们对深度学习研究的逐步深入,运筹学问题的求解初步的涌现出了新的思路 。本文将简单的介绍运筹学和深度学习的相互影响,以及近些年涌现出的一些比较有意思的研究成果 。
2. 深度学习对运筹学的影响深度学习的出现,为运筹学领域处理上述复杂优化问题提供了一个非常有效的技术途径 。在深度学习和运筹学结合之前,在运筹学的学术研究圈里,已经出现了不少『运筹学 机器学习』的案例 。例如,在工业产品设计领域常使用响应曲面法(RSM)、插值法来根据有限的实验数据点来建立模型并求解;进化算法大类中,EDA(Estimation of Distribution Algorithm)算法通过一些机器学习模型来学习编码和目标函数之间的近似关系来提升迭代效率,等等 。
感兴趣的同学可以 Google 一下这个领域的论文 。EDA之类的分布概率估计算法,思想非常好,但是后续并没有取得很大的成功,原因在于,复杂非线性优化问题的解空间往往非常『崎岖』,Landscape 非常复杂,通过一些常规的线性模型、核模型、神经网络等,很难对其解空间进行高精度的逼近 。所以相应的优化算法,会有一些改进,但是很难有质的突破 。
3. 深度学习与运筹学的对比首先,与传统运筹学关注的问题相比,一个典型的深度学习问题参数量(待求解的变量个数M)一般很大(例如,用于视觉识别的Alexnet参数量大约在100M这个量级),而凸优化算法一般能够高效解决的变量个数一般在1k-100k这个量级 。因为很多算法一旦涉及到求Hessian/Jacobian矩阵就会涉及到存储和计算效率问题了,这正是很多传统算法的瓶颈之处,而这也是新世纪以来一阶算法重新兴起的一个背景 。
正是由于这样的原因,LBFGS一度作为标准的优化算法在现代机器学习界应用较少:每步迭代需要一个O(M^2)变量的更新的代价太大了!其次,机器学习以及深度学习所伴随的数据集规模(N)一般也很大,例如标准视觉toy数据集ImageNet是120万*4096,而google,Amazon,阿里巴巴等大厂的的规模则是PB级别的,这甚至已经达到传统油田,大气,金融等问题的存储规模了 。

推荐阅读