什么是计算机视觉?

机器视觉是最常用的人工智能应用之一,比较好的介绍可以看维基百科。 https://en.wikipedia.org/wiki/Computer_vision计算机视觉(Computer Vision)就是利用计算机来处理图像,获得我们想要的信息。在人工智能领域,计算机视觉的含义则更近一步,不再是简单的获取图像和对图像进行简单的处理,如裁剪、缩放、滤波等,而是如何像人一样理解图像。

这一领域的先驱可追溯到更早的时候,但是直到20世纪70年代后期,当计算机的性能提高到足以处理诸如图像这样的大规模数据时,计算机视觉才得到了正式的关注和发展。比如下面这张图,在人的眼里,能很容易识别出一个男人、斑马线、黑色的背包、手机等等,同时还可以理解到这些物体之间的关系,一个背着黑色背包的男人正打着电话在过斑马线。

甚至还可以进行进一步的推理,如根据这个男人的着装,那么他可能是一个喜欢运动的人。但是在计算机的眼里则是从0到255的数字(像素的范围),对于彩色图像,还有三个通道。那么我们如何让机器也能同人一样能够识别和理解蕴含在图中语义信息,这就是计算机视觉要做的事情。计算机视觉的目前主要包括:最基础的如物体的检测和识别,在此基础上的动作姿态识别,物体跟踪,图像修复和增强等。

更进一步的则是图像理解的研究。比如下面这张图,首先需要识别出来图中存在的所有的物体,给他们标签。比如左图中,识别出来大象(elephant)、河流(river)等等,甚至包括描述性的信息如脏(dirty)、躺(laying),站立(standing)等。再对这些标签进行语义上的重组,构成一句话。而该图中仍然存在不少问题,如识别出了图中不存在的物体如马、人等。

深度学习如何影响运筹学?

作者简介: @郝井华:清华大学运筹学博士,现任美团配送算法架构师,美团点评研究员。@成丰:北京大学智能科学系 硕士 中国国际金融贸易创新发展战略合作研究中心 · 特聘研究员。胖骁: @胖骁 。 @刘嘉耿 :UCLA数学系毕业生。责任编辑: @文雨之 :东北大学系统工程博士生, @爱牛氓的帆爷 :东北大学系统工程硕士生 。

本篇文章是由以上四位作者在知乎上的优秀回答,通过两位责任编辑整理修改而成。同时两位审稿专家也提出了修改建议,并且扩展和补充了一部分内容。敬请关注和扩散本公众号及同名专栏,会邀请全球知名学者陆续发布运筹学、人工智能中优化理论等相关干货、知乎Live及行业动态:前言最近看到一篇回答,YouTube 已将视频推荐全面改用深度学习实现。

但传统上,推荐系统落在运筹学的范畴,可以归结为一个矩阵补全(matrix completion)问题,用半正定规划(SDP)里的方法,如非负矩阵分解(NMF)解决,而 YouTube 的结果显示深度学习的预测准确率比传统方法好很多、快很多。其他运筹学的问题(如广告搜索、路径规划、定价估值、仓储物流)、形式(如 LP、CP、SDP、MIP)、和方法(如内点法、割平面法)也会遇到这样来自深度学习的挑战吗?如果会的话,将如何影响?学界和业界有哪些已有的讨论和成果?文中提及回答:王科:YouTube 的视频推荐算法是怎样的?:http://t.cn/RQR9nhK这个问题比较前沿一些,原来看起来相关性不那么强的技术领域,机器学习 VS 运筹学,因为深度学习的发展和突破,变得联系越来越紧密了。

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级别的,这甚至已经达到传统油田,大气,金融等问题的存储规模了。

数据集大小方面带来的问题也是不可忽视的,一系列的随机算法(SGD-based method)、分布式算法被提出来应对这些问题。从计算难度的角度而言,油田、大气、金融等问题的计算一般都有很好的formulation,问题求解虽然不见得性质很好(例如解Levy Process因为跳的存在,也涉及到很多0-范数的问题,本质上还是NP-hard的),但是起码能够有一些理论的保证。

而深度学习由于问题极其扭曲(深),非线性程度很高,所以求解过程收敛速度和收敛性并没有任何的保证。当然最近也有一些在比较强的假设下,浅层的神经网络到达saddle point或者local minima的一些证明,但是计算上的问题还是一个根本的困难问题。然而,在给定大量高质量数据的前提下,深度网络和深度学习算法展现出了相比较传统机器学习模型精准得多的逼近能力,能够提供高精度的逼近效果。

从本质上说,这一点就是深度学习带给运筹学的最大影响。在合适的应用场景下,通过深度网络离线学习得到高质量的逼近模型,并把它和符合问题特点的优化算法相结合,将会带来意想不到的应用效果。我相信未来几年内,这方面的论文会涌现出一大批。从应用层面来说,机器学习在‘预测’上比传统运筹和统计模型表现好是必然的,原因是传统模型基于简单的假设,因为复杂的假设可能无法快速的解出最优解。

更多的参数意味着这更好的拟合程度,虽然有过拟合的风险,但机器学习模型可以通过模型增加正则化,Bagging, Boosting等一些列方式防止过拟合,从而达到很好的预测效果。当然了,预测好并不是一个模型的全部,相对于传统的统计模型所缺少的是可解释性和insight。4. 深度学习的发展举个例子,博弈问题如围棋,就是一个典型的复杂优化问题。

而AlphaGo 成功的本质原因,是通过深度网络离线学习得到了对于状态和落子点价值的较为准确的评估,然后在线地和搜索算法(蒙特卡洛树搜索算法)相结合,取得了突破性的效果。最近,机器学习界也在反思,Neural Network BP=AI这么一个打法究竟是否成立。Hinton直接就跳出来说:“BP在深度学习中不是必要的”,并且提出了一个叫Capsule的东西给大家思考。

包括我们也知道有很多non-gradient的方法(粒子群蚁群优化等,一度被小圈子玩坏的领域,但是在新时代有无重新兴起的可能?而OR也确实能够给机器学习界带来很大的帮助:例如,以SMO求解SVM等对偶方法现在已经是标准思路。5. 机器学习和整数规划结合的一些成果整数规划作为运筹学理论体系中很重要的一部分,对解决实际工业需求中的问题提供了强有力的建模方式,但机器学习模型可以通过模型增加正则化,Bagging, Boosting等一些列方式防止过拟合,从而达到很好的预测效果。

Branch-and-Bound(B


文章TAG:RMSprop  rmsprop  优化  
下一篇