深度学习的基本理论与方法.pptx
《深度学习的基本理论与方法.pptx》由会员分享,可在线阅读,更多相关《深度学习的基本理论与方法.pptx(98页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、深度学习的基本理论与方法成科扬2013年10月30日目 录概述动机深度学习简介深度学习的训练过程深度学习的具体模型及方法深度学习的性能比较深度学习的应用展望参考文献相关程序软件及链接概 述深度学习:一种基于无监督特征学习和特征层次结构的学习方法可能的的名称:深度学习特征学习无监督特征学习动 机良好的特征表达,对最终算法的准确性起了非常关键的作用;良好的特征表达,对最终算法的准确性起了非常关键的作用;识别系统主要的计算和测试工作耗时主要集中在特征提取部分;识别系统主要的计算和测试工作耗时主要集中在特征提取部分;特征的样式目前一般都是人工设计的,靠人工提取特征。特征的样式目前一般都是人工设计的,靠
2、人工提取特征。Low-level sensingPre-processingFeature extract.Feature selectionInference:prediction,recognition传统的模式识别方法:传统的模式识别方法:动 机为什么要自动学习特征实验:LP-Multiple Kernel LearningGehler and Nowozin,On Feature Combination for Multiclass Object Classification,ICCV09采用39 个不同的特征PHOG,SIFT,V1S+,Region Cov.Etc.在普通特征上MK
3、L表现有限结论:特征更重要动 机为什么要自动学习特征机器学习中,获得好的特征是识别成功的关键目前存在大量人工设计的特征,不同研究对象特征不同,特征具有多样性,如:SIFT,HOG,LBP等手工选取特征费时费力,需要启发式专业知识,很大程度上靠经验和运气是否能自动地学习特征?中层特征中层信号:动 机为什么要自动学习特征“Tokens”from Vision by D.Marr:连续平行连接拐角物体部件:他们对于人工而言是十分困难的,那么如何学习呢?动 机为什么要自动学习特征一般而言,特征越多,给出信息就越多,识别准确性会得到提升;一般而言,特征越多,给出信息就越多,识别准确性会得到提升;但特征多
4、,计算复杂度增加,探索的空间大,可以用来训练的数据在但特征多,计算复杂度增加,探索的空间大,可以用来训练的数据在每个特征上就会稀疏。每个特征上就会稀疏。结论:不一定特征越多越好!需要有多少个特征,需要学结论:不一定特征越多越好!需要有多少个特征,需要学习确定。习确定。动动 机机为什么采用层次网络结构为什么采用层次网络结构人脑视觉机理人脑视觉机理1981年的诺贝尔医学奖获得者 David Hubel和TorstenWiesel发现了视觉系统的信息处理机制发现了一种被称为“方向选择性细胞的神经元细胞,当瞳孔发现了眼前的物体的边缘,而且这个边缘指向某个方向时,这种神经元细胞就会活跃动动 机机为什么采
5、用层次网络结构为什么采用层次网络结构人脑视觉机理人脑视觉机理人的视觉系统的信息处理是分级的高层的特征是低层特征的组合,从低层到高层的特征表示越来越抽象,越来越能表现语义或者意图抽象层面越高,存在的可能猜测就越少,就越利于分类动动 机机为什么采用层次网络结构为什么采用层次网络结构视觉的层次性属性学习,类别作为属性的一种组合映射 Lampert et al.CVPR09类别标签属性图像特征动动 机机为什么采用层次网络结构为什么采用层次网络结构特征表示的粒度具有结构性(或者语义)的高层特征对于分类更有意义动动 机机为什么采用层次网络结构为什么采用层次网络结构初级(浅层)特征表示高层特征或图像,往往是
6、由一些基本结构(浅层特征)组成的动动 机机为什么采用层次网络结构为什么采用层次网络结构结构性特征表示动动 机机为什么采用层次网络结构为什么采用层次网络结构浅层学习的局限浅层学习的局限人工神经网络(BP算法)虽被称作多层感知机,但实际是种只含有一层隐层节点的浅层模型SVM、Boosting、最大熵方法(如LR,Logistic Regression)带有一层隐层节点(如SVM、Boosting),或没有隐层节点(如LR)的浅层模型局限性:有限样本和计算单元情况下对复杂函数的表示能力有限,针对复杂分类问题其泛化能力受限。深度学习20062006年,加拿大多伦多大学教授、机器学习领域年,加拿大多伦多
7、大学教授、机器学习领域的泰斗的泰斗Geoffrey HintonGeoffrey Hinton在在科学科学上发表论文提上发表论文提出深度学习主要观点:出深度学习主要观点:1 1)多隐层的人工神经网络具有优异的特征学习能力,)多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画,从而有学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类;利于可视化或分类;2 2)深度神经网络在训练上的难度,可以通过)深度神经网络在训练上的难度,可以通过“逐层逐层初始化初始化”(layer-wise pre-traininglayer-wise pre-training)来有效克)
8、来有效克服,逐层初始化可通过无监督学习实现的。服,逐层初始化可通过无监督学习实现的。深度学习本质:通过构建多隐层的模型和海量训练数据(可为无标签数据),来学习更有用的特征,从而最终提升分类或预测的准确性。“深度模型”是手段,“特征学习”是目的。与浅层学习区别:1)强调了模型结构的深度,通常有5-10多层的隐层节点;2)明确突出了特征学习的重要性,通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易。与人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据的丰富内在信息。深度学习好处:可通过学习一种深层非线性网络结构,实现复杂函数逼近,表征输入数据分
9、布式表示。深度学习 vs.神经网络神经网络:深度学习:深度学习 vs.神经网络相同点:相同点:二者均采用分层结构,系统包括输入层、隐层(多层)、输出层组成的多层网络,只有相邻层节点之间有连接,同一层以及跨层节点之间相互无连接,每一层可以看作是一个logistic 回归模型。不同点:不同点:神经网络:采用BP算法调整参数,即采用迭代算法来训练整个网络。随机设定初值,计算当前网络的输出,然后根据当前输出和样本真实标签之间的差去改变前面各层的参数,直到收敛;深度学习:采用逐层训练机制。采用该机制的原因在于如果采用BP机制,对于一个deep network(7层以上),残差传播到最前面的层将变得很小,
10、出现所谓的gradient diffusion(梯度扩散)。深度学习 vs.神经网络神经网络的局限性:1)比较容易过拟合,参数比较难调整,而且需要不少技巧;2)训练速度比较慢,在层次比较少(小于等于3)的情况下效果并不比其它方法更优;深度学习训练过程不采用BP算法的原因(1)反馈调整时,梯度越来越稀疏,从顶层越往下,误差校正信号越来越小;(2)收敛易至局部最小,由于是采用随机值初始化,当初值是远离最优区域时易导致这一情况;(3)BP算法需要有标签数据来训练,但大部分数据是无标签的;深度学习训练过程第一步:采用自下而上的无监督学习1)逐层构建单层神经元。2)每层采用wake-sleep算法进行调
11、优。每次仅调整一层,逐层调整。这个过程可以看作是一个feature learning的过程,是和传统神经网络区别最大的部分。深度学习训练过程wake-sleep算法:1 1)wakewake阶段:阶段:认知过程,通过下层的输入特征(认知过程,通过下层的输入特征(InputInput)和向上的认知)和向上的认知(EncoderEncoder)权重产生每一层的抽象表示()权重产生每一层的抽象表示(CodeCode),再通过当前),再通过当前的生成(的生成(DecoderDecoder)权重产生一个重建信息()权重产生一个重建信息(ReconstructionReconstruction),),计算
12、输入特征和重建信息残差,使用梯度下降修改层间的下行计算输入特征和重建信息残差,使用梯度下降修改层间的下行生成(生成(DecoderDecoder)权重。也就是)权重。也就是“如果现实跟我想象的不一样,如果现实跟我想象的不一样,改变我的生成权重使得我想象的东西变得与现实一样改变我的生成权重使得我想象的东西变得与现实一样”。2 2)sleepsleep阶段:阶段:生成过程,通过上层概念(生成过程,通过上层概念(CodeCode)和向下的生成()和向下的生成(DecoderDecoder)权)权重,生成下层的状态,再利用认知(重,生成下层的状态,再利用认知(EncoderEncoder)权重产生一个
13、抽)权重产生一个抽象景象。利用初始上层概念和新建抽象景象的残差,利用梯度象景象。利用初始上层概念和新建抽象景象的残差,利用梯度下降修改层间向上的认知(下降修改层间向上的认知(EncoderEncoder)权重。也就是)权重。也就是“如果梦中如果梦中的景象不是我脑中的相应概念,改变我的认知权重使得这种景的景象不是我脑中的相应概念,改变我的认知权重使得这种景象在我看来就是这个概念象在我看来就是这个概念”。深度学习训练过程EncoderDecoderInput ImageClass labele.g.FeaturesEncoderDecoderFeaturesEncoderDecoderAutoEn
14、coder:深度学习训练过程第二步:自顶向下的监督学习第二步:自顶向下的监督学习 这一步是在第一步学习获得各层参数进的基础这一步是在第一步学习获得各层参数进的基础上,在最顶的编码层添加一个分类器(例如罗杰上,在最顶的编码层添加一个分类器(例如罗杰斯特回归、斯特回归、SVMSVM等),而后通过带标签数据的监督等),而后通过带标签数据的监督学习,利用梯度下降法去微调整个网络参数。学习,利用梯度下降法去微调整个网络参数。深度学习的第一步实质上是一个网络参数初始深度学习的第一步实质上是一个网络参数初始化过程。区别于传统神经网络初值随机初始化,化过程。区别于传统神经网络初值随机初始化,深度学习模型是通过
15、无监督学习输入数据的结构深度学习模型是通过无监督学习输入数据的结构得到的,因而这个初值更接近全局最优,从而能得到的,因而这个初值更接近全局最优,从而能够取得更好的效果。够取得更好的效果。深度学习的具体模型及方法自动编码器(AutoEncoder)稀疏自动编码器(Sparse AutoEncoder)降噪自动编码器(Denoising AutoEncoders)深度学习的具体模型及方法EncoderDecoderInput(Image/Features)Output Featurese.g.Feed-back/generative/top-downpathFeed-forward/bottom-
16、up path自动编码器(AutoEncoder)深度学习的具体模型及方法(Wx)(WTz)(Binary)Input x(Binary)Features ze.g.自动编码器(AutoEncoder)Encoder filters WSigmoid function(.)Decoder filters WTSigmoid function(.)深度学习的具体模型及方法稀疏自动编码器(Sparse AutoEncoder)限制每次得到的表达code尽量稀疏限制每次得到的表达code尽量稀疏深度学习的具体模型及方法稀疏自动编码器(Sparse AutoEncoder)FiltersFeature
17、sSparse CodingInput Patch深度学习的具体模型及方法(Wx)DzInput Patch xSparse Features ze.g.Encoder filters WSigmoid function(.)Decoder filters DL1 SparsityTraining稀疏自动编码器(Sparse AutoEncoder)深度学习的具体模型及方法稀疏自动编码器(Sparse AutoEncoder)1 1)TrainingTraining阶段阶段:给定一系列的样本图片x1,x 2,,我们需要学习得到一组基1,2,,也就是字典。可使用K-SVD方法交替迭代调整a k,
18、k,直至收敛,从而可以获得一组可以良好表示这一系列x的字典。深度学习的具体模型及方法稀疏自动编码器(Sparse AutoEncoder)2 2)CodingCoding阶段阶段:给定一个新的图片x,由上面得到的字典,利用OMP算法求解一个LASSO问题得到稀疏向量a。这个稀疏向量就是这个输入向量x的一个稀疏表达。深度学习的具体模型及方法稀疏自动编码器(Sparse AutoEncoder)深度学习的具体模型及方法降噪自动编码器(Denoising AutoEncoders)在自动编码器的基础上,对训练数据加入噪声,自动编码器必须学习去去除这种噪声而获得真正的没有被噪声污染过的输入。因此,这就
19、迫使编码器去学习输入信号的更加鲁棒的表达,这也是它的泛化能力比一般编码器强的原因。深度学习的具体模型及方法Autoencoder(most Deep Learning methods)RBMs/DBMs Lee/SalakhutdinovDenoising autoencoders RanzatoPredictive sparse decomposition RanzatoDecoder-onlySparse coding YuDeconvolutional NetsYu Encoder-only Neural nets(supervised)Ranzato深度学习的具体模型及方法限制波尔兹曼
20、机(Restricted Boltzmann Machine)定义:假设有一个二部图,同层节点之间没有链接,一层是可视层,即输入数据层(v),一层是隐藏层(h),如果假设所有的节点都是随机二值(0,1值)变量节点,同时假设全概率分布p(v,h)满足Boltzmann 分布,我们称这个模型是Restricted BoltzmannMachine(RBM)。深度学习的具体模型及方法限制波尔兹曼机(Restricted Boltzmann Machine)限制波尔兹曼机(RBM)是一种深度学习模型。深度学习的具体模型及方法限制波尔兹曼机(Restricted Boltzmann Machine)定义
21、联合组态(jointconfiguration)能量:这样某个组态的联合概率分布可以通过Boltzmann 分布和这个组态的能量来确定:深度学习的具体模型及方法限制波尔兹曼机(Restricted Boltzmann Machine)给定隐层h的基础上,可视层的概率确定:(可视层节点之间是条件独立的)给定可视层v的基础上,隐层的概率确定:深度学习的具体模型及方法限制波尔兹曼机(Restricted Boltzmann Machine)待求问题待求问题:给定一个满足独立同分布的样本集:D=v v(1),v v(2),v v(N),需要学习模型参数=W,a,b。求解求解:最大似然估计:我们需要选择
22、一个参数,让我们当前的观测样本的概率最大 对最大对数似然函数求导,即可得到L最大时对应的参数W:p若隐藏层层数增加,可得到Deep Boltzmann Machine(DBM)深度学习的具体模型及方法Deep Boltzmann Machine(DBM)深度学习的具体模型及方法深信度网络(Deep Belief Networks)Deep Belief Networks是在靠近可视层的部分使用贝叶斯信念网络(即有向图模型),而在最远离可视层的部分使用Restricted Boltzmann Machine的模型。深度学习的具体模型及方法深信度网络(Deep Belief Networks)深度
23、学习的具体模型及方法卷积波尔兹曼机(Convolutional RBM)CRBM是为识别二维图像信息而特殊设计的一个多层感知器。概念示范:输入图像通过与m个可训练的滤波器和可加偏置进行卷积,在C1层产生m个特征映射图,然后特征映射图中每组的n个像素再进行求和,加权值,加偏置,通过一个Sigmoid函数得到m个S2层的特征映射图。这些映射图再进过滤波得到C3层。这个层级结构再和S2一样产生S4。最终,这些像素值被光栅化,并连接成一个向量输入到传统的神经网络,得到输出。深度学习的具体模型及方法卷积波尔兹曼机(Convolutional RBM)权值共享减少参数的方法:减少参数的方法:每个神经元无需
24、对全局图像做感受,只需感受局部区域(Feature Map),在高层会将这些感受不同局部的神经元综合起来获得全局信息。每个神经元参数设为相同,即权值共享,也即每个神经元用同一个卷积核去卷积图像。深度学习的具体模型及方法卷积波尔兹曼机(Convolutional RBM)隐层神经元数量的确定p神经元数量与输入图像大小、滤波器大小和滤波器的滑动步长有关。例如,输入图像是1000 x1000像素,滤波器大小是10 x10,假设滤波器间没有重叠,即步长为10,这样隐层的神经元个数就是(1000 x1000)/(10 x10)=10000个深度学习的具体模型及方法卷积波尔兹曼机(Convolutiona
25、l RBM)多滤波器情形不同的颜色表示不同种类的滤波器p每层隐层神经元的个数按滤波器种类的数量翻倍p每层隐层参数个数仅与滤波器大小、滤波器种类的多少有关例如:隐含层的每个神经元都连接10 x10像素图像区域,同时有100种卷积核(滤波器)。则参数总个数为:(10 x10+1)x100=10100个深度学习的具体模型及方法卷积波尔兹曼机(Convolutional RBM)p卷积过程卷积过程:用一个可训练的滤波器:用一个可训练的滤波器fxfx去卷积一个输入的图去卷积一个输入的图像(第一阶段是输入的图像,后面的阶段就是像(第一阶段是输入的图像,后面的阶段就是Feature Map了),然后加一个偏
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 深度 学习 基本理论 方法
限制150内