深度学习的基本理论与方法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

深度学习的基本理论与方法目录•概述•动机•深度学习简介•深度学习的训练过程•深度学习的具体模型及方法•深度学习的性能比较•深度学习的应用•展望•参考文献•相关程序软件及链接概述•深度学习:一种基于无监督特征学习和特征层次结构的学习方法•可能的的名称:–深度学习–特征学习–无监督特征学习动机•良好的特征表达,对最终算法的准确性起了非常关键的作用;•识别系统主要的计算和测试工作耗时主要集中在特征提取部分;•特征的样式目前一般都是人工设计的,靠人工提取特征。Low-levelsensingPre-processingFeatureextract.FeatureselectionInference:prediction,recognition传统的模式识别方法:动机——为什么要自动学习特征•实验:LP-βMultipleKernelLearning–GehlerandNowozin,OnFeatureCombinationforMulticlassObjectClassification,ICCV’09•采用39个不同的特征–PHOG,SIFT,V1S+,RegionCov.Etc.•在普通特征上MKL表现有限结论:特征更重要动机——为什么要自动学习特征•机器学习中,获得好的特征是识别成功的关键•目前存在大量人工设计的特征,不同研究对象特征不同,特征具有多样性,如:SIFT,HOG,LBP等•手工选取特征费时费力,需要启发式专业知识,很大程度上靠经验和运气•是否能自动地学习特征?•中层特征中层信号:动机——为什么要自动学习特征“Tokens”fromVisionbyD.Marr:连续平行连接拐角物体部件:•他们对于人工而言是十分困难的,那么如何学习呢?动机——为什么要自动学习特征•一般而言,特征越多,给出信息就越多,识别准确性会得到提升;•但特征多,计算复杂度增加,探索的空间大,可以用来训练的数据在每个特征上就会稀疏。•结论:不一定特征越多越好!需要有多少个特征,需要学习确定。动机——为什么采用层次网络结构•人脑视觉机理1981年的诺贝尔医学奖获得者DavidHubel和TorstenWiesel发现了视觉系统的信息处理机制发现了一种被称为“方向选择性细胞的神经元细胞,当瞳孔发现了眼前的物体的边缘,而且这个边缘指向某个方向时,这种神经元细胞就会活跃动机——为什么采用层次网络结构•人脑视觉机理人的视觉系统的信息处理是分级的高层的特征是低层特征的组合,从低层到高层的特征表示越来越抽象,越来越能表现语义或者意图抽象层面越高,存在的可能猜测就越少,就越利于分类动机——为什么采用层次网络结构•视觉的层次性属性学习,类别作为属性的一种组合映射Lampertetal.CVPR’09类别标签属性图像特征动机——为什么采用层次网络结构•特征表示的粒度具有结构性(或者语义)的高层特征对于分类更有意义动机——为什么采用层次网络结构•初级(浅层)特征表示高层特征或图像,往往是由一些基本结构(浅层特征)组成的动机——为什么采用层次网络结构•结构性特征表示动机——为什么采用层次网络结构•浅层学习的局限人工神经网络(BP算法)—虽被称作多层感知机,但实际是种只含有一层隐层节点的浅层模型SVM、Boosting、最大熵方法(如LR,LogisticRegression)—带有一层隐层节点(如SVM、Boosting),或没有隐层节点(如LR)的浅层模型局限性:有限样本和计算单元情况下对复杂函数的表示能力有限,针对复杂分类问题其泛化能力受限。深度学习•2006年,加拿大多伦多大学教授、机器学习领域的泰斗GeoffreyHinton在《科学》上发表论文提出深度学习主要观点:1)多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类;2)深度神经网络在训练上的难度,可以通过“逐层初始化”(layer-wisepre-training)来有效克服,逐层初始化可通过无监督学习实现的。深度学习•本质:通过构建多隐层的模型和海量训练数据(可为无标签数据),来学习更有用的特征,从而最终提升分类或预测的准确性。“深度模型”是手段,“特征学习”是目的。•与浅层学习区别:1)强调了模型结构的深度,通常有5-10多层的隐层节点;2)明确突出了特征学习的重要性,通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易。与人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据的丰富内在信息。深度学习•好处:可通过学习一种深层非线性网络结构,实现复杂函数逼近,表征输入数据分布式表示。深度学习vs.神经网络神经网络:深度学习:深度学习vs.神经网络相同点:二者均采用分层结构,系统包括输入层、隐层(多层)、输出层组成的多层网络,只有相邻层节点之间有连接,同一层以及跨层节点之间相互无连接,每一层可以看作是一个logistic回归模型。不同点:神经网络:采用BP算法调整参数,即采用迭代算法来训练整个网络。随机设定初值,计算当前网络的输出,然后根据当前输出和样本真实标签之间的差去改变前面各层的参数,直到收敛;深度学习:采用逐层训练机制。采用该机制的原因在于如果采用BP机制,对于一个deepnetwork(7层以上),残差传播到最前面的层将变得很小,出现所谓的gradientdiffusion(梯度扩散)。深度学习vs.神经网络•神经网络的局限性:1)比较容易过拟合,参数比较难调整,而且需要不少技巧;2)训练速度比较慢,在层次比较少(小于等于3)的情况下效果并不比其它方法更优;深度学习训练过程•不采用BP算法的原因(1)反馈调整时,梯度越来越稀疏,从顶层越往下,误差校正信号越来越小;(2)收敛易至局部最小,由于是采用随机值初始化,当初值是远离最优区域时易导致这一情况;(3)BP算法需要有标签数据来训练,但大部分数据是无标签的;深度学习训练过程•第一步:采用自下而上的无监督学习1)逐层构建单层神经元。2)每层采用wake-sleep算法进行调优。每次仅调整一层,逐层调整。这个过程可以看作是一个featurelearning的过程,是和传统神经网络区别最大的部分。深度学习训练过程•wake-sleep算法:1)wake阶段:认知过程,通过下层的输入特征(Input)和向上的认知(Encoder)权重产生每一层的抽象表示(Code),再通过当前的生成(Decoder)权重产生一个重建信息(Reconstruction),计算输入特征和重建信息残差,使用梯度下降修改层间的下行生成(Decoder)权重。也就是“如果现实跟我想象的不一样,改变我的生成权重使得我想象的东西变得与现实一样”。2)sleep阶段:生成过程,通过上层概念(Code)和向下的生成(Decoder)权重,生成下层的状态,再利用认知(Encoder)权重产生一个抽象景象。利用初始上层概念和新建抽象景象的残差,利用梯度下降修改层间向上的认知(Encoder)权重。也就是“如果梦中的景象不是我脑中的相应概念,改变我的认知权重使得这种景象在我看来就是这个概念”。深度学习训练过程EncoderDecoderInputImageClasslabele.g.FeaturesEncoderDecoderFeaturesEncoderDecoderAutoEncoder:深度学习训练过程•第二步:自顶向下的监督学习这一步是在第一步学习获得各层参数进的基础上,在最顶的编码层添加一个分类器(例如罗杰斯特回归、SVM等),而后通过带标签数据的监督学习,利用梯度下降法去微调整个网络参数。深度学习的第一步实质上是一个网络参数初始化过程。区别于传统神经网络初值随机初始化,深度学习模型是通过无监督学习输入数据的结构得到的,因而这个初值更接近全局最优,从而能够取得更好的效果。深度学习的具体模型及方法•自动编码器(AutoEncoder)•稀疏自动编码器(SparseAutoEncoder)•降噪自动编码器(DenoisingAutoEncoders)深度学习的具体模型及方法EncoderDecoderInput(Image/Features)OutputFeaturese.g.Feed-back/generative/top-downpathFeed-forward/bottom-uppath•自动编码器(AutoEncoder)深度学习的具体模型及方法σ(Wx)σ(WTz)(Binary)Inputx(Binary)Featuresze.g.•自动编码器(AutoEncoder)EncoderfiltersWSigmoidfunctionσ(.)DecoderfiltersWTSigmoidfunctionσ(.)深度学习的具体模型及方法•稀疏自动编码器(SparseAutoEncoder)限制每次得到的表达code尽量稀疏限制每次得到的表达code尽量稀疏深度学习的具体模型及方法•稀疏自动编码器(SparseAutoEncoder)FiltersFeaturesSparseCodingInputPatch深度学习的具体模型及方法σ(Wx)DzInputPatchxSparseFeaturesze.g.EncoderfiltersWSigmoidfunctionσ(.)DecoderfiltersDL1SparsityTraining•稀疏自动编码器(SparseAutoEncoder)深度学习的具体模型及方法•稀疏自动编码器(SparseAutoEncoder)1)Training阶段:给定一系列的样本图片[x1,x2,…],我们需要学习得到一组基[Φ1,Φ2,…],也就是字典。可使用K-SVD方法交替迭代调整a[k],Φ[k],直至收敛,从而可以获得一组可以良好表示这一系列x的字典。深度学习的具体模型及方法•稀疏自动编码器(SparseAutoEncoder)2)Coding阶段:给定一个新的图片x,由上面得到的字典,利用OMP算法求解一个LASSO问题得到稀疏向量a。这个稀疏向量就是这个输入向量x的一个稀疏表达。深度学习的具体模型及方法•稀疏自动编码器(SparseAutoEncoder)深度学习的具体模型及方法•降噪自动编码器(DenoisingAutoEncoders)•在自动编码器的基础上,对训练数据加入噪声,自动编码器必须学习去去除这种噪声而获得真正的没有被噪声污染过的输入。因此,这就迫使编码器去学习输入信号的更加鲁棒的表达,这也是它的泛化能力比一般编码器强的原因。深度学习的具体模型及方法•Autoencoder(mostDeepLearningmethods)–RBMs/DBMs[Lee/Salakhutdinov]–Denoisingautoencoders[Ranzato]–Predictivesparsedecomposition[Ranzato]•Decoder-only–Sparsecoding[Yu]–DeconvolutionalNets[Yu]•Encoder-only–Neuralnets(supervised)[Ranzato]深度学习的具体模型及方法•限制波尔兹曼机(RestrictedBoltzmannMachine)•定义:假设有一个二部图,同层节点之间没有链接,一层是可视层,即输入数据层(v),一层是隐藏层(h),如果假设所有的节点都是随机二值(0,1值)变量节点,同时假设全概率分布p(v,h)满足Boltzmann分布,我们称这个模型是RestrictedBoltzmannMachine(RBM)。深度学习的具体模型及方法•限制波尔兹曼机(RestrictedBoltzmannMachine)•限制波尔兹曼机(RBM)是一种深度学习模型。深度学习的具体模型及方法•限制波尔兹曼机(RestrictedBoltzmannMachine)定义联合组态(jointconfiguration)能量:这样某个组

1 / 98
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功