深度学习的基本理论与方法_第1页
深度学习的基本理论与方法_第2页
深度学习的基本理论与方法_第3页
深度学习的基本理论与方法_第4页
深度学习的基本理论与方法_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、深度学习的基本理论与方法王雪2014年12月24日目 录概述深度学习简介深度学习的训练过程深度学习的具体模型及方法深度学习的应用总结展望参考文献概 述2012年6月,纽约时报披露了Google Brain项目,吸引了公众的广泛关注。这个项目是由著名的斯坦福大学机器学习教授Andrew Ng和在大规模计算机系统方面的世界顶尖专家Jeff Dean共同主导,用16000个CPU Core的并行计算平台训练一种称为“深层神经网络”(DNN,Deep Neural Networks)的机器学习模型,在语音识别和图像识别等领域获得了巨大的成功。2012年11月,微软在中国天津的一次活动上公开演示了一个全

2、自动的同声传译系统,讲演者用英文演讲,后台的计算机一气呵成自动完成语音识别、英中机器翻译,以及中文语音合成,效果非常流畅。据报道,后面支撑的关键技术也是DNN,或者深度学习(DL,Deep Learning)。2013年1月,在百度的年会上,创始人兼CEO李彦宏高调宣布要成立百度研究院,其中第一个重点方向就是深度学习,并为此而成立Institute of Deep Learning(IDL)。这是百度成立十多年以来第一次成立研究院。2013年4月,麻省理工学院技术评论杂志将深度学习列为2013年十大突破性技术(Breakthrough Technology)之首。百度首席科学家吴恩达2014年

3、12月19日表示,百度在深度学习领域的发展已经超过了谷歌与苹果,如果这项技术真具有划时代的革命意义,那么百度就此开启并且引领了语音2.0时代,也即是人工智能时代的一个重要分支,改变搜索,更改变交互。概 述深度学习:一种基于无监督特征学习和特征层次结构的学习方法可能的的名称:深度学习特征学习无监督特征学习概 述 良好的特征表达,对最终算法的准确性起了非常关键的作用;良好的特征表达,对最终算法的准确性起了非常关键的作用; 识别系统主要的计算和测试工作耗时主要集中在特征提取部分;识别系统主要的计算和测试工作耗时主要集中在特征提取部分; 特征的样式目前一般都是人工设计的,靠人工提取特征的样式目前一般都

4、是人工设计的,靠人工提取特征;特征; 手工选取特征费时费力,需要启发式专业知识,很大程度上靠手工选取特征费时费力,需要启发式专业知识,很大程度上靠经验和运气;经验和运气; 是否能自动地学习特征?是否能自动地学习特征?Low-level sensingPre-processingFeature extract.Feature selectionInference: prediction, recognition传统的模式识别方法:传统的模式识别方法:深度学习就是用来解答这个问题的!浅层学习浅层学习浅层学习浅层学习人工神经网络(人工神经网络(BPBP算法)算法)采用BP算法调整参数,即采用迭代算法

5、来训练整个网络。随机设定初值,计算当前网络的输出,然后根据当前输出和样本真实标签之间的差去改变前面各层的参数,直到收敛,整体是一个梯度下降法。神经网络神经网络的局限性:1)比较容易过拟合,参数比较难调整,而且需要不少技巧;2)训练速度比较慢,在层次比较少(小于等于3)的情况下效果并不比其它方法更优;深度学习深度学习20062006年,加拿大多伦多大学教授、机器年,加拿大多伦多大学教授、机器学习领域的泰斗学习领域的泰斗Geoffrey HintonGeoffrey Hinton在在科学科学上发表论文提出深度学习主上发表论文提出深度学习主要观点:要观点:1 1)多隐层的人工神经网络具有优异的)多隐

6、层的人工神经网络具有优异的特征学习能力,学习得到的特征对数特征学习能力,学习得到的特征对数据有更本质的刻画,从而有利于可视据有更本质的刻画,从而有利于可视化或分类;化或分类;2 2)深度神经网络在训练上的难度,可)深度神经网络在训练上的难度,可以通过以通过“逐层初始化逐层初始化”(layer-wise layer-wise pre-trainingpre-training)来有效克服,逐层初)来有效克服,逐层初始化可通过无监督学习实现的。始化可通过无监督学习实现的。采用采用逐层训练机制的原因在于如果采用逐层训练机制的原因在于如果采用BPBP机制,对于一个机制,对于一个deep networkd

7、eep network(7 7层层以上),残差传播到最前面的层将变以上),残差传播到最前面的层将变得很小,出现所谓的得很小,出现所谓的gradient gradient diffusiondiffusion(梯度扩散)。(梯度扩散)。深度学习本质:通过构建多隐层的模型和海量训练数据(可为无标签数据),来学习更有用的特征,从而最终提升分类或预测的准确性。 “深度模型”是手段,“特征学习”是目的。与浅层学习区别:1)强调了模型结构的深度,通常有5-10多层的隐层节点;2)明确突出了特征学习的重要性,通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易。与人工规则

8、构造特征的方法相比,利用大数据来学习特征,更能够刻画数据的丰富内在信息。深度学习好处:可通过学习一种深层非线性网络结构,实现复杂函数逼近,表征输入数据分布式表示。深度学习训练过程不采用BP算法的原因(1)反馈调整时,梯度越来越稀疏,从顶层越往下,误差校正信号越来越小;(2)收敛易至局部最小,由于是采用随机值初始化,当初值是远离最优区域时易导致这一情况;(3)BP算法需要有标签数据来训练,但大部分数据是无标签的;深度学习训练过程第一步:采用自下而上的无监督学习1)逐层构建单层神经元。2)每层采用wake-sleep算法进行调优。每次仅调整一层,逐层调整。 这个过程可以看作是一个feature l

9、earning的过程,是和传统神经网络区别最大的部分。深度学习训练过程wake-sleep算法:1 1)wakewake阶段:阶段: 认知过程,通过下层的输入特征(认知过程,通过下层的输入特征(InputInput)和向上的认知)和向上的认知(EncoderEncoder)权重产生每一层的抽象表示()权重产生每一层的抽象表示(CodeCode),再通过当),再通过当前的生成(前的生成(DecoderDecoder)权重产生一个重建信息)权重产生一个重建信息(ReconstructionReconstruction),计算输入特征和重建信息残差,使用梯),计算输入特征和重建信息残差,使用梯度下降

10、修改层间的下行生成(度下降修改层间的下行生成(DecoderDecoder)权重。也就是)权重。也就是“如果如果现实跟我想象的不一样,改变我的生成权重使得我想象的东西现实跟我想象的不一样,改变我的生成权重使得我想象的东西变得与现实一样变得与现实一样”。2 2)sleepsleep阶段:阶段: 生成过程,通过上层概念(生成过程,通过上层概念(CodeCode)和向下的生成()和向下的生成(DecoderDecoder)权)权重,生成下层的状态,再利用认知(重,生成下层的状态,再利用认知(EncoderEncoder)权重产生一个)权重产生一个抽象景象。利用初始上层概念和新建抽象景象的残差,利用梯

11、抽象景象。利用初始上层概念和新建抽象景象的残差,利用梯度下降修改层间向上的认知(度下降修改层间向上的认知(EncoderEncoder)权重。也就是)权重。也就是“如果如果梦中的景象不是我脑中的相应概念,改变我的认知权重使得这梦中的景象不是我脑中的相应概念,改变我的认知权重使得这种景象在我看来就是这个概念种景象在我看来就是这个概念”。深度学习训练过程EncoderDecoderInput ImageClass label.FeaturesEncoderDecoderFeaturesEncoderDecoder深度学习训练过程第二步:自顶向下的监督学习第二步:自顶向下的监督学习 这一步是在第一步

12、学习获得各层参数进的基础这一步是在第一步学习获得各层参数进的基础上,在最顶的编码层添加一个分类器(例如罗杰上,在最顶的编码层添加一个分类器(例如罗杰斯特回归、斯特回归、SVMSVM等),而后通过带标签数据的监督等),而后通过带标签数据的监督学习,利用梯度下降法去微调整个网络参数。学习,利用梯度下降法去微调整个网络参数。 深度学习的第一步实质上是一个网络参数初始深度学习的第一步实质上是一个网络参数初始化过程。区别于传统神经网络初值随机初始化,化过程。区别于传统神经网络初值随机初始化,深度学习模型是通过无监督学习输入数据的结构深度学习模型是通过无监督学习输入数据的结构得到的,因而这个初值更接近全局

13、最优,从而能得到的,因而这个初值更接近全局最优,从而能够取得更好的效果。够取得更好的效果。深度学习的具体模型及方法自动编码器( AutoEncoder )稀疏自动编码器(Sparse AutoEncoder)降噪自动编码器(Denoising AutoEncoders)深度置信网络( Deep Belief Networks DBN)卷积神经网络(CNNs)深度学习的具体模型及方法自动编码器( AutoEncoder )这个这个AutoEncoderAutoEncoder还不能用来分类数据,因为它还没有学习如何去连结一个输入和还不能用来分类数据,因为它还没有学习如何去连结一个输入和一个类。它只

14、是学会了如何去重构或者复现它的输入而已。在一个类。它只是学会了如何去重构或者复现它的输入而已。在AutoEncoderAutoEncoder的最顶的最顶的编码层添加一个分类器(例如罗杰斯特回归、的编码层添加一个分类器(例如罗杰斯特回归、SVMSVM等),然后通过标准的多层神等),然后通过标准的多层神经网络的监督训练方法(梯度下降法)去训练。我们需要将最后层的特征经网络的监督训练方法(梯度下降法)去训练。我们需要将最后层的特征codecode输输入到最后的分类器,通过有标签样本,通过监督学习进行微调,这也分两种入到最后的分类器,通过有标签样本,通过监督学习进行微调,这也分两种深度学习的具体模型及

15、方法自动编码器( AutoEncoder )只调整分类器(黑色部分)通过有标签样本,微调整个系统:(如果有足够多的数据,这个是最好的。end-to-end learning端对端学习) 在研究中可以发现,如果在原有的特征中加入这些自动学习得到的特征可以大大提高精确度,甚至在分类问题中比目前最好的分类算法效果还要好!深度学习的具体模型及方法稀疏自动编码器(Sparse AutoEncoder)在在AutoEncoderAutoEncoder的基础上加上的基础上加上L1L1的的RegularityRegularity限制(限制(L1L1主主要是约束每一层中的节点中大部分都要为要是约束每一层中的节点

16、中大部分都要为0 0,只有少数不,只有少数不为为0 0,这就是,这就是SparseSparse名字的来源)名字的来源)在计算机视觉中,稀疏性的约束是使在计算机视觉中,稀疏性的约束是使得学习到的表达更有意义的一种重要约得学习到的表达更有意义的一种重要约束;束;深度学习中要优化的参数非常多,如深度学习中要优化的参数非常多,如果不加入稀疏性的约束往往会使得学习果不加入稀疏性的约束往往会使得学习到的权重矩阵为单位矩阵,这样就失去到的权重矩阵为单位矩阵,这样就失去了深度的意义了深度的意义 深度学习的具体模型及方法降噪自动编码器(Denoising AutoEncoders) 在自动编码器的基础上,对训练

17、数据加入噪声,自动编码器必须学习去去除这种噪声而获得真正的没有被噪声污染过的输入。因此,这就迫使编码器去学习输入信号的更加鲁棒的表达,这也是它的泛化能力比一般编码器强的原因。深度学习的具体模型及方法限制波尔兹曼机(Restricted Boltzmann Machine)玻尔兹曼机 ( Boltzmann machine) 本质上是一种能量模型 。限制条件是在给定可见层或者隐层中的其中一层后, 另一层的单元彼此独立。定义:假设有一个二部图,同层节点之间没有链接,一层是可视层,即输入数据层(v),一层是隐藏层(h),如果假设所有的节点都是随机二值( 0,1值)变量节点,同时假设全概率分布p(v,

18、h)满足Boltzmann 分布,我们称这个模型Restricted BoltzmannMachine (RBM)。深度学习的具体模型及方法限制波尔兹曼机(Restricted Boltzmann Machine)输入v的时候,通过p(h|v) 可以得到隐藏层h,而得到隐藏层h之后,通过p(v|h)又能得到可视层,通过调整参数,我们就是要使得从隐藏层得到的可视层v1与原来的可视层v如果一样,那么得到的隐藏层就是可视层另外一种表达,因此隐藏层可以作为可视层输入数据的特征用近似极大似然随机梯度下降算法训练 BM, 通常用蒙特卡罗马尔可夫链( Monte-Carlo Markov chain, MC

19、MC) 方法来得到模型样例限制波尔兹曼机(RBM)是一种深度学习模型。深度学习的具体模型及方法深度置信网络(Deep Belief Networks)-DBNDeep Belief Networks是在靠近可视层的部分使用贝叶斯信念网络(即有向图模型),而在最远离可视层的部分使用Restricted Boltzmann Machine的模型。深度学习的具体模型及方法卷积波尔兹曼机(Convolutional RBM) CRBM是为识别二维图像信息而特殊设计的一个多层感知器。卷积限制玻尔兹曼机的基本思想是使用卷积的方式使得图像各个像素共享一组滤波器滤波器卷积(权重矩阵、偏置顶共享)特点:特征提取

20、是不用考虑局部特征位置;减少了要学习的参数数量最大池采样:对图像进行分块,取每一块的最大(或平均值),实现了平移不变性深度学习的具体模型及方法卷积神经网络( ConvolutionalConvolutional Neural Neural Networks Networks )CNNsCNNCNN的优点:的优点:1 1、避免了显式的特征抽取,而隐式地从训练数据中进、避免了显式的特征抽取,而隐式地从训练数据中进行学习;行学习;2 2、同一特征映射面上的神经元权值相同,从而网络可、同一特征映射面上的神经元权值相同,从而网络可以并行学习,降低了网络的复杂性;以并行学习,降低了网络的复杂性;3 3、采

21、用时间或者空间的子采样结构,可以获得某种程、采用时间或者空间的子采样结构,可以获得某种程度的位移、尺度、形变鲁棒性;度的位移、尺度、形变鲁棒性;3 3、输入信息和网络拓扑结构能很好的吻合,在语音识、输入信息和网络拓扑结构能很好的吻合,在语音识别和图像处理方面有着独特别和图像处理方面有着独特优势,成为这两方面的研优势,成为这两方面的研究热点。究热点。卷积限制玻尔兹曼机逐层叠加,卷积限制玻尔兹曼机逐层叠加, 就得到卷积神经网络就得到卷积神经网络深度学习的应用p语音识别语音识别语音识别系统长期以来,在描述每个建模单元的统计概率模型时,大多采用的是混合高斯模型(GMM)。微软研究院语音识别专家邓立和俞

22、栋从2009年开始和深度学习专家Geoffery Hinton合作。2011年微软宣布基于深度神经网络的识别系统取得成果并推出产品,彻底改变了语音识别原有的技术框架。百度在实践中发现,采用DNN进行声音建模的语音识别系统相比于传统的GMM语音识别系统而言,相对误识别率能降低25%。最终在2012年11月,百度上线了第一款基于DNN的语音搜索系统,成为最早采用DNN技术进行商业语音服务的公司之一。Google也采用了深层神经网络进行声音建模,是最早突破深层神经网络工业化应用的企业之一。深度学习的应用p图像识别图像识别 图像是深度学习最早尝试的应用领域。早在1989年,Yann LeCun (现纽

23、约大学教授) 和他的同事们就发表了卷积神经网络(Convolution Neural Networks, 简称CNN)的工作。但是在大规模的图像上效果不好所以没有得到计算机视觉领域的足够重视。 直到2012年10月 Geoffrey Hinton和他的两个学生在著名的ImageNet问题上用更深的CNN取得世界最好结果,使得图像识别大踏步前进。在Hinton的模型里,输入就是图像的像素,没有用到任何的人工特征。 百度在2012年底将深度学习技术成功应用于自然图像OCR识别和人脸识别等问题,并推出相应的桌面和移动搜索产品,2013年,深度学习模型被成功应用于一般图片的识别和理解。深度学习的应用深

24、度学习在图像识别上的应用空间金字塔(空间金字塔(Spatial Pyramids Spatial Pyramids )深度学习的应用深度学习在图像识别上的应用总结深度学习是关于自动学习要建模的数据的潜在(隐含)分布的多层(复杂)表达的算法。换句话来说,深度学习算法自动的提取分类需要的低层次或者高层次特征。高层次特征,一是指该特征可以分级(层次)地依赖其他特征,例如:对于机器视觉,深度学习算法从原始图像去学习得到它的一个低层次表达,例如边缘检测器,小波滤波器等,然后在这些低层次表达的基础上再建立表达,例如这些低层次表达的线性或者非线性组合,然后重复这个过程,最后得到一个高层次的表达。Deep learning能够得到更好地表示数据的feature,同时由于模型的层次、参数很多,capacity足够,因此,模型有能力表示大规模数据,所以对于图像、语音这种特征不明显(需要手工设计且很多没有直观物理含义)的问题,能够在大规模训练数据上取得更好的效果。此外,从模式识别特征和分类器的角度,deep learning框架将feature和分类器结合到一个框架中,用数据去学习feature,在使用中减少了手工设计feature的巨大

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论