深度学习会让机器学习工程师失业吗?

有人说,每10到15年神经网络就会经历一个这样的循环:由于人们变得对大规模凸优化问题兴致盎然,神经网络会被遗忘10年——然后换上一个性感的新名字(比如深度学习)、慢慢回到人们的视野中。

有人说,过去被视为对于中型到大型数据集来说最佳的预测算法的那些模型(比如说提升决策树(Boosted Decision Trees)和随机森林)将会变得无人问津。

还有人说,深度学习随着训练数据量增加,非常接近于能解决监督式学习问题,这一点会让一些学习算法接近出局的边缘。

这篇文章讨论深度学习和机器学习非常核心的话题:深度学习在中、大型数据集的有效应用,是否会让其他机器学习算法出局?

或者说,在深度学习快速扩张的情况下,总还有一些领域必须使用特定的机器学习算法,才能取得很好的训练效果?

我们来看看 Quora 上各位专家的讨论。

Jack Rae,Google DeepMind研究工程师


我打算特立独行一下,回答“是的”。我同意Jacob Steinhardt的评价——有一些例子里深度学习可能永远无法提供最强的预测力。但我认为,深度学习随着训练数据量增加,非常接近于能解决监督式学习问题,这一点会让一些学习算法接近出局的边缘。

过去几年的实证结果已经显示了深度学习在数据集足够大时能够提供最佳的预测力。这是真的吗?好吧,至少我不知道在过去这些年里当数据集超过1亿行时有什么算法能够击败深度学习(如果你知道这样的例子,请在下方评论里告诉我)。

即使当你的训练集没有那么大时,你也可以使用一些技巧来增加你的训练集大小(Sander Dielman有一个很棒的例子:http://benanne.github.io/2014/04/05/galaxy-zoo.html)来达到很高的预测力。

所以,我预期:过去被视为对于中型到大型数据集来说最佳的预测算法的那些模型(比如说提升决策树(Boosted Decision Trees)和随机森林)将会变得无人问津。

深度学习,或者更宽泛地说——使用联结主义架构的机器学习算法,另一个可能会让许多机器学习算法变成过去的原因是,深度学习算法还远远不是饱和状态。逻辑回归可以被调整吗,比如说增加一个新的连接函数(link function)或是其他什么东西来成为语音识别领域中位列前茅的算法?我对此表示怀疑。

在未来的几年里,很有可能会出现一些训练深度神经网络的方法,让它们能够显著提升性能。在优化方法、激活功能、联结结构以及初始化步骤之间,还有一些突破出现的空间。

Jacob Steinhardt,斯坦福AI博士在读

至少有两点让深度学习不会取代其他的机器学习算法:

1.对于许多应用来说,简单得多的算法——比如逻辑回归或是支持向量机——已经做得够好了。用深度学习网络来做这些事只会把问题变得复杂。

2.虽然深度学习网络是最好的、对领域不敏感的算法(domain-agnostic)之 一,如果一个人对某个领域有所了解,那么许多其他的算法(比如用于语音识别的HMM、用于图像的wavelets等等)是能够在表现上超过深度学习网络的。有一些将这些专用于某个领域的知识整合进神经网络模型的工作(比如http://www.socher.org/index.php/Main/ParsingNaturalScenesAndNaturalLanguageWithRecursiveNeuralNetworks),但这当然还不能够达到足以替代所有其他模型和算法的水平。

Tomasz Malisiewicz,vision.ai联合创始人,机器人学博士,计算机视觉专家

我预测,每10到15年神经网络就会经历一个这样的循环:由于人们变得对大规模凸优化问题兴致盎然,神经网络会被遗忘10年——然后换上一个性感的新名字(比如深度学习)、慢慢回到人们的视野中。我猜这种循环将会一直发生,只要Hinton、Lecun、Bengio还有他们的门徒们还活着(门徒的数量很可能以前所未有的速度增长)!

Carlos E. Perez,Alluviate联合创始人,软件架构师,机器学习

上图是一个1969年的感知器的透视图。我没办法找到Rosenblatt那张1957年的透视图了。半个多世纪过去了,我们仍然在辩论这个感知器是否会取代1957年以来所有已有的和尚未发明的其它机器学习算法。这相当于半个世纪的研究都被扔进了垃圾桶,因为这里面的想法是如此的简单又强大。

更麻烦的事实是,这个感知器甚至都不是实际上按照一个生物神经元的方法工作的。事实上它仅仅只是一个真实神经元的“卡通版本”。然而,它却出人意料得有效。事实上在1957年的时候它都算不上一个创新了。你对矩阵相乘的话最后得到的矩阵里那些元素都是点乘之和。矩阵的乘法大约出现在1812年。Sigmoid函数出现在1854年。事实上它只不过是一个线性函数加上一个非线性的激活(activation)函数。你可以用任何微分网络(differentiable network)解决同样的问题。事实上这就是一个让人惊讶的启发,使用简单的梯度下降方法来更新权重看上去对训练来说效果非常好。

这种方法的简单性以及它可以由许多层组成的特点,让它有了其他单层机器学习算法无法随意匹敌的能力。训练方法是极度模块化的,因为你需要做的所有事情就是让每一层网络都有所不同。更进一步的是,你能够利用数据中你知道的不变条件来改良训练效果。神经网络的组合型和模块性给了它一种可能无法被其他机器学习方法超越的优势(见Jack Rae和Subhasis Das答案中的那些例子)。

所以我得要谦虚地承认,这个粗鄙的感知器(现在被贴上了深度学习的新名字),将很难被击败。要知道,抨击长寿的东西是一件很困难的事情!

Subhasis Das,正在学习机器学习

虽然永远不可能存在一种“可以让一切竞争算法出局的算法”,但是在我看来,未来深度学习在语音、图像、自然语言处理等领域扮演最重要的角色几乎是肯定的了。其他的答案,特别是Jack Rae的答案,已经提到了这个观点,但我想要更详细地解释一下深度神经网络的一些特征,我觉得这些特征都是非常有用的优点。

概括和迁移学习:为ImageNet的图象识别任务而训练的深度神经网络,在这一方面已经保持了一段时间的领先。然而,一个非常有趣的事实是,这些网络生成的特征可以用来对很多种看上去无关的任务生成最先进的结果(比如CNN Features off-the-shelf的论文中所写的,文末附论文下载)。这意味着,现在,我作为一个在计算机视觉领域彻头彻尾的新手,可以简单地获取公开可得的、对ImageNet经过预训练的神经网络模型(比如可以从这里获取:https://github.com/BVLC/caffe/wiki/Model-Zoo),把第二高的层(the second highest layer)作为特征,将它应用到我想要的任务上——比如路人探测、猫咪探测、蓝裙子/金裙子识别等等。

使用和训练都很简单:深度学习框架正在渐渐增多,而且我认为,事实上从头开始写一个运行深度学习的脚本是程序员能做的最简单的事情之一。花里胡哨的东西并不多:这个领域才刚诞生,所以你连一周的时间都不用就能了解完最“前沿”的技巧和小贴士。训练也超级简单,没有什么让人眼花缭乱的东西,只有朴素陈旧的随机梯度下降法和反向传播(实际上只是符号微分法(symbolic differentiation)的炫酷新名字)。事实上,我认为,用来解决问题的神经网络通常会简单得多,因为你不需要去思考那些血淋淋的难弄的细节——应该选择哪些特征、如何提取这些特征等等(我同意,这一点是好是坏取决于你怎么看它)。

迅速向各领域扩张:好了,你可能要说,在语音或者自然语言处理的领域,深度学习做得怎么样?深度神经网络将原始的语音波谱作为输入(而不是MFCC),然后生成文本作为输出,已经在语音识别领域成为了表现最好的算法(比如深度语音,文末附论文下载)。语音识别的未来看上去已经很明确了。应用于翻译任务的序列到序列(sequence-to-sequence)深度神经网络模型,也很接近超越经过许多学者多年改良的最新式的基于短语的翻译模型的水平了。

所以,我觉得深度学习即将在这些领域中成为最大的玩家是一个很合理的推测。虽然无论是我还是其他任何人都不能预测到下一个10年过后一切会变成什么样,至少在即将到来的未来,深度学习将会取代其他一些竞争算法。

Charles H Matrin,Calculation咨询公司,我们预测事物

不。

但这里真正的问题是:

“是否所有的(机器)学习都是非凸性的?”

深度学习自身发展得并不是十分完善,通过运用传统的凸优化(convex optimization)和压缩感知(compressed sensing)的手段还可以对它做很多优化。

比如,最近的研究表明,做出NMF的简单凸公式(convenx formulation)是有可能的(见https://charlesmartin14.wordpress.com/2013/05/06/advances-in-convex-nmf-part-1-linear-programming/)。这在本质上是一种对矩阵分解的压缩感知,与稀疏模式的自动编码(sparse auto-encoder)非常相似。

这就让人开始猜想,如果将自动编码变得稀疏而凸性,是不是所有的自动编码都能从这种方式中受益。

比如,因为RBM格式的自动编码器使用的是对数分割公式(log partition formulation),它们可能可以用基于对Bethe Free Energy的凸近似的方法来重新表述,比如Meshi等人的论文中写的那样。

一个很好的例子是用WellSVM方法来进行半监督式以及弱标记的学习(Weakly Labeled Learning)。《从弱标记数据中学习》中(文末附资料下载),他们选择了从根本上看上去是非凸性的问题——直推式/半监督式支持向量机问题,然后用凸松弛将它转化为一个容易解决的上界下界问题。

这是将旧式的技术(也就是割面法,cutting plane method)与新式的对于凸优化的理解相组合的产物。

但这并不意味着所有的学习都是简单的,或者我们可以减少使用非线性和非凸性的方法。

对于更复杂的深度学习网络,我还没有被“所有学习都是非凸性的”所说服,因为凸优化本身是一个非常广阔的领域,而且已经有人展示出重新表述一个看上去非常非凸性的问题——作为凸优化的分子电子Schrodinger等式——是可能的,虽然这不能通过半定式编程的常规方法来解决(见http://news.uchicago.edu/article/2012/07/03/new-method-knocks-out-stubborn-electron-problem)。

如果量子化学是凸性的,为什么机器学习就不会是凸性的呢?

Mark Stoehr

对于这个问题已经有了许多出色的答案,但我还有一些意见:

1.“深度学习”是一个广阔的领域,这个词描述的东西更像是生成特征的元算法,而不是机器学习算法自身。

2.作为一种特征学习方法,它很有可能替代手工特征选取。未来的特征学习方法中可能始终会包含着一些深度学习的元素。

我并不非常确定,一个算法“取代其他所有的算法”这种事发生得有多频繁。算法上已经有了很大的进展:线性判别分析(Fisher)、感知器、逻辑回归、多层感知器、随机森林、增强(boosting)、支持向量机、核方法(kernel methods)等等。我们应该注意到,几乎所有这些算法都以某些形式或者形态与深度学习相结合、一起应用,其中深度学习提供数据样本中的特征,而其他算法也要应用在数据样本上。

然而,深度学习也改变了特征学习。虽然我们目前还不能说在计算机视觉领域可以不再使用HOG/SIFT、在语音领域可以不再使用MFCCs,但人们已经可以不依赖于HOG/SIFT就能在MNIST、ImageNet上获得最好的结果。

我的观点是,手工设计(hand-designed)的特征可能会走上八十年代专家系统(expert systems)的老路——并不是说它们会彻底消失,而是我们对新类型的数据进行运算时特征将来自于对训练集的学习,而不再是来自专家的直觉和知识。我的推理很简单:循环(cycles)比突触(synapses)更便宜,而深度学习可能将会展示出循环在构建特征方面可以和突触做得一样好、甚至更好。

我需要注明,我们还没有到达这个地步。在语音识别中,应用在波谱上的Mel Frequency过滤被是模型获得强劲表现所必需的预处理步骤,所以,将深度学习直接应用到音频信号上到目前为止还并不太成功。随着我们有计划地研究更强力的深度学习架构,我预测这一点将会在未来几年里得到改变。

Brian Quanz,机器学习博士,在搜索领域运用机器学习算法的研发人员

不,不同的问题将会始终有不同的最佳模型。要做的事情是找到最适合你的数据的那种方法。不存在对任何问题来说都是最佳方法的万能模型(也就是“天下没有免费的午餐”定理)。

每一种方法都有一些偏差(bias)和一些波动(variance),如果你的模型越接近真正的潜在模型(underlying model),那么平均来说你用这种方法能做到的效果就越好。一个基本的例子是,对于总体平均值做估算时,对所有样本做平均是一种常用的很好的估算方式,但这比起只会返回一个固定值作为平均值、大小又恰好等于潜在的真实平均值的估算来说,会有更高的风险(更大的错误概率)。

也就是说,用固定值来做估算会有很厉害的偏差、波动也相当小,但如果它恰好就是那个正确的值,那么它就会带来最好的表现。

核心观点是:

“天下没有免费的午餐”定理

http://www.statsblogs.com/2014/01/25/machine-learning-lesson-of-the-day-the-no-free-lunch-theorem/

http://www.aihorizon.com/essays/generalai/no_free_lunch_machine_learning.htm

http://no-free-lunch.org/

偏差-波动的权衡

http://en.wikipedia.org/wiki/Bias%E2%80%93variance_tradeoff

更多实际应用的例子:

1.比如说,如果对于一些输入的参数,你有一系列反应值(response values),你把这些数据画在图上,可以看到很清晰的线性变化的趋势。你是打算尝试用一个深度神经网络来学习模型呢,还是打算用一个简单的线性回归来做拟合?

2.从Kaggle机器学习竞赛中可以发现,表现最好的方法在各场比赛中都是不同 的,许多时候都能看到随机森林比深度学习方法表现更好。大部分时候,给出 最佳结果的方法都是许多不同类别方法的混合体。

3.虽然深度网络方法已经在图片分类之类的视觉学习任务中变得非常流行,我 却认为贝叶斯非参数性方法(比如潜在狄利克雷分配(Latent Dirichlet Allocati on)和层次狄利克雷过程(Hierarchical Dirichlet Process))一样也很流 行,并且对于处理文本数据很有效——虽然它的一些延伸也可以被认为是深度 学习,但和深度学习方法的视角是不同的——也就是说,它的生成过程看上去 没有深度学习那样黑盒,而更是一个概念模型(conceptual model)。

另外,在选择方法的时候还有许多其它问题需要考虑——一些人提到过,有时为了满足对于可解释性、资源局限、算法/软件复杂度、系统/软件可维护性、可扩展性等方面的特定需求,其他的方法可能会比深度学习方法更适合被选用。

Aapo Kyrola,卡内基梅隆大学博士生

事实上深度学习通常(或者说总是?)与基本的机器学习算法一起使用:深度网络是用来从原始数据(或者稍微处理过/正态化过的数据)中学习特征地图(feature map),然后SVM、逻辑回归、随机森林等等就会被用来在深度网络提供的特征向量的基础上完成分类的任务。特征值会由最终输出层的活动(activations)来给出。

比如,在那份Quoc V Le等人(与Google一起)的有名的“猫咪探测器”论文(文末附下载)中,他们使用了One-vs.-All逻辑分类器来进行最终的分类。

所以深度学习可能会慢慢取代特定功能的特征提取器(比如提取图片特征的SLIT),但在许多其他案例里它只是一个补充部分。

来源:Quora 译者:王婉婷 新智元(微信号:AI_era)

·氧分子网(http://www.yangfenzi.com)延伸阅读:

Facebook深度学习专家:未来的人工智能是怎样

诺蓝:大数据创业,数据哪里来?需要跨过几道坎?

MOOCs Coursera创始人吴恩达:翻转课堂

现在创业就去搞人工智能!风投们喜欢砸钱

颠覆的思考:互联网产品之间也能被重新定义

中国脑计划紧锣密鼓,类脑计算和类脑智能研究中心成立

分享给您的好友:

您可能还喜欢…