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

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

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

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

资源描述

深度学习的简介与应用目录研究背景概述动机深度学习简介深度学习的训练过程深度学习的具体模型及方法深度学习的性能比较和应用深度学习识别标识牌使用深度学习研究存在的问题研究背景及现状ArtificialIntelligence,也就是人工智能,就像长生不老和星际漫游一样,是人类最美好的梦想之一。虽然计算机技术已经取得了长足的进步,但是到目前为止,还没有一台电脑能产生“自我”的意识。虽然在人类和大量现成数据的帮助下,电脑可以表现的十分强大,但是离开了这两者,它甚至都不能分辨一只猫和一只狗。研究背景及现状图灵(图灵,计算机和人工智能的鼻祖,分别对应于其著名的“图灵机”和“图灵测试”)在1950年的论文里,提出图灵试验的设想,即,隔墙对话,你将不知道与你谈话的,是人还是电脑。这无疑给计算机,尤其是人工智能,预设了一个很高的期望值。但是半个世纪过去了,人工智能的进展,远远没有达到图灵试验的标准。这不仅让多年翘首以待的人们,心灰意冷,有部分人甚至认为人工智能是“伪科学”。研究背景及现状但是自2006年以来,机器学习领域,取得了突破性的进展。图灵试验,至少不是那么可望而不可及了。至于技术手段,不仅仅依赖于云计算对大数据的并行处理能力,而且依赖于算法。这个算法就是DeepLearning。借助于DeepLearning算法,人类似乎找到了一种可以处理“抽象概念”这个亘古难题的方法。过热的研究现状2012年6月,《纽约时报》披露了GoogleBrain项目。用16000个CPUCore的并行计算平台训练一种称为“深度神经网络”(DNN,DeepNeuralNetworks)的机器学习模型(内部共有10亿个节点),在语音识别和图像识别等领域获得了巨大的成功。项目负责人之一Andrew称:“我们没有像通常做的那样自己框定边界,而是直接把海量数据投放到算法中,让数据自己说话,系统会自动从数据中学习。”另外一名负责人Jeff则说:“我们在训练的时候从来不会告诉机器说:‘这是一只猫。’系统其实是自己发明或者领悟了“猫”的概念。”过热的研究现状2012年11月,微软在中国天津的一次活动上公开演示了一个全自动的同声传译系统,讲演者用英文演讲,后台的计算机一气呵成自动完成语音识别、英中机器翻译和中文语音合成,效果非常流畅。据报道,后面支撑的关键技术也是DNN,或者深度学习(DL,DeepLearning)。视频链接过热的研究现状2013年1月,在百度年会上,创始人兼CEO李彦宏高调宣布要成立百度研究院,其中第一个成立的就是“深度学习研究所”(IDL,InstitueofDeepLearning)。把GooleBrain的带头人Andrew(吴恩达)挖到百度。不过,今年年初,爆出百度在ImageNet竞赛中多次提交竞赛结果,有作弊行为,而被取消竞赛资格。过热的研究现状拥有大数据的互联网公司争相投入大量资源研发深度学习技术。企业很喜欢这种方法,因为它像个黑盒子,不管算法具体内容是什么,只管往里扔数据就可以,并且效果还很好。高校研究所的研究人员也纷纷加入Deeplearning的研究热潮中。CVPR,ICCV等模式识别权威会议,也被Deeplearning占据了半壁江山。研究从大有从算法研究,走向数据制霸的趋势。谁有更大数据,有更大型的设备,就往往能取得更好的结果。与此同时,Deeplearning的发明者却多次在公开场合提及:“Deeplearning”已经研究过热,人们对它的期望值过高。概述深度学习:一种基于无监督特征学习和特征层次结构的学习方法其名称有:深度学习特征学习无监督特征学习动机•良好的特征表达,对最终算法的准确性起了非常关键的作用;•识别系统主要的计算和测试工作耗时主要集中在特征提取部分;•特征的样式目前一般都是人工设计的,靠人工提取特征。Low-levelsensingPre-processingFeatureextract.FeatureselectionInference:prediction,recognition传统的模式识别方法:动机——为什么要自动学习特征实验:LP-βMultipleKernelLearning(MKL)多核学习是多特征融合的一个重要方向GehlerandNowozin,OnFeatureCombinationforMulticlassObjectClassification,ICCV’09采用39个常用的不同的特征进行多特征融合,用来识别不同物体PHOG,SIFT,V1S+,RegionCov.Etc.在普通特征上MKL表现有限结论:特征很关键,目前人工选择的特征很难有效融合。动机——为什么要自动学习特征机器学习中,获得好的特征是识别成功的关键目前存在大量人工设计的特征,不同研究对象特征不同,特征具有多样性,如:SIFT,HOG,LBP等手工选取特征费时费力,需要启发式专业知识,很大程度上靠经验和运气是否能自动地学习特征?•中层特征中层信号:动机——为什么要自动学习特征连续平行连接拐角物体部件:•他们对于人工而言是十分困难的,那么如何学习呢?更加复杂的信号:动机——为什么要自动学习特征一般而言,特征越多,给出信息就越多,识别准确性会得到提升;但特征多,计算复杂度增加,探索的空间大,可以用来训练的数据在每个特征上就会稀疏。结论:不一定特征越多越好!需要有多少个特征,需要学习确定。动机——为什么采用层次网络结构人脑视觉机理1981年的诺贝尔医学奖获得者DavidHubel和TorstenWiesel发现了视觉系统的信息处理机制发现了一种被称为“方向选择性细胞的神经元细胞,当瞳孔发现了眼前的物体的边缘,而且这个边缘指向某个方向时,这种神经元细胞就会活跃动机——为什么采用层次网络结构人脑视觉机理人的视觉系统的信息处理是分级的高层的特征是低层特征的组合,从低层到高层的特征表示越来越抽象,越来越能表现语义或者意图抽象层面越高,存在的可能猜测就越少,就越利于分类动机——为什么采用层次网络结构视觉的层次性属性学习,类别作为属性的一种组合映射Lampertetal.CVPR’09类别标签属性图像特征动机——为什么采用层次网络结构学习算法在一个什么粒度上的特征表示,才有能发挥作用?就一个图片来说,像素级的特征根本没有价值。例如下面的摩托车,从像素级别,根本得不到任何信息,其无法进行摩托车和非摩托车的区分。而如果特征是一个具有结构性(或者说有含义)的时候,比如是否具有车把手(handle),是否具有车轮(wheel),就很容易把摩托车和非摩托车区分,学习算法才能发挥作用。动机——为什么采用层次网络结构初级(浅层)特征表示高层特征或图像,往往是由一些基本结构(浅层特征)组成的不仅图像存在这个规律,声音也存在。他们从未标注的声音中发现了20种基本的声音结构,其余的声音可以由这20种基本结构合成。动机——为什么采用层次网络结构结构性特征表示在不同object上做training是,所得的边缘特征是非常相似的,:动机——为什么采用层次网络结构浅层学习的局限人工神经网络(BP算法)—虽被称作多层感知机,但实际是种只含有一层隐层节点的浅层模型SVM、Boosting、最大熵方法(如LR,LogisticRegression)—带有一层隐层节点(如SVM、Boosting),或没有隐层节点(如LR)的浅层模型局限性:有限样本和计算单元情况下对复杂函数的表示能力有限,针对复杂分类问题其泛化能力受限。深度学习2006年,加拿大多伦多大学教授、机器学习领域的泰斗GeoffreyHinton在《Science》上发表论文提出深度学习主要观点:1)多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类;2)深度神经网络在训练上的难度,可以通过“逐层初始化”(layer-wisepre-training)来有效克服,逐层初始化可通过无监督学习实现的。深度学习本质:通过构建多隐层的模型和海量训练数据(可为无标签数据),来学习更有用的特征,从而最终提升分类或预测的准确性。“深度模型”是手段,“特征学习”是目的。与浅层学习区别:1)强调了模型结构的深度,通常有5-10多层的隐层节点;2)明确突出了特征学习的重要性,通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易。与人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据的丰富内在信息。深度学习好处:可通过学习一种深层非线性网络结构,实现复杂函数逼近,表征输入数据分布式表示。深度学习vs.神经网络神经网络:深度学习:深度学习vs.神经网络相同点:二者均采用分层结构,系统包括输入层、隐层(多层)、输出层组成的多层网络,只有相邻层节点之间有连接,同一层以及跨层节点之间相互无连接,每一层可以看作是一个回归模型。不同点:神经网络:采用BP算法调整参数,即采用迭代算法来训练整个网络。随机设定初值,计算当前网络的输出,然后根据当前输出和样本真实标签之间的差去改变前面各层的参数,直到收敛;深度学习:采用逐层训练机制。采用该机制的原因在于如果采用BP机制,对于一个deepnetwork(7层以上),残差传播到最前面的层将变得很小,出现所谓的gradientdiffusion(梯度扩散)。深度学习vs.神经网络神经网络的局限性:1)比较容易过拟合,参数比较难调整,而且需要不少技巧;2)训练速度比较慢,在层次比较少(小于等于3)的情况下效果并不比其它方法更优;深度学习训练过程不采用BP算法的原因(1)反馈调整时,梯度越来越稀疏,从顶层越往下,误差校正信号越来越小;(2)收敛易至局部最小,由于是采用随机值初始化,当初值是远离最优区域时易导致这一情况;(3)BP算法需要有标签数据来训练,但大部分数据是无标签的;深度学习训练过程2006年,hinton提出了在非监督数据上建立多层神经网络的一个有效方法,方法是:1)首先逐层构建单层神经元,这样每次都是训练一个单层网络。2)当所有层训练完后,Hinton使用wake-sleep算法进行调优。每次仅调整一层,逐层调整。深度学习训练过程将除最顶层的其它层间的权重变为双向的。向上的权重用于“认知”,向下的权重用于“生成”。然后使用Wake-Sleep算法调整所有的权重。让认知和生成达成一致,也就是保证生成的最顶层表示能够尽可能正确的复原底层的结点。比如顶层的一个结点表示人脸,那么所有人脸的图像应该激活这个结点,并且这个结果向下生成的图像应该能够表现为一个大概的人脸图像。深度学习训练过程wake-sleep算法:1)wake阶段:认知过程,通过外界的特征和向上的权重(认知权重)产生每一层的抽象表示(结点状态),并且使用梯度下降修改层间的下行权重(生成权重)。2)sleep阶段:生成过程,通过顶层表示(醒时学得的概念)和向下权重,生成底层的状态,同时修改层间向上的权重(认知权重)。深度学习训练过程EncoderDecoderInputImageClasslabele.g.FeaturesEncoderDecoderFeaturesEncoderDecoderAutoEncoder:解码编码深度学习训练过程第二步:自顶向下的监督学习这一步是在第一步学习获得各层参数进的基础上,在最顶的编码层添加一个分类器(例如罗杰斯特回归、SVM等),而后通过带标签数据的监督学习,利用梯度下降法去微调整个网络参数。深度学习的第一步实质上是一个网络参数初始化过程。区别于传统神经网络初值随机初始化,深度学习模型是通过无监督学习输入数据的结构得到的,因而这个初值更接近全局最优,从而能够取得更好的效果。深度学习的具体模型及方法编码(Encoder)过程中,使用的不同的编码器有:自动编码器(AutoEncoder)稀疏自动编码器(SparseAutoEncoder)降噪自动编码器(Den

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

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

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

×
保存成功