《智能系统与技术丛书 深度学习实践:基于Caffe的解析》—1深度学习简介

举报
华章计算机 发表于 2019/05/31 00:36:03 2019/05/31
【摘要】 本书摘自《智能系统与技术丛书 深度学习实践:基于Caffe的解析》一文中的第1章,第1.1节,作者是薛云峰。

CHAPTER?1

第1章

深度学习简介

1.1 深度学习的历史

讲解深度学习,不得不提到人工神经网络,本书就先从神经网络的历史讲起,我们首先来看一下第一代的神经网络。

1. 第一代神经网络

       神经网络的思想最早起源于1943年的MCP人工神经元模型,当时是希望能够用计算机来模拟人的神经元反应过程,该模型将神经元简化为三个过程:输入信号线性加权、求和、非线性激活(阈值法)。

       第一次将MCP应用于机器学习(分类)的当属1958年Rosenblatt发明的感知器(perceptron)算法。该算法使用MCP模型对输入的多维数据进行二分类,并且还能够使用梯度下降法从训练样本中自动学习更新权值。1962年,感知器算法被证明为能够收敛(数学上在一定的范围之内,可以达到一个稳定的状态,也就是多次运行总能得到差不多的结果),理论与实践的效果引起了神经网络的第一次浪潮。

       然而到了1969年,美国数学家及人工智能先驱Minsky在其著作中证明了感知器算法本质上是一种线性模型,只能处理线性分类问题,就连最简单的XOR(异或)问题都无法正确分类。这相当于直接宣判了感知器算法的死刑,神经网络的研究也陷入了近20年的停滞期。这一时期是人工神经网络的第一次寒冬。

2. 第二代神经网络

       后来,现代深度学习技术大牛Hinton打破了非线性的诅咒,其在1986年发明了适用于多层感知器(MLP)的BP算法,并采用Sigmoid进行非线性映射,这有效地解决了非线性分类和学习的问题,该方法引起了神经网络的第二次热潮。

      1989年,Robert Hecht-Nielsen证明了MLP的万能逼近定理,即对于任何闭区间内的一个连续函数f,都可以用含有一个隐含层的BP网络来逼近,该定理的发现极大地鼓舞了神经网络的研究人员。

       也是在1989年,LeCun发明了卷积神经网络——LeNet,并将其用于数字识别,且取得了较好的成绩,不过当时这些成绩并没有引起足够的注意。

       值得强调的是,自1989年以后,由于没有特别突出的方法提出,且NN(神经网络)一直缺少相应的、严格的数学理论支持,研究神经网络的热潮渐渐冷却下去。1991年,BP算法被指出存在梯度消失问题,即在误差梯度后向传递的过程中,后层梯度会以乘性方式叠加到前层,由于Sigmoid函数的饱和特性,后层梯度本来就小,误差梯度传到前层时几乎为0,因此无法对前层进行有效的学习,该发现对当时NN的发展无异于雪上加霜,几乎降到了***。

3. 第三代神经网络

       2006年,Hinton提出了深层网络训练中梯度消失问题的解决方案:无监督预训练对权值进行初始化+有监督训练微调。其主要思想是首先通过自学习的方法学习到训练数据的结构(自动编码器),然后在该结构上进行有监督训练微调。但是由于没有特别有效的实验验证,因此该论文并没有引起重视。

       2011年,ReLU激活函数的提出能够有效地抑制梯度消失问题。

       2011年,微软首次将深度学习技术应用在语音识别上,取得了重大突破。

       2012年,Hinton课题组为了证明深度学习的潜力,首次参加ImageNet图像识别比赛,其团队通过构建的卷积神经网络(CNN)AlexNet一举夺得冠军,实力碾压第二名(SVM方法)的分类性能。也正是由于该比赛,CNN吸引到了众多研究者的注意。

       这里不得不提一下AlexNet的创新点,具体如下。

       1)AlexNet首次采用ReLU激活函数,极大地提高了收敛速度,并且从根本上解决了梯度消失问题。

       2)由于ReLU方法可以很好地抑制梯度消失问题,因此AlexNet抛弃了“预训练+微调”的方法,完全采用有监督训练。也正因为如此,深度学习技术的主流学习方法也变为了纯粹的有监督学习。

       3)扩展了LeNet5结构,添加Dropout层减小过拟合,LRN层增强泛化能力,并减小过拟合。

       4)首次采用GPU对计算进行加速。

       2006年到2012年可以说是神经网络的发展时期。

       2013年之后,深度学习大规模发展,各个企业开始使用深度学习解决各种各样的任务,尤其是在人脸识别领域,深度学习让之前不可用的人脸识别变得可以应用于商业产品了。

       2015年,Hinton、LeCun、Bengio论证了局部极值问题对于深度学习技术的影响,结果是Loss的局部极值问题对于深层网络来说其影响是可以忽略的。该论断也消除了笼罩在神经网络上的局部极值问题的阴霾。具体原因是虽然深层网络的局部极值非常多,但是通过深度学习技术的BatchGradientDescent优化方法很难达到局部最优,而且就算达到局部最优,其局部极小值点与全局极小值点也是非常接近的,但是浅层网络却不然,其拥有较少的局部极小值点,很容易达到局部最优,且这些局部极小值点与全局极小值点相差较大。论述原文其实没有给出证明,只是进行了简单的叙述,严密论证是猜想的。

       了解完深度学习的历史之后,本书接下来带大家看看目前主流的几个深度学习框架,其中还包括笔者最常使用的MXNet和Caffe两个框架,以及笔者个人特别喜欢的语言Lua实现的Torch框架,每个框架都有其自己的特色,大家可以根据自己的喜好来进行选择,本书将从Caffe入手知识来撰写。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。