版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、深度学习概述谯平2016年07月21日目 录 什么是深度学习 为什么需要深度学习 深度学习如何进行训练 深度学习常用模型 深度学习框架Caffe什么是深度学习-概述 深度学习:一种基于无监督特征学习和特征层次结构的学习方法 基本原理:深度学习的概念源于人工神经网络的研究。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。什么是深度学习-对比神经网络 : 深度学习:什么是深度学习-对比相同点:相同点:二者均采用分层结构,系统包括输入层、隐层(多层)、输出层组成的多层网络,只有相邻层节点之间有连接,同一层以及跨层节点之间相互无连接,每一层可以看作是一个对数回
2、归模型。不同点:不同点:神经网络:采用BP算法调整参数,即采用迭代算法来训练整个网络。随机设定初值,计算当前网络的输出,然后根据当前输出和样本真实标签之间的差去改变前面各层的参数,直到收敛;深度学习:采用逐层训练机制。采用该机制的原因在于如果采用BP机制,对于一个深层网络(7层以上),残差传播到最前面的层将变得很小,出现所谓的梯度扩散。为什么需要深度为什么需要深度学习学习- -源头源头 人脑视觉机理人脑视觉机理 1981年的诺贝尔医学奖获得者 David Hubel和TorstenWiesel发现了视觉系统的信息处理机制 发现了一种被称为“方向选择性细胞的神经元细胞,当瞳孔发现了眼前的物体的边
3、缘,而且这个边缘指向某个方向时,这种神经元细胞就会活跃为什么需要深度学习为什么需要深度学习- -源头源头 由此可知由此可知人的视觉系统的信息处理是分级的,高层的特征人的视觉系统的信息处理是分级的,高层的特征是低层特征的组合,从低层到高层的特征表示越来越抽象是低层特征的组合,从低层到高层的特征表示越来越抽象,越来越能表现语义或者意图,抽象层面越高,存在的可,越来越能表现语义或者意图,抽象层面越高,存在的可能猜测就越少,就越利于分类。能猜测就越少,就越利于分类。为什么需要深度学习-特征 良好的特征表达,对最终算法的准确性起了非常关键的作用;良好的特征表达,对最终算法的准确性起了非常关键的作用; 识
4、别系统主要的计算和测试工作耗时主要集中在特征提取部分;识别系统主要的计算和测试工作耗时主要集中在特征提取部分; 特征的样式目前一般都是人工设计的,靠人工提取特征。特征的样式目前一般都是人工设计的,靠人工提取特征。底层感知底层感知预处理预处理特征提取特征提取特征选择特征选择预测与识别预测与识别传统的模式识别方法:传统的模式识别方法:为什么需要深度学习-特征 机器学习中,获得好的特征是识别成功的关键 目前存在大量人工设计的特征,不同研究对象特征不同,特征具有多样性,如:SIFT, HOG, TEXTON等 手工选取特征费时费力,需要启发式专业知识,很大程度上靠经验和运气 是否能自动地学习特征? 中
5、层特征 中层信号:为什么需要深度学习-特征连续平行连接拐角 物体部件: 他们对于人工而言是十分困难的,那么如何学习呢?为什么需要深度学习-特征 一般而言,特征越多,给出信息就越多,识别准一般而言,特征越多,给出信息就越多,识别准确性会得到提升;确性会得到提升; 但特征多,计算复杂度增加,探索的空间大,可但特征多,计算复杂度增加,探索的空间大,可以用来训练的数据在每个特征上就会稀疏。以用来训练的数据在每个特征上就会稀疏。 结论:不一定特征越多越好!需要有多少结论:不一定特征越多越好!需要有多少个特征,需要学习确定。个特征,需要学习确定。为什么需要深度学习为什么需要深度学习- -深层深层 初级(浅
6、层)特征表示高层特征或图像,往往是由一些基本结构(浅层特征)组成的为什么需要深度学习为什么需要深度学习- -深层深层 结构性特征表示为什么需要深度学习为什么需要深度学习- -深层深层 浅层学习的局限浅层学习的局限人工神经网络(BP算法)虽被称作多层感知机,但实际是种只含有一层隐层节点的浅层模型SVM、Boosting、最大熵方法(如LR,Logistic Regression)带有一层隐层节点(如SVM、Boosting),或没有隐层节点(如LR)的浅层模型局限性:有限样本和计算单元情况下对复杂函数的表示能力有限,针对复杂分类问题其泛化能力受限。为什么需要深度学习为什么需要深度学习- -深层深
7、层 20062006年,加拿大多伦多大学教授、机器学习领域年,加拿大多伦多大学教授、机器学习领域的泰斗的泰斗Geoffrey HintonGeoffrey Hinton在在科学科学上发表论文提上发表论文提出深度学习主要观点:出深度学习主要观点:1 1)多隐层的人工神经网络具有优异的特征学习能力)多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画,从而,学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类;有利于可视化或分类;2 2)深度神经网络在训练上的难度,可以通过)深度神经网络在训练上的难度,可以通过“逐层逐层初始化初始化”(layer-wise pre-
8、traininglayer-wise pre-training)来有效)来有效克服,逐层初始化可通过无监督学习实现的。克服,逐层初始化可通过无监督学习实现的。为什么需要深度学习为什么需要深度学习- -深层深层 深度学习深度学习 本质:通过构建多隐层的模型和海量训练数据(可为无标签数据),来学习更有用的特征,从而最终提升分类或预测的准确性。 “深度模型”是手段,“特征学习”是目的。 与浅层学习区别:1)强调了模型结构的深度,通常有5-10多层的隐层节点;2)明确突出了特征学习的重要性,通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易。与人工规则构造特征的方
9、法相比,利用大数据来学习特征,更能够刻画数据的丰富内在信息。为什么需要深度学习为什么需要深度学习- -深层深层 好处:可通过学习一种深层非线性网络结构,实现复杂函数逼近,表征输入数据分布式表示。为什么需要深度学习-对比 神经网络的局限性:1)比较容易过拟合,参数比较难调整,而且需要不少技巧;2)训练速度比较慢,在层次比较少(小于等于3)的情况下效果并不比其它方法更优;为什么需要深度为什么需要深度学习学习- -对比对比 神经网络的BP算法的缺点:(1)反馈调整时,梯度越来越稀疏,从顶层越往下,误差校正信号越来越小;(2)收敛易至局部最小,由于是采用随机值初始化,当初值是远离最优区域时易导致这一情
10、况;(3)BP算法需要有标签数据来训练,但大部分数据是无标签的;深度学习如何进行训练EncoderDecoderInput ImageClass labele.g.FeaturesEncoderDecoderFeaturesEncoderDecoderAutoEncoder:深度学习如何进行训练Wake-Sleep算法为例: 第一步:采用自下而上的无监督学习1)逐层构建单层神经元。2)每层采用wake-sleep算法进行调优。每次仅调整一层,逐层调整。 这个过程可以看作是一个特征学习的过程,是和传统神经网络区别最大的部分。深度学习如何进行训练 wake-sleep算法:1 1)wakewake
11、阶段:阶段: 认知过程,通过下层的输入特征(认知过程,通过下层的输入特征(InputInput)和向上的认知()和向上的认知(EncoderEncoder)权重产生每一层的抽象表示()权重产生每一层的抽象表示(CodeCode),再通过当前的),再通过当前的生成(生成(DecoderDecoder)权重产生一个重建信息()权重产生一个重建信息(ReconstructionReconstruction),),计算输入特征和重建信息残差,使用梯度下降修改层间的下行计算输入特征和重建信息残差,使用梯度下降修改层间的下行生成(生成(DecoderDecoder)权重。也就是)权重。也就是“如果现实跟我
12、想象的不一样,如果现实跟我想象的不一样,改变我的生成权重使得我想象的东西变得与现实一样改变我的生成权重使得我想象的东西变得与现实一样”。2 2)sleepsleep阶段:阶段: 生成过程,通过上层概念(生成过程,通过上层概念(CodeCode)和向下的生成()和向下的生成(DecoderDecoder)权)权重,生成下层的状态,再利用认知(重,生成下层的状态,再利用认知(EncoderEncoder)权重产生一个抽)权重产生一个抽象景象。利用初始上层概念和新建抽象景象的残差,利用梯度象景象。利用初始上层概念和新建抽象景象的残差,利用梯度下降修改层间向上的认知(下降修改层间向上的认知(Encod
13、erEncoder)权重。也就是)权重。也就是“如果梦中如果梦中的景象不是我脑中的相应概念,改变我的认知权重使得这种景的景象不是我脑中的相应概念,改变我的认知权重使得这种景象在我看来就是这个概念象在我看来就是这个概念”。深度学习如何进行训练 第二步:自顶向下的监督学习第二步:自顶向下的监督学习 这一步是在第一步学习获得各层参数进的基础这一步是在第一步学习获得各层参数进的基础上,在最顶的编码层添加一个分类器(例如上,在最顶的编码层添加一个分类器(例如logisticlogistic回归、回归、SVMSVM等),而后通过带标签数据的等),而后通过带标签数据的监督学习,利用梯度下降法去微调整个网络参
14、数。监督学习,利用梯度下降法去微调整个网络参数。 深度学习的第一步实质上是一个网络参数初始深度学习的第一步实质上是一个网络参数初始化过程。区别于传统神经网络初值随机初始化,深化过程。区别于传统神经网络初值随机初始化,深度学习模型是通过无监督学习输入数据的结构得到度学习模型是通过无监督学习输入数据的结构得到的,因而这个初值更接近全局最优,从而能够取得的,因而这个初值更接近全局最优,从而能够取得更好的效果。更好的效果。深度学习常用模型 自动编码器( AutoEncoder ) 稀疏自动编码器(Sparse AutoEncoder) 降噪自动编码器(Denoising AutoEncoders) 限
15、制玻尔兹曼机(Restricted Boltzmann Machine) 深度信任网络(Deep Belief Networks) 卷积神经网络(Convolutional Neural Networks)深度学习常用模型一EncoderDecoderInput (Image/ Features)Output Featurese.g.Feed-back /top-down pathFeed-forward /bottom-up path自动编码器( AutoEncoder )深度学习常用模型二 稀疏自动编码器(Sparse AutoEncoder)限制每次得到的表达code尽量稀疏限制每次得到
16、的表达code尽量稀疏深度学习常用模型二 稀疏自动编码器(Sparse AutoEncoder)FiltersFeaturesSparse CodingInput Patch深度学习常用模型二(Wx)DzInput Patch xSparse Features ze.g.Encoder filters WSigmoid function (.)Decoder filters DL1 SparsityTraining 稀疏自动编码器(Sparse AutoEncoder)深度学习常用模型二 稀疏自动编码器(Sparse AutoEncoder)1 1)训练阶段训练阶段:给定一系列的样本图片x1,
17、 x2, ,我们需要学习得到一组基1, 2, ,也就是字典。 深度学习常用模型二2 2)编码阶段编码阶段: :给定一个新的图片x,由上面得到的字典,利用OMP算法求解一个LASSO问题得到稀疏向量a。这个稀疏向量就是这个输入向量x的一个稀疏表达。深度学习常用模型三 降噪自动编码器(Denoising AutoEncoders)在自动编码器的基础上,对训练数据加入噪声,自动编码器必须学习去去除这种噪声而获得真正的没有被噪声污染过的输入。因此,这就迫使编码器去学习输入信号的更加鲁棒的表达,这也是它的泛化能力比一般编码器强的原因。深度学习常用模型四 限制波尔兹曼机(Restricted Boltzm
18、ann Machine) 定义:假设有一个二部图,同层节点之间没有链接,一层是可视层,即输入数据层(v),一层是隐藏层(h),如果假设所有的节点都是随机二值( 0,1值)变量节点,同时假设全概率分布p(v,h)满足Boltzmann 分布,我们称这个模型是Restricted Boltzmann Machine (RBM)。深度学习常用模型四 限制波尔兹曼机(Restricted Boltzmann Machine) 限制波尔兹曼机(RBM)是一种深度学习模型。深度学习常用模型四 限制波尔兹曼机(Restricted Boltzmann Machine)定义联合组态(jointconfigur
19、ation)能量:这样某个组态的联合概率分布可以通过Boltzmann 分布和这个组态的能量来确定:深度学习常用模型四 限制波尔兹曼机(Restricted Boltzmann Machine)给定隐层h的基础上,可视层的概率确定: (可视层节点之间是条件独立的)给定可视层v的基础上,隐层的概率确定:深度学习常用模型四 限制波尔兹曼机(Restricted Boltzmann Machine) 待求问题待求问题:给定一个满足独立同分布的样本集:D=v v(1), v v(2), v v(N),需要学习模型参数=W,a,b。 求解求解: 最大似然估计: 我们需要选择一个参数,让我们当前的观测样本
20、的概率最大 对最大对数似然函数求导,即可得到L最大时对应的参数W:p 若隐藏层层数增加,可得到Deep Boltzmann Machine(DBM)深度学习常用模型五 深信度网络(Deep Belief Networks)Deep Belief Networks是在靠近可视层的部分使用贝叶斯信念网络(即有向图模型),而在最远离可视层的部分使用Restricted Boltzmann Machine的模型。深度学习常用模型五 深信度网络(Deep Belief Networks)深度学习常用模型五 深信度网络(Deep Belief Networks)深度学习常用模型六 卷积神经网络(Convo
21、lutional Neural Networks)CNN人工神经网络的一种,已成为当前语音分析和图像识别领域的研究热点。它的权值共享网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量。该优点在网络的输入是多维图像时表现的更为明显,使图像可以直接作为网络的输入,避免了传统识别算法中复杂的特征提取和数据重建过程。深度学习常用模型六 CNN的Convolution过程 如图,原图像是5*5大小,有25个神经元,用一个3*3的卷积核对它进行卷积,得到了如右图所示的卷积后的Feature map。该特征图大小为3*3。 假设一种卷积核只提取出图像的一种特征,所以一般要多个卷积核来
22、提取不同的特征,所以每一层一般都会有多张Feature map。 同一张Feature map上的神经元共用一个卷积核,这大大减少了网络参数的个数。深度学习常用模型六 CNN的Pooling过程 如果人们选择图像中的连续范围作为池化区域,并且只是池化相同(重复)的隐藏单元产生的特征,那么,这些池化单元就具有平移不变性 (translation invariant)。这就意味着即使图像经历了一个小的平移之后,依然会产生相同的 (池化的) 特征。 图像具有一种“静态性(stationarity)”的属性,可以对图像某一个区域上的特征取平均值 (或最大值)。这种聚合的操作就叫做池化 (pooling
23、)。深度学习常用模型六 CNN的优点- 参数减少 如下图所示,如果我们有1000 x1000像素的图像,有1百万个隐层神经元,那么他们全连接的话(每个隐层神经元都连接图像的每一个像素点),就有 10000001000000=1012个连接,也就是1012个权值参数。 局部连接网络,每一个节点与上层节点同位置附近10 x10的窗口相连接,则1百万个隐层神经元就只有 1000000100 ,即108个参数。其权值连接个数比原来减少了四个数量级。深度学习常用模型六 CNN的优点-权值共享 在上面的局部连接中,每个神经元都对应100个参数,一共1000000个神经元,如果这1000000个神经元的10
24、0个参数都是相等的,那么参数数目就变为100了。我们可以把这100个参数(也就是卷积操作)看成是提取特征的方式,该方式与位置无关。这其中隐含的原理则是:图像的一部分的统计特性与其他部分是一样的。这也意味着我们在这一部分学习的特征也能用在另一部分上,所以对于这个图像上的所有位置,我们都能使用同样的学习特征。深度学习常用模型六 文字识别系统LeNet-51. 输入图像是32x32的大小,卷积核的大小是5x5的,则C1层的大小是28x28。这里设定有6个不同的C1层,每一个C1层内的权值是相同的。 2. S2层是一个下采样层,由4个点下采样为1个点,也就是4个数的加权平均,加权系数也需要通过学习得到
25、。这个过程也叫做Pool。深度学习框架Caffe Caffe是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的 贾扬清,目前在Google工作。 Caffe是纯粹的C+/CUDA架构,支持命令行、Python和MATLAB接口;可以在CPU和GPU直接无缝切换:深度学习框架CaffeCaffe的优势 1.上手快:模型与相应优化都是以文本形式而非代码形式给出。 Caffe给出了模型的定义、最优化设置以及预训练的权重,方便立即上手。 2.速度快:能够运行最棒的模型与海量的数据。 Caffe与cuDNN结合使用,测试AlexNet模型,在K40上处理每张图片只需要1.17ms
26、. 3.模块化:方便扩展到新的任务和设置上.可以使用Caffe提供的各层类型来定义自己的模型。 4.开放性:公开的代码和参考模型用于再现。 深度学习框架Caffe-Mnist实例 MnistMnist数据集数据集手写数字图片60000张训练库图片10000张测试库图片获取:./get_mnist.sh深度学习框架Caffe-Mnist实例 MnistMnist数据数据集的格式集的格式转换转换 格式转换./create_mnist.sh深度学习框架Caffe-Mnist实例 全局全局参数配置(参数配置(lenet_totxtlenet_totxt)深度学习
27、框架Caffe-Mnist实例 LeNetLeNet网络(网络(lenet_train_totxtlenet_train_totxt)layer name: mnist type: Data transform_param scale: 0.00390625 data_param source: mnist_train_lmdb backend: LMDB batch_size: 64 top: data top: labellayer name: conv1 type: Convolution param lr_mult: 1 param lr_mult: 2 convolution_param num_output: 20 kernel_size: 5 stride: 1 weight_filler type: xavier bias_filler type: constant bottom: data t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国际工程合同与索赔 心得
- 合伙分股合同模板
- 眼内炎治疗新进展
- 2024合同协议书法司法解释中英文对照
- 2024薪酬制物业管理合同
- 2024工程装修施工合同范文
- 欧陆风云3(EU3)常用秘籍与国家代码
- 2024劳动合同的注意事项
- 沈阳城市学院《影视导演》2023-2024学年第一学期期末试卷
- 沈阳城市学院《诉讼可视化》2023-2024学年第一学期期末试卷
- 杭州市高层次人才分类认定申请表-
- 混凝土建筑结构设计顾祥林混凝土结构设计概论
- 相机检定报告-5d2参数
- 第九章-化工装置运行安全技术课件
- 水电费结算证明
- 2023年6月英语四级真题(第一套)
- 医院教学课件:宫颈癌三级预防
- 金手指外观检验重点标准
- 典范英语7-4中英文对照翻译Oh,otto!Oh,otto
- 电机维护保养作业指导书
- 国家开放大学《实用心理学》形考任务1-4参考答案
评论
0/150
提交评论