北京普天同创生物科技有限公司

  • CNAS实验室认可证书
  • 标准物质定级证书
  • 豫南检测资质认定证书
  • 质量管理体系认证证书
  • 农产品资质证书
  • 伟业计量高企认证证书
  • 中国计量测试学会合作单位
新闻
  • 产品
  • 仪器
  • 新闻
  • 证书
  • 规程
  • 帖子
  • 课堂

在线客服

深度学习概述

发布时间:2018-10-18 00:00 作者:中国标准物质网 阅读量:1559

深度学习是新兴的一种多层神经网络学习算法,通过建立类似人脑的分层模型,对输入数据从底层到高层逐步提取特征,实现从底层信号到高层语义的良好映射,因此可以改善传统训练算法的局部最小性,从而引起了机器学习领域的广泛关注。目前深度学习在语音识别、图像语义分类、人脸识别以及视频目标跟踪等领域有了很好的应用。

13.3.1.1机器学习的发展过程

所谓机器学习就是使机器通过算法,从大量的数据中学习规律,从而可以实现对新样本进行智能识别或预测。20世纪80年代末以来,根据机器学习的模型的层次结构划分,机器学习的过程大致经历了两次浪潮,即浅层学习和深度学习。

在20世纪80年代末,用于人工神经网络的反向传播(Back Propagation, BP)算法的出现,给机器学习带来了希望,掀起了基于统计模型的机器学习热潮。利用BP算法可以使一个人工神经网络从大量训练样本中学习统计规律,从而对末知事件进行预测,此时的人工神经网络虽被称作多层感知机,但是这实际上是一种仅含一层隐层的浅层模型。
在20世纪90年代,最大熵、SVM与Boosting等各种浅层学习模型被陆续提出,这些模型基本上是一个隐层或者没有隐层。虽然这些模型在理论和应用中都取得了很大的成功,但是多层人工神经网络比较复杂,导致理论分析较难,而且训练方法又需要大量的技巧和经验,因此这个时期比较沉寂。

2006年,Hinton等人提出了深度学习概念,深度学习的概念源于人工神经网络的研究。深度学习是机器学习研究的一个新领域,具有多隐层的多层感知器就是深度学习的一种范例。深度学习通过建立具有多隐层的机器学习模型训练海量数据,并且训练过程中不依赖样本的标签信息,从而可以提高分类和预测的准确性,并且改善传统神经网络算法对复杂函数的表示能力有限的局限性,并且可以实现对非线性的自然信号的处理,比如自然语言处理、大数据特征提取、图像识别以及语音识别等方面。

目前深度学习的理论虽然处于起步阶段,但是在实际应用中已经取得了显著的成功。自2010年以来,微软研究院和谷歌的语音识别研究人员先后采用DNN技术降低语音识别错误率20%~30%,是语音识别领域10年来最大的突破性进展,2012年DNN技术在图像识别领域中取得惊人的效果,在Image Net评测上将错误率从26%降低到15% , 2013年DNN应用于制药公司的Druge Activit,预测问题,并取得了好成绩。

13.3.1.2深度学习理论框架

对训练样本进行有效的特征提取是很多人工智能问题得以有效解决的前提,然后选择合适的算法对测试样本进行分类或预测。特征选取的好坏对实验最终的结果有很大的影响,因此如何有效地选取特征对实际问题的解决至关重要。

在很多实际问题中,选取哪种特征是事先未知的,而且原始数据也会受到外在因素的影响,例如汽车的轮廓受观察者的角度影响等。类似的高层抽象的特征是很难从原始数据中进行直接提取,人工提取费时、费力,又需要经验值和技巧。但是深度学习可以实现在无监督条件下,不需人为干涉,实现自主地从原始数据中学习、提取出相应的特征。

1.深度学习的基本思想

假设系统S,它有n层(S1 ,…,Sn),输入为I,输出为O,若O=I,即输入I经过此系统后没有任何的信息损失,这标志着输入I经过每一层Si都没有任何的信息损失,或丢失冗余信息,保留有用信息,即在任何一层Si,它都是原输入I的另外一种表示形式。深度学习的基本思想就是多个层的堆叠,上一层的输出是下一层的输入,通过此种方式实现输入信息的分级表达。

分层的无监督特征学习是深度学习的重要基础,通过对特征进行逐层变换,实现样本在原空间的特征表示被映射到一个新的特征空间之中,通过大量简单的特征时间复杂表示的构建,从而消除对输入数据中的噪声,保留对学习任务有用的信息。

2.深度学习与神经网络

如图13-4所示,深度学习可以理解为神经网络的延伸和发展,是机器学习的一个新领域,通过构建模拟人脑进行分析学习的神经网络,模仿人脑机制解释数据,通过组合底层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示,具体训练过程如图13-5所示。

图13-4 不同人工智能方法关系图

图13-5 各类人工智能系统训练过程

通过图13-4和图13-5可以看出,深度学习与神经网络有着紧密的联系。两者的共同点在于深度学习依旧采用了类似神经网络的分层结构,系统是一个包含输入层、隐层(多层)、输出层的多层网络,其中每一层可以看作一个接近人脑结构的逻辑斯谛回归模型。

深度学习算法打破了传统神经网络对层数的限制,可根据设计者的需要选择网络层数。另外在训练问题上两者也不相同。传统的神经网络,采用BP算法通过梯度下降方法训练整个网络,即通过随机初始化初值,计算当前网络输出,然后根据实际输出和期望值来调节各层的权值,直至收敛。此种方法的问题是梯度逐渐稀疏,会出现梯度扩散现象,而且从顶层越往下误差校正信号越来越小,残差向前传播会丢失严重。而深度学习则是采用贪婪无监督逐层训练,当前一层训练完后,新的一层将前一层的输出作为输入并编码以用于训练;最后每层参数训练完后,在整个网络中利用有监督学习进行参数微调,可以很好地解决BP的缺陷,每次训练一层网络,同时使本层特征表示与其向上生成的高级表示以及该高级表示向下生成的特征表示尽量保持一致。

3.深度学习的训练过程

如果对所有层同时训练,时间复杂度会太高;如果每次训练一层,偏差就会逐层传递二这会面临跟上面监督学习中相反的问题,会严重欠拟合(因为深度网络的神经元和参数太多了)。

2006年,Hinton提出了在非监督数据上建立多层神经网络的一个有效方法,简单地说。分为两步:一是每次一训练一层网络;二是调优,使原始表示x向上生成的高级表示:和该高级表示r向下生成的x'尽可能一致。方法如下:

1)首先逐层构建单层神经元,这样每次都是训练一个单层网络。

2)当所有层训练完后,Hinton使用Wake-Sleep算法进行调优。

将除最顶层的其他层间的权重变为双向的,这样最顶层仍然是一个单层神经网络,而其他层则变为了图模型。向上的权重用于“认知”,向下的权重用于“生成”。然后使用Wake-Sleep算法调整所有的权重。让认知和生成达成一致,也就是保证生成的最顶层表示能够尽可能正确的复原底层的节点。比如顶层的一个节点表示人脸,那么所有人脸的图像应该激活这个节点,并且这个结果向下生成的图像应该能够表现为一个大概的人脸图像。Wake-Sleep算法分为醒(Wake)和睡(Sleep)两个部分。

1) Wake阶段:认知过程,通过外界的特征和向上的权重(认知权重)产生每一层的抽象表示(节点状态),并且使用梯度下降修改层间的下行权重(生成权重),也就是“如果现实跟我想象的不一样,改变我的权重使得我想象的东西就是这样的”。

2) Sleep阶段:生成过程,通过顶层表示(醒时学得的概念)和向下权重,生成底层的状态,同时修改层间向上的权重,也就是“如果梦中的景象不是我脑中的相应概念,改变我的认知权重使得这种景象在我看来就是这个概念”。
深度学习训练过程具体如下:

1)使用自下上升非监督学习(就是从底层开始,一层一层往顶层训练):采用无标定数据(有标定数据也可)分层训练各层参数,这一步可以看作一个无监督训练过程,是和传统神经网络区别最大的部分(这个过程可以看作特征学习过程)。

具体的,先用无标定数据训练第一层,训练时先学习第一层的参数(这一层可以看作得到一个使得输出和输入差别最小的3层神经网络的隐层),由于模型容量的限制以及稀疏性约束,使得得到的模型能够学习到数据本身的结构,从而得到比输入更具有表示能力的特征;在学习得到第n-1层后,将n-1层的输出作为第n层的输入,训练第n层,由此分别得到各层的参数。

2)自顶向下的监督学习(就是通过带标签的数据去训练,误差自顶向下传输,对网络进行微调):基于第一步得到的各层参数进一步微调整个多层模型的参数,这一步是一个有监督训练过程;第一步类似神经网络的随机初始化初值过程,由于DL的第一步不是随机初始化,而是通过学习输入数据的结构得到的,因而这个初值更接近全局最优,从而能够取得更好的效果,所以深度学习效果好很大程度上归功于第一步的特征过程。

文章来源:《多光谱食品品质检测技术与信息处理研究》

版权与免责声明:转载目的在于传递更多信息。

如其他媒体、网站或个人从本网下载使用,必须保留本网注明的"稿件来源",并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起两周内与本网联系,否则视为放弃相关权利。

评论

登录后才可以评论

立即登录
分享到微信
关闭
普天同创
请告知您的电话号码,我们将立即回电

通话对您免费,请放心接听

温馨提示:

1.手机直接输入,座机前请加区号 如18601949136,010-58103629

2.我们将根据您提供的电话号码,立即回电,请注意接听

3.因为您是被叫方,通话对您免费,请放心接听