本文为知乎答主,运筹学博士郝井华在「深度学习如何影响运筹学?」问题下的答案,AI 研习社获其授权转载。
这个问题比较前沿一些,原来看起来相关性不那么强的技术领域,机器学习 VS 运筹学,因为深度学习的发展和突破,变得联系越来越紧密了。本人是运筹学 PHD 出身,所以想从运筹学这个学科发展和演化的角度,谈一下自己的看法。
狭义的运筹学,往往特指采用 LP/MILP/MIP/QP/NP 等数学模型建模、采用精确算法/启发式算法在线求解并得到满意方案以及进行相关理论分析的一类技术。所以,运筹学最早是作为应用数学的一个分支,服务于人们解决各行各业优化问题的一类基本数学工具而存在的。从这个角度看,机器学习(包括深度学习),是运筹学的一个应用领域。例如,SVM 的训练过程,本质上是求解一个 SQP 问题;训练神经网络的梯度下降算法,是在使得训练误差极小化意义下的一个局部优化算法。推而广之,绝大部分机器学习模型的训练过程,都是首先将其建模为一个运筹学问题,然后采用相应算法来求解的。
除了机器学习这个应用领域外,运筹学还成功应用于很多行业。典型的有:量化投资(运筹学+金融)、工业产品规格&制造流程设计(如飞机结构设计)、生产计划优化(Planning&Scheduling)、配送路线规划/分单、动态定价等等。本质上,不管做什么工作,我们都有『把工作做得更好』的追求目标,而运筹学恰恰是实现这一目标的一类基础数学工具。
在使用运筹学来解决各行各业形形色色问题的过程中,研究者在理论和应用层面发展出了许多类型的优化算法,也解决了不少实际问题。各类运筹学的期刊、会议有很多,每年至少有几千篇论文、专利发表出来。然而,除了几十年前已经发展比较成熟的几类经典算法(凸规划算法、动态规划、若干图算法、信任域算法、元启发式算法等)之外,个人认为,在基础算法层面,并无太大的突破。人们对具有非线性、NP-Hard特点的大规模优化问题,仍然缺少好用的处理工具和通用求解算法,往往需要研究者结合领域知识,采用模型简化和变换、分而治之等办法来近似求解。
而深度学习的出现,为运筹学领域处理上述复杂优化问题提供了一个非常有效的技术途径。在深度学习和运筹学结合之前,在运筹学的学术研究圈里,已经出现了不少『运筹学+机器学习』的案例。例如,在工业产品设计领域常使用响应曲面法(RSM)、插值法来根据有限的实验数据点来建立模型并求解;进化算法大类中,EDA(Estimation of Distribution Algorithm) 算法通过一些机器学习模型来学习编码和目标函数之间的近似关系来提升迭代效率,等等。感兴趣的同学可以 Google 一下这个领域的论文。
EDA 之类的分布概率估计算法,思想非常好,但是后续并没有取得很大的成功,原因在于,复杂非线性优化问题的解空间往往非常『崎岖』,Landscape 非常复杂,通过一些常规的线性模型、核模型、神经网络等,很难对其解空间进行高精度的逼近。所以相应的优化算法,会有一些改进,但是很难有质的突破。
但是,在给定大量高质量数据的前提下,深度网络和深度学习算法展现出了相比较传统机器学习模型精准得多的逼近能力,能够提供高精度的逼近效果。从本质上说,这一点就是深度学习带给运筹学的最大影响。在合适的应用场景下,通过深度网络离线学习得到高质量的逼近模型,并把它和符合问题特点的优化算法相结合,将会带来意想不到的应用效果。我相信未来几年内,这方面的论文会涌现出一大批。
举个例子,博弈问题如围棋,就是一个典型的复杂优化问题。而 AlphaGo 成功的本质原因,是通过深度网络离线学习得到了对于状态和落子点价值的较为准确的评估,然后在线地和搜索算法(蒙特卡洛算法)相结合,取得了突破性的效果。
所以,回到最开始的问题上,我给出的结论是:1)运筹学学科的发展,需要在优化算法中越来越多的引入深度网络等机器学习工具,实现离线在线相结合,数据和机理相结合,以取得更好的应用效果,这是运筹学发展的必然趋势;2)运筹学和深度学习,并不是对立的两个概念&工具,在很多时候需要结合起来使用。
上海交通大学博士讲师团队
从算法到实战应用
涵盖 CV 领域主要知识点
手把手项目演示
全程提供代码
深度剖析 CV 研究体系
轻松实战深度学习应用领域!
▼▼▼
新人福利
关注 AI 研习社(okweiwu),回复 1 领取
【超过 1000G 神经网络 / AI / 大数据,教程,论文】
深度学习的教学和课程,与传统 CS 的教学和课程有什么区别?
▼▼▼