《习的基本理论与.ppt》由会员分享,可在线阅读,更多相关《习的基本理论与.ppt(88页珍藏版)》请在三一办公上搜索。
1、深度学习的简介与应用,目 录,研究背景概述动机深度学习简介深度学习的训练过程深度学习的具体模型及方法深度学习的性能比较和应用深度学习识别标识牌使用深度学习研究存在的问题,研究背景及现状,Artificial Intelligence,也就是人工智能,就像长生不老和星际漫游一样,是人类最美好的梦想之一。虽然计算机技术已经取得了长足的进步,但是到目前为止,还没有一台电脑能产生“自我”的意识。虽然在人类和大量现成数据的帮助下,电脑可以表现的十分强大,但是离开了这两者,它甚至都不能分辨一只猫和一只狗。,研究背景及现状,图灵(图灵,计算机和人工智能的鼻祖,分别对应于其著名的“图灵机”和“图灵测试”)在
2、1950 年的论文里,提出图灵试验的设想,即,隔墙对话,你将不知道与你谈话的,是人还是电脑。这无疑给计算机,尤其是人工智能,预设了一个很高的期望值。但是半个世纪过去了,人工智能的进展,远远没有达到图灵试验的标准。这不仅让多年翘首以待的人们,心灰意冷,有部分人甚至认为人工智能是“伪科学”。,研究背景及现状,但是自 2006 年以来,机器学习领域,取得了突破性的进展。图灵试验,至少不是那么可望而不可及了。至于技术手段,不仅仅依赖于云计算对大数据的并行处理能力,而且依赖于算法。这个算法就是 Deep Learning。借助于 Deep Learning 算法,人类似乎找到了一种可以处理“抽象概念”这
3、个亘古难题的方法。,过热的研究现状,2012年6月,纽约时报披露了Google Brain项目。用16000个CPU Core的并行计算平台训练一种称为“深度神经网络”(DNN,Deep Neural Networks)的机器学习模型(内部共有10亿个节点),在语音识别和图像识别等领域获得了巨大的成功。项目负责人之一Andrew称:“我们没有像通常做的那样自己框定边界,而是直接把海量数据投放到算法中,让数据自己说话,系统会自动从数据中学习。”另外一名负责人Jeff则说:“我们在训练的时候从来不会告诉机器说:这是一只猫。系统其实是自己发明或者领悟了“猫”的概念。”,过热的研究现状,2012年11
4、月,微软在中国天津的一次活动上公开演示了一个全自动的同声传译系统,讲演者用英文演讲,后台的计算机一气呵成自动完成语音识别、英中机器翻译和中文语音合成,效果非常流畅。据报道,后面支撑的关键技术也是DNN,或者深度学习(DL,Deep Learning)。视频链接,过热的研究现状,2013年1月,在百度年会上,创始人兼CEO李彦宏高调宣布要成立百度研究院,其中第一个成立的就是“深度学习研究所”(IDL,Institue of Deep Learning)。把Goole Brain 的带头人Andrew(吴恩达)挖到百度。不过,今年年初,爆出百度在ImageNet竞赛中多次提交竞赛结果,有作弊行为,
5、而被取消竞赛资格。,过热的研究现状,拥有大数据的互联网公司争相投入大量资源研发深度学习技术。企业很喜欢这种方法,因为它像个黑盒子,不管算法具体内容是什么,只管往里扔数据就可以,并且效果还很好。高校研究所的研究人员也纷纷加入Deep learning的研究热潮中。CVPR,ICCV等模式识别权威会议,也被Deep learning占据了半壁江山。研究从大有从算法研究,走向数据制霸的趋势。谁有更大数据,有更大型的设备,就往往能取得更好的结果。与此同时,Deep learning的发明者却多次在公开场合提及:“Deep learning”已经研究过热,人们对它的期望值过高。,概 述,深度学习:一种基
6、于无监督特征学习和特征层次结构的学习方法其名称有:深度学习特征学习无监督特征学习,动 机,良好的特征表达,对最终算法的准确性起了非常关键的作用;识别系统主要的计算和测试工作耗时主要集中在特征提取部分;特征的样式目前一般都是人工设计的,靠人工提取特征。,传统的模式识别方法:,动 机为什么要自动学习特征,实验:LP-Multiple Kernel Learning(MKL)多核学习是多特征融合的一个重要方向Gehler and Nowozin,On Feature Combination for Multiclass Object Classification,ICCV09采用39 个常用的不同的
7、特征进行多特征融合,用来识别不同物体PHOG,SIFT,V1S+,Region Cov.Etc.在普通特征上MKL表现有限结论:特征很关键,目前人工选择的特征很难有效融合。,动 机为什么要自动学习特征,机器学习中,获得好的特征是识别成功的关键目前存在大量人工设计的特征,不同研究对象特征不同,特征具有多样性,如:SIFT,HOG,LBP等手工选取特征费时费力,需要启发式专业知识,很大程度上靠经验和运气是否能自动地学习特征?,中层特征中层信号:,动 机为什么要自动学习特征,连续,平行,连接,拐角,物体部件:,他们对于人工而言是十分困难的,那么如何学习呢?,更加复杂的信号:,动 机为什么要自动学习特
8、征,一般而言,特征越多,给出信息就越多,识别准确性会得到提升;但特征多,计算复杂度增加,探索的空间大,可以用来训练的数据在每个特征上就会稀疏。结论:不一定特征越多越好!需要有多少个特征,需要学习确定。,动 机为什么采用层次网络结构,人脑视觉机理1981年的诺贝尔医学奖获得者 David Hubel和TorstenWiesel发现了视觉系统的信息处理机制发现了一种被称为“方向选择性细胞的神经元细胞,当瞳孔发现了眼前的物体的边缘,而且这个边缘指向某个方向时,这种神经元细胞就会活跃,动 机为什么采用层次网络结构,人脑视觉机理人的视觉系统的信息处理是分级的高层的特征是低层特征的组合,从低层到高层的特征
9、表示越来越抽象,越来越能表现语义或者意图抽象层面越高,存在的可能猜测就越少,就越利于分类,动 机为什么采用层次网络结构,视觉的层次性属性学习,类别作为属性的一种组合映射 Lampert et al.CVPR09,类别标签,属性,图像特征,动 机为什么采用层次网络结构,学习算法在一个什么粒度上的特征表示,才有能发挥作用?就一个图片来说,像素级的特征根本没有价值。例如下面的摩托车,从像素级别,根本得不到任何信息,其无法进行摩托车和非摩托车的区分。而如果特征是一个具有结构性(或者说有含义)的时候,比如是否具有车把手(handle),是否具有车轮(wheel),就很容易把摩托车和非摩托车区分,学习算法
10、才能发挥作用。,动 机为什么采用层次网络结构,初级(浅层)特征表示,高层特征或图像,往往是由一些基本结构(浅层特征)组成的,不仅图像存在这个规律,声音也存在。他们从未标注的声音中发现了20种基本的声音结构,其余的声音可以由这20种基本结构合成。,动 机为什么采用层次网络结构,结构性特征表示在不同object上做training是,所得的边缘特征是非常相似的,:,动 机为什么采用层次网络结构,浅层学习的局限人工神经网络(BP算法)虽被称作多层感知机,但实际是种只含有一层隐层节点的浅层模型SVM、Boosting、最大熵方法(如LR,Logistic Regression)带有一层隐层节点(如SV
11、M、Boosting),或没有隐层节点(如LR)的浅层模型局限性:有限样本和计算单元情况下对复杂函数的表示能力有限,针对复杂分类问题其泛化能力受限。,深度学习,2006年,加拿大多伦多大学教授、机器学习领域的泰斗Geoffrey Hinton在Science上发表论文提出深度学习主要观点:1)多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类;2)深度神经网络在训练上的难度,可以通过“逐层初始化”(layer-wise pre-training)来有效克服,逐层初始化可通过无监督学习实现的。,深度学习,本质:通过构建多隐层的模型和海量训练数据
12、(可为无标签数据),来学习更有用的特征,从而最终提升分类或预测的准确性。“深度模型”是手段,“特征学习”是目的。与浅层学习区别:1)强调了模型结构的深度,通常有5-10多层的隐层节点;2)明确突出了特征学习的重要性,通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易。与人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据的丰富内在信息。,深度学习,好处:可通过学习一种深层非线性网络结构,实现复杂函数逼近,表征输入数据分布式表示。,深度学习 vs.神经网络,神经网络:深度学习:,深度学习 vs.神经网络,相同点:二者均采用分层结构,系统包括输入层
13、、隐层(多层)、输出层组成的多层网络,只有相邻层节点之间有连接,同一层以及跨层节点之间相互无连接,每一层可以看作是一个回归模型。不同点:神经网络:采用BP算法调整参数,即采用迭代算法来训练整个网络。随机设定初值,计算当前网络的输出,然后根据当前输出和样本真实标签之间的差去改变前面各层的参数,直到收敛;深度学习:采用逐层训练机制。采用该机制的原因在于如果采用BP机制,对于一个deep network(7层以上),残差传播到最前面的层将变得很小,出现所谓的gradient diffusion(梯度扩散)。,深度学习 vs.神经网络,神经网络的局限性:1)比较容易过拟合,参数比较难调整,而且需要不少
14、技巧;2)训练速度比较慢,在层次比较少(小于等于3)的情况下效果并不比其它方法更优;,深度学习训练过程,不采用BP算法的原因(1)反馈调整时,梯度越来越稀疏,从顶层越往下,误差校正信号越来越小;(2)收敛易至局部最小,由于是采用随机值初始化,当初值是远离最优区域时易导致这一情况;(3)BP算法需要有标签数据来训练,但大部分数据是无标签的;,深度学习训练过程,2006年,hinton提出了在非监督数据上建立多层神经网络的一个有效方法,方法是:1)首先逐层构建单层神经元,这样每次都是训练一个单层网络。2)当所有层训练完后,Hinton使用wake-sleep算法进行调优。每次仅调整一层,逐层调整。
15、,深度学习训练过程,将除最顶层的其它层间的权重变为双向的。向上的权重用于“认知”,向下的权重用于“生成”。然后使用Wake-Sleep算法调整所有的权重。让认知和生成达成一致,也就是保证生成的最顶层表示能够尽可能正确的复原底层的结点。比如顶层的一个结点表示人脸,那么所有人脸的图像应该激活这个结点,并且这个结果向下生成的图像应该能够表现为一个大概的人脸图像。,深度学习训练过程,wake-sleep算法:1)wake阶段:认知过程,通过外界的特征和向上的权重(认知权重)产生每一层的抽象表示(结点状态),并且使用梯度下降修改层间的下行权重(生成权重)。2)sleep阶段:生成过程,通过顶层表示(醒时
16、学得的概念)和向下权重,生成底层的状态,同时修改层间向上的权重(认知权重)。,深度学习训练过程,Encoder,Decoder,Input Image,Class label,e.g.,Features,Encoder,Decoder,Features,Encoder,Decoder,AutoEncoder:,解码,编码,深度学习训练过程,第二步:自顶向下的监督学习 这一步是在第一步学习获得各层参数进的基础上,在最顶的编码层添加一个分类器(例如罗杰斯特回归、SVM等),而后通过带标签数据的监督学习,利用梯度下降法去微调整个网络参数。深度学习的第一步实质上是一个网络参数初始化过程。区别于传统神经
17、网络初值随机初始化,深度学习模型是通过无监督学习输入数据的结构得到的,因而这个初值更接近全局最优,从而能够取得更好的效果。,深度学习的具体模型及方法,编码(Encoder)过程中,使用的不同的编码器有:自动编码器(AutoEncoder)稀疏自动编码器(Sparse AutoEncoder)降噪自动编码器(Denoising AutoEncoders),深度学习的具体模型及方法,稀疏自动编码器(Sparse AutoEncoder),限制每次得到的表达code尽量稀疏,限制每次得到的表达code尽量稀疏,深度学习的具体模型及方法,稀疏自动编码器(Sparse AutoEncoder),Filt
18、ers,Features,Sparse Coding,Input Patch,深度学习的具体模型及方法,稀疏自动编码器(Sparse AutoEncoder)1)Training阶段:给定一系列的样本图片x1,x 2,,我们需要学习得到一组基1,2,,也就是字典。可使用K-SVD方法交替迭代调整ak,k,直至收敛,从而可以获得一组可以良好表示这一系列x的字典。,深度学习的具体模型及方法,稀疏自动编码器(Sparse AutoEncoder)2)Coding阶段:给定一个新的图片x,由上面得到的字典,利用OMP算法求解得到稀疏向量a。这个稀疏向量就是这个输入向量x的一个稀疏表达。,深度学习的具体
19、模型及方法,稀疏自动编码器(Sparse AutoEncoder),深度学习的具体模型及方法,降噪自动编码器(Denoising AutoEncoders)在自动编码器的基础上,对训练数据加入噪声,自动编码器必须学习去去除这种噪声而获得真正的没有被噪声污染过的输入。因此,这就迫使编码器去学习输入信号的更加鲁棒的表达,这也是它的泛化能力比一般编码器强的原因。,深度学习的具体模型及方法,波尔兹曼机(Boltzmann Machine,BM)是Hiton和Sejnowski于1986年提出的一种根植于统计力学的随机神经网络。这种网络中的神经元是随机神经元,神经元的输出只有两种状态(未激活、激活),一
20、般用二进制的0和1表示,状态的取值根据概率统计法则决定。BM具有强大的无监督学习能力,能够学习数据中复杂的规则。但是,拥有这种学习能力的代价是其训练/学习时间非常长。为克服此问题,Sejnowski引入了一种限制的波尔兹曼机(RBM)。RBM具有一个可见层,一个隐层,层内无连接,其结构如图2(b)所示。被用于训练深度神经网络。,深度学习的具体模型及方法,限制波尔兹曼机(Restricted Boltzmann Machine)定义:假设有一个二部图,同层节点之间没有链接,一层是可视层,即输入数据层(v),一层是隐藏层(h),如果假设所有的节点都是随机二值(0,1值)变量节点,同时假设全概率分布
21、p(v,h)满足Boltzmann 分布,我们称这个模型是Restricted BoltzmannMachine(RBM)。,深度学习的具体模型及方法,限制波尔兹曼机(Restricted Boltzmann Machine)限制波尔兹曼机(RBM)是一种深度学习模型。,深度学习的具体模型及方法,卷积波尔兹曼机(Convolutional RBM),用来训练Convolutional Neural Networks(CNN)卷积神经网络权值共享,卷积神经网络(Convolutional Neural Networks卷积神经网络)是人工神经网络的一种,已成为当前语音分析和图像识别领域的研究热点
22、,也是目前深度学习中效果最好的神经网络之一。它的权值共享网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量。,深度学习的具体模型及方法,卷积波尔兹曼机(Convolutional RBM)隐层神经元数量的确定,神经元数量与输入图像大小、滤波器大小和滤波器的滑动步长有关。例如,输入图像是1000 x1000像素,滤波器大小是10 x10,假设滤波器间没有重叠,即步长为10,这样隐层的神经元个数就是(1000 x1000)/(10 x10)=10000个,深度学习的具体模型及方法,卷积波尔兹曼机(Convolutional RBM)多滤波器情形,不同的颜色表示不同种类的滤波
23、器,每层隐层神经元的个数按滤波器种类的数量翻倍每层隐层参数个数仅与滤波器大小、滤波器种类的多少有关例如:隐含层的每个神经元都连接10 x10像素图像区域,同时有100种卷积核(滤波器)。则参数总个数为:(10 x10+1)x100=10100个,深度学习的具体模型及方法,卷积波尔兹曼机(Convolutional RBM),卷积过程:用一个可训练的滤波器fx去卷积一个输入的图像(第一阶段是输入的图像,后面的阶段就是Feature Map了),然后加一个偏置bx,得到卷积层Cx。子采样过程:每邻域n个像素通过池化(pooling)步骤变为一个像素,然后通过标量Wx+1加权,再增加偏置bx+1,然
24、后通过一个sigmoid激活函数,产生一个大概缩小n倍的特征映射图Sx+1。,深度学习的具体模型及方法,卷积波尔兹曼机(Convolutional RBM),深度学习性能比较,Deep nets VS.Boosting,深度学习性能比较,基于文法模型的物体检测-R.Girshick,P.Felzenszwalb,D.McAllester,NIPS 2011-Learn local appearance&shape,自动学习,深度学习性能比较,部件和结构模型Defined connectivity graphLearn appearance/relative position,Felzenszw
25、alb&Huttenlocher CVPR00,Fischler and R.Elschlager 1973,人工指定,自动学习,深度学习性能比较,基于部件与结构的分层模型,人工指定,自动学习,深度学习性能比较,递归和与图模型-Leo Zhu,Yuanhao Chen,Alan Yuille&collaboratorsRecursive composition,AND/OR graphLearn#units at layer,人工指定,自动学习,深度学习的应用,深度学习在图像识别上的应用,空间金字塔(Spatial Pyramids),深度学习的应用,深度学习在图像识别上的应用,深度学习的应用
26、,深度学习在图像识别上的应用,深度学习的应用,深度学习在图像识别上的应用,深度学习的应用,深度学习在音频识别上的应用,Convolutional DBN for audio,Max pooling node Detection nodes,Max pooling node Detection nodes,深度学习的应用,深度学习在视频识别上的应用,深度学习的应用,深度学习在多模态学习中的应用,深度学习的应用,深度学习在多模态学习中的应用,深度学习的应用,深度学习在多模态学习中的应用,深度学习的应用,深度学习在多任务学习中的应用,深度学习的应用,深度学习在多任务学习中的应用在深度学习模型中,对于
27、相关任务的联合学习,往往会取得较好的特征表达;多任务联合学习,能够增强损失函数的作用效能;比如:单独进行人脸检测会比较难(光照、遮挡等因素),但是当人脸检测与人脸识别这两个相关的任务联合学习时,人脸检测的难度反而降低了。,深度学习的应用,基于深度学习的迁移学习应用:迁移学习(Transfer Learning)的目标是将从一个环境中学到的知识用来帮助新环境中的学习任务,深度学习的应用,基于深度学习的迁移学习应用,特征共享,深度学习的应用,基于深度学习的迁移学习应用,深度学习的应用,深度学习在大尺度数据集上的应用大尺度数据集:样本总数100M,类别总数10K,特征维度10K,深度学习的应用,深度
28、学习在大尺度数据集上的应用,参数个数达到1.15 billion,若不能并行优化参数,任务无法完成!,深度学习的应用,深度学习的State-of-the-art,深度学习识别交通标识牌,交通标识牌识别(Traffic sign recognition,TSR),就是识别标识牌的种类,或对标示牌类别进行分类。目前使用的特征可以分为:Pixel-based;Feature-based识别主要方法有:Neural network,SVM,Error-correcting output code(纠错输出编码),PCA,Random Forests,Sparse Representation Clas
29、sification(SRC,稀疏表达)等等.,深度学习识别交通标识牌,目前效果交好的深度学习的代码大多是用Python,C+等编写而成,而DeepLearnToolbox提供了DeepLearning的Matlab代码,是学习应用的好工具。本打算用DeepLearnToolbox里的代码做了交通标识牌识别的一些实验,发现用电脑cpu运行是非常慢的,也没得出有效结果。,深度学习识别交通标识牌,初步目标:通过训练深度学习网络来识别交通标识牌:1.使用的数据库是GTSRB的43种交通标志牌。2.分别使用像素和HOG特征作为输入来训练深度学习网络。3.使用5层数网络,filter是7x7,参数程序自
30、动配置。,这篇文章使用深度学习对标志牌识别进行了研究,并取得了较好的结果。,使用卷积神经网络,Pdf中示意图,深度学习识别交通标识牌,得到的一些特征:,样本的初步处理,使用深度学习研究存在的问题?,1.神经网络重在“大数据”,使用前需得到大量的训练数据。能否取得研究所需“大数据”?如何取得“大数据”?如果打算使用深度学习进行研究,这个问题应该首先考虑一下。,使用深度学习研究存在的问题?,2.用普通CPU电脑训练速度过慢,目前一般都使用配置GPU的电脑。硬件设备问题需要解决。1)目前英伟达可以给教授级别的研究者提供一个GPU,可免费申请。其他设备需自己配;2)申请校园大数据运行账号。,使用深度学习研究存在的问题?,3.目前使用deep learning发表论文是一个潮流,但目前感觉,已经处于潮流中后期。如果想用deep learning发文章,你的突破点是什么?你所处的课题是否已经有人用deep learning做过大量工作?这些问题都需要考究一下。,使用深度学习研究存在的问题?,3.目前使用deep learning,大有DataMethod的趋势,同样的方法,不同课题组的结果可能是大相径庭的。CNN的发明者就发现:有些研究者用他们的方法发表的结果,要远好于他们自己的结果。如何在自己所研究方向,把握住“时代的脉搏”.,谢谢!,