深度学习的前世今生

导读

博主高考那年,自动化专业火热,然而在下偏偏选择了学计算机。庆幸的是近几年互联网发展迅猛,各行各业纷纷开始转CS(computer science)。CS专业方向上,前几年最为火热的莫过于前端、移动端,而如今深度学习炙手可热,学校里研究生随机抓一把,总有一个是搞深度学习的。当前业界深度学习风头正盛,本篇文章主要希望带大家了解下深度学习的前世今生,对其诞生及发展的背景有一个初步了解。

人工智能、机器学习和深度学习的关系

人工智能出现最早、范围最广;随后出现的是机器学习;最后是深度学习,也是当今人工智能大爆炸的核心驱动。

人工智能

起源

1956年,在美国的达特茅斯学院,John McCarthy(图灵奖得主)、Marvin Minsky(人工智能与认知专家、图灵奖得主)、Claude Shannon(信息论之父)、Allen Newell(计算机科学家)、Herbert Simon(诺贝尔经济学奖得主)等科学家聚在一起,正式提出了人工智能(Artificial Intelligence)的概念。

定义

人工智能,是计算机科学的一个分支,是一门研究机器只能的学科。即用人工的方法和技术来研制智能机器或智能系统,以此来模仿、延伸和扩展人的智能。

目的

人工智能的主要任务是建立智能信息处理理论,使计算机系统拥有近似于人类的智能行为。

低谷

人们为之振奋,而过于乐观的态度和当时人工智能技术不可避免的局限性使得大众对这一领域逐渐失去兴趣。1973年《莱特希尔报告》推出后,人工智能被普遍认为是没有出路的。

机器学习

起源

经历了10年沉寂,到了80年代,以专家系统为代表的机器学习开始兴起,人工智能进入第二个阶段。

定义

卡内基梅隆大学的Tom Michael Mitchell教授在1997年出版的书籍《Machine Learning》中对机器学习做了非常专业的定义:

如果一个程序可以在任务T上,随着经验E的增加,效果P也可以随之增加,则称这个程序可以从经验中学习。

目的

机器学习是一种”训练”算法的方式,目的是使机器能够向算法传送大量的数据,并允许算法进行自我调整和改进,而不是利用具有特定指令的编码软件例程来完成指定的任务。

低谷

而人们意识到不仅软件及算法层面的挑战没有突破,硬件层面也面临危机。随着1987年基于通用计算的Lisp机器在商业上的失败,机器学习也逐渐进入了低迷期。到了20世纪90年代后期,由于计算机计算能力的不断提高,人工智能再次卷土重来。

深度学习

起源

2006年研究人员发现了成功训练深层神经网络的方法,并将这一方法定义为深度学习。

定义

深度学习是基于多层神经网络的,以海量数据为输入的,规则自学习的方法。

优势

相较于传统机器学习,深度学习不再需要人工的方式进行特征提取,而是自动从简单特征中提取、组合更复杂的特征,从数据里学习到复杂的特征表达形式并使用这些组合特征解决问题。

劣势

深度学习不是万能的,像很多其他方法一样,它需要结合特型领域的先验知识,需要和其他方法结合才能得到最好的结果。
深度学习的另一个局限性是可解释性不强,像个”黑盒子”一样难以解释为什么能取的好效果,以及不知如何有针对性的去具体改进。

现状

深度学习凭借其出色表现,在各大领域掀起浪潮,引起了整个科研界和工业界的狂热。

小结

简单来说,机器学习是实现人工智能的方法;深度学习是实现机器学习的技术之一。

深度学习的发展历程

谈到深度学习的历史就不得不追溯到神经网络技术。在深度学习崛起之前,神经网络经历了两个低谷,这两个低谷也讲神经网络的发展分为了三个不同的阶段。

神经网络的第一次高潮

神经网络的第一次高潮是感知机带来的。
1957年,Frank Rosenblatt提出了感知机的概念,成为日后发展神经网络和支持向量积的基础。
感知机是一种用算法构造的”分类器”,是一种线性分类模型,原理是通过不断试错以期寻找一个合适的超平面把数据分开。
单层感知机

神经网络的第一次寒冬

虽然单层感知机简单且优雅,但它显然能力有限。1969年,Marvin Minsky在《Perceptrons》书中,证明感知机仅能分类线性问题,对于异或问题束手无策。
人们试图通过增加隐含层创造多层感知机,随着隐藏层的层数增多,区域可以形成任意形状,因此可以解决任何复杂的分类问题。
虽然多层感知机确实是非常理想的分类器,但是问题也随之而来:隐藏层的权值怎么训练?对于各隐藏层的节点来说,它们并不存在期望输出,所以也无法通过感知机的学习规则来训练多层感知机,人们一直没能找到可靠的学习算法来解决这一问题。
多层感知机

神经网络的第二次高潮

直到反向传播算法(BP算法)被提出,才真正解决了感知机的局限性,再一次将神经网络带向高潮。
1986年,Geoffrey Hinton和David Rumelhart合作在《自然》杂志上发表了论文《Learning Representations by Back-Propagating Errors》,第一次系统简洁地阐述了反向传播算法(BP算法)在神经网络模型上的应用。这一算法通过在神经网络里增加一个所谓的隐层(Hidden Layer),解决了感知机无法实现异或分类的难题。加之计算机运行速度的提高,使一层以上的神经网络进入了实用阶段。

神经网络的第二次寒冬

虽然BP算法将神经网络带入了实用阶段,但当时的神经网络仍存在很多缺陷。
首先是浅层的限制问题,人们发现神经网络中越远离输出层的参数越难以被训练,且层数越多问题越明显,称为”梯度爆炸”问题。
另外,当计算机资源不足的情况下,数据集都很小,无法满足训练深层网络的要求。

深度学习的来临

2006年,Hinton发表了一篇突破性的文章《A Fast Learning Algorithm for Deep Belif Nets》,论文中Hinton介绍了一种成功训练多层神经网络的办法,他将这种网络称为深度信念网络。
Hinton提出了两个观点:

多层人工神经网络模型有很强的特征学习能力,深度学习模型得到的特征数据对原始数据有更本质的代表性,这将大大便于分类和可视化问题。
对于深度神经网络很难训练达到最优的问题,可以采用逐层训练方法解决,将上层训练好的结果作为下层训练过程中的初始化参数。

总结

纵观技术兴衰史,潮起潮落。不知道未来是下一个寒冬先到来,还是强人工智能先出现,拭目以待。

参考资料

PaddlePaddle深度学习实战

发表评论

电子邮件地址不会被公开。 必填项已用*标注