深度学习 2.docx
- 文档编号:5413988
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:19
- 大小:106.88KB
深度学习 2.docx
《深度学习 2.docx》由会员分享,可在线阅读,更多相关《深度学习 2.docx(19页珍藏版)》请在冰豆网上搜索。
深度学习2
深度学习
一、深度学习出现的原因、时间及研究现状
机器学习是人工智能的一个分支,而在很多时候几乎成为人工智能的代名词。
简单来说,机器学习就是通过算法使得机器能从大量历史数据中学习规律,从而对新的样本做智能识别或对未来做预测。
从20世纪80年代末期以来,机器学习的发展大致经历了两次浪潮:
浅层学习(shallowlearning)和深度学习(deeplearning)。
1.1深度学习兴起的渊源及时间
深度学习起源于对神经网络的研究,20世纪60年代,受神经科学对人脑结构研究的启发,为了让机器也具有类似人一样的智能,人工神经网络被提出用于模拟人脑处理数据的流程。
最著名的学习算法称为感知机。
但随后人们发现,两层结构的感知机模型不包含隐层单元,输入是人工预先选择好的特征,输出是预测的分类结果,因此只能用于学习固定特征的线性函数,而无法处理非线性分类问题。
Minsky等指出了感知机的这一局限,由于当时其他人工智能研究学派的抵触等原因,使得对神经网络的研究遭受到巨大的打击,陷入低谷。
直到20世纪80年代中期,反向传播算法(backpropogation,BP)的提出,提供了一条如何学习含有多隐层结构的神经网络模型的途径,让神经网络研究得以复苏。
由于增加了隐层单元,多层神经网络比感知机具有更灵活且更丰富的表达力,可以用于建立更复杂的数学模型,但同时也增加了模型学习的难度,特别是当包含的隐层数量增加的时候,使用BP算法训练网络模型时,常常会陷入局部最小值,而在计算每层节点梯度时,在网络低层方向会出现梯度衰竭的现象。
因此,训练含有许多隐层的深度神经网络一直存在困难,导致神经网络模型的深度受到限制,制约了其性能。
2006年之前,大多数机器学习仍然在探索浅层结构(Shallow-structured)架构,这种架构上包含了一层典型的非线性特征变换的单层,而缺乏自适应非线性特征的多层结构。
如常规的隐马尔科夫模型(HMM),线性或非线性动态系统,条件随机域(CRFs),最大熵(Max-Entropy)模型,支持向量机(SVM),逻辑回归,内核回归和具有单层隐含层的多层感知器(MLP)神经网络。
这些浅层学习模型有一个常见属性,就是由仅有的单层组成的简单架构负责转换原始输入信号或输入特征为特定问题特征空间时,其过程不可观察。
以支持向量机为例,它是一种浅层线性独立模型,当使用内核技巧时具有一层特征转换层,否则具有零层特征转换层。
浅层架构在许多简单或受限问题中,早已被证明卓有成效,但是由于它们的有限建模与表现能力,导致在处理涉及自然信号如人的讲话,自然的声音和语言,自然的图像和视觉场景等更为复杂的现实应用时,产生了困难。
在实际应用中,例如对象分类问题(对象可是文档、图像、音频等),人们不得不面对的一个是问题是如何用数据来表示这个对象,当然这里的数据并非初始的像素或者文字,也就是这些数据是比初始数据具有更为高层的含义,这里的数据往往指的是对象的特征。
例如人们常常将文档、网页等数据用词的集合来表示,根据文档的词集合表示到一个词组短语的向量空间(vectorspacemodel,VSM模型)中,然后才能根据不同的学习方法设计出适用的分类器来对目标对象进行分类。
因此,选取什么特征或者用什么特征来表示某一对象对于解决一个实际问题非常的重要。
然而,人为地选取特征的时间代价是非常昂贵,另外劳动成本也高,而所谓的启发式的算法得到的结果往往不稳定,结果好坏经常是依靠经验和运气。
于是,人们考虑到自动学习来完成特征抽取这一任务。
深度学习(DeepLearning)[1]的产生就是缘于此任务,它又被称为无监督的特征学习(UnsupervisedFeatureLearning),从这个名称就可以知道这是一个没有人为参与的特征选取方法。
深度结构学习,或者通常更多人称之为深度学习(DeepLearning),从2006年开始作为一个新兴的领域出现在机器学习研究当中。
深度学习(DeepLearning)的概念是2006年左右由GeoffreyHinton等人在《Science》上发表的一篇文章《Reducingthedimensionalityofdatawithneuralnetworks》提出来的,开启了深度学习在学术界和工业界的浪潮。
这篇文章有两个主要观点:
1)多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类;2)深度神经网络在训练上的难度,可以通过“逐层初始化”(layer-wisepre-training)来有效克服,在这篇文章中,逐层初始化是通过无监督学习实现的。
2006年的另外3篇论文[2-4]改变了训练深度架构失败的状况,由Hinton的革命性的在深度置信网(DeepBeliefNetworks,DBNs)上的工作所引领。
1.2国内外研究现状
尽管专家们研究了很多年深层神经网络算法分析,但进展并不十分顺利。
研究者对于通常意义下的隐含层是二层或三层的实验结果有了比较好的进展,但是对于训练更深层隐含层的神经网络却得到了比较差的结果。
在无监督预训练出现之前,训练深度神经网络通常非常困难,而其中一个特例是卷积神经网络。
卷积神经网络受视觉系统的结构启发而产生。
第一个卷积神经网络计算模型是Fukushima[5]于1980年在神经认知机中提出的,基于神经元之间的局部连接和分层组织图像转换,将有相同参数的神经元应用于前一层神经网络的不同位置,得到一种平移不变神经网络结构形式。
后来,LeCun等人[6,7]在该思想的基础上,分别在1989年和1998年用误差梯度设计并训练卷积神经网络,在一些模式识别任务上得到优越的性能。
至今,基于卷积神经网络的模式识别系统是最好的实现系统之一,尤其在手写体字符识别任务上表现出非凡的性能。
1986年,Hinton,Sejnowsky,Rumelhart等人在Hopfield网络中加入随机机制,提出了玻尔兹曼机[8],这种模型与真实空间相对应,方便理解,但由于模型学习过程容易发散,因此算法往往并不收敛。
同年,Hinton和Smolensk等人又提出了受限制玻尔兹曼机(RestrictedBoltzmannMachine,RBM),这种模型仅有可见节点与隐藏节点的连接,相同节点彼此独立,因此,算法比较高效[9]。
2000年,Hinton提出了对比散度(ContrastiveDivergence,CD)的学习算法[10],它的优点就在于,该算法使用了一个近似概率分布的差异度量对比散度[11]。
对比散度在进行学习时十分高效,比如,马尔可夫随机领域(MarkovRandomFields,MRF)、RBM模型等[12]。
2006年,Hinton提出了深度置信网络(DeepBeliefNets,DBN)模型及其无监督学习算法,即基于层叠的RBM深度信念网络的学习算法[2]。
这种算法的过程就是,一个深度学习网络模型可以看成是由若干个RBM堆叠在一起,而训练学习的过程,就是由低层到高层,无监督地逐步训练这些RBM,其中,每一个RBM都可以通过CD算法来进行快速训练。
所以,整个深度学习网络的训练过程就转化为对多个RBM的训练学习的问题,而直接绕过了从整体上进行训练的高度复杂性。
这种通过RBM算法而训练生成的网络在它的顶层是无方向连接的,然后在它下边的所有低层的方向全是向下的。
在进行了分层的RBM算法之后,通过神经网络的学习算法再对网络进行参数的微调,从而使整个深度学习网络收敛到一个局部最优点上。
这两种方法的结合,本质上即是,先通过逐层地通过RBM法使网络模型获得一个较优的初始值,再进行进一步地传统训练,这样做的优点就是,既解决了网络整体的时间复杂度低的问题,又避免了传统方法易陷入局部最优解的问题,同时,获得了不错的初始参数值和最终的效果较好的参数值[12]。
2008年,Tieleman提出了随机极大似然(StochasticMaximumLikelihood,SML)算法,即连续对比散度(PersistentContrastiveDivergence,PCD)算法[13],这个算法非常重要,因为它不仅修正了CD算法极大似然度的缺点,而且保证了极大似然数的学习,基于PCD的RBM算法比原来的CD算法更加高效。
2009年,Tieleman提出了增加一组额外的参数来学习PCD的算法,即马尔可夫链蒙特卡罗(MarkovchainMonteCarlo,MCMC)采样,为以后的基于RBM的改进算法开辟了框架基础[14]。
2009年到2010年,专家们提出了很多基于回火的马尔可夫链蒙特卡罗采样(TemperedMCMC)算法,包括模拟回火(SimulatedTempering)算法,回火转移(TemperedTransition)算法,并行回火(ParallelTempering)算法等,另外还有,模式跳转的MCMC方法[15]。
不过这些算法的实质,都是基于回火的马尔可夫链蒙特卡罗采样算法的改进的RBM算法,都是基于Tieleman在2009年的论文[16]。
深度学习在实际应用过程中也得到了广泛的关注。
孙志军等人[17]提出一种基于多层自动编码器的特征提取算法,该算法的深度学习网络模型的训练分为无监督训练以及基于边际Fisher准则的监督式精雕训练过程。
针对如何将深度学习应用到网络入侵检测中以提高入侵检测准确率的问题,李春林等人[18]结合网络数据的特点给出一种深度学习网络的设计方法,并在此基础上提出一种基于深度学习的入侵检测方法。
针对建立射线无损检测智能化信息处理平台的需要,余永维等人[19]提出一种基于深度学习网络的智能识别方法。
王宪保等人[20]根据样本特征建立深度置信网络,同时训练获取网络的初始权值,并提出一种基于深度学习的太阳能电池片表面缺陷检测方法。
Kim等人[21]运用支持向量机和类概率输出网络,提出一种新的深层结构模型为解决模式分类问题提供更好的泛化能力。
实验表明,随着层数的增加,所提出的深层结构与理想的贝叶斯分类器更加接近。
Shang等人[22]基于深层学习技术构建软传感器,并将其应用于工业领域,以评估重柴油95%点下调原油蒸馏装置。
基于深层玻尔兹曼机,Leng等人[23]提出一种新颖的三维模型识别机制,这种机制可分为两部分:
一是基于深层玻尔兹曼机特征检测,二是基于半监督学习的分类方法。
[1]HintonGEandSalakhutdinovRR.Reducingthedimensionalityofdatawithneuralnetworks[J].Science,2006,28,313:
504-507.
[2]HintonGE,OsinderoS,TehY.Afastlearningalgorithmfordeepbeliefnets[J].NeuralComputation,2006,18(7):
1527-1554.
[3]BengioY,LamblinP,PopoviciDandLarochelleH. GreedyLayer-WiseTrainingofDeepNetworks,inJ.Plattetal.(Eds),AdvancesinNeuralInformationProcessingSystems19(NIPS2006),pp.153-160,MITPress,2007.
[4]Marc’AurelioRanzato,ChristopherPoultney,SumitChopraandYannLeCun. EfficientLearningofSparseRepresentationswithanEnergy-BasedModel,inJ.Plattetal.(Eds),AdvancesinNeuralInformationProcessingSystems(NIPS2006),MITPress,2007
[5]FukushimaK.Neocognitron:
aself-organizingneuralnetworkmodelforamechanismofpatternrecognitionunaffectedbyshiftinposition[J].BiologicalCybernetics,1980,36(4):
193-202.
[6]LeCunY,BottouL,BengioY,HaffnerP.Gradient-basedlearningappliedtodocumentrecognition[J].ProceedingsoftheIEEE,1998,86(11):
2278-2324.
[7]LeCunY,BoserB,DenkerJS,HendersonD,HowardRE,HubbardW,JackelLD.Backpropagationappliedtohandwrittenzipcoderecognition[J].NeuralComputation,1989,1(4):
541-551.
[8]AckleyH,HintonE,SejnowskiJ.ALearningAlgorithmforBoltzmannMachines[J].CognitiveScience,1985:
147–169.
[9]SmolenskP.InformationProcessinginDynamicalSystems:
FoundationsofHarmonyTheory[J].ParallelDistributedProcessing,1986
(1):
194–281.
[10]HintonGE.TrainingProductsofExpertsbyMinimizingContrastiveDivergence[J].NeuralComputation,2000(14):
1771–1800.
[11]CarreiraMA,HintonGE.OnContrastiveDivergenceLearning[J].JournalofMachineLearningResearch,2006.
[12]SutskeverI,TielemanT.OntheConvergencePropertiesofContrastiveDivergence[J].JournalofMachineLearningResearchProceedingsTrack,2010(9):
789–795.
[13]DesjardinsG,CarvilleA,BengioY,etal.TemperedMarkovChainMonteCarloforTrainingofRestrictedBoltzmannMachine[C].Sardinia,Italy:
ProceedingsofAistats,2010:
145–152.
[14]SalakhutdinovR.LearninginMarkovRandomFieldsUsingTemperedTransitions[C]//AdvancesinNeuralInformationProcessingSystems,2010.
[15]AndrieuC,DefreitasN,DoucetteA,etal.AnIntroductiontoMCMCforMachineLearning[J].MachineLearning,2003,50
(1):
5–43.
[16]TielemanT.TrainingRestrictedBoltzmannMachinesUsingApproximationstotheLikelihoodGradient[C]//Proceedingsofthe25thinternationalconferenceonMachineLearning.NewYork,NY,USA:
ACM,ICML,2008:
1064–1071.
[17]孙志军,薛磊,许阳明。
基于深度学习的编辑Fisher分析特征提取算法[J]。
电子与信息学报,2013,35(4):
805-811。
[18]李春林,黄月江,王宏,牛长喜。
一种基于深度学习的网络入侵检测方法[J]。
信息安全与通信保密,2014,10:
68-71。
.
[19]余永维,殷国富,殷鹰,杜柳青。
基于深度学习网络的射线图像缺陷识别方法[J]。
仪器仪表学报,2014,35(9):
2012-2019。
[20]王宪保,李洁,姚明海,何文秀,钱沄涛。
基于深度学习的太阳能电池片表面缺陷检测方法[J]。
模式识别与人工智能,2014,27(6):
517-523。
[21]SangwookKim,ZhibinYu,RheeManKil,MinhoLee.Deeplearningofsupportvectormachineswithclassprobabilityoutputnetworks[J].NeuralNetworks,Inpress,2014.
[22]ChaoShang,FanYang,DexianHuanga,WenxiangLyu.Data-drivensoftsensordevelopmentbasedondeeplearningtechnique[J].JournalofProcessControl,2014,24:
223-233.
[23]BiaoLeng,XiangyangZhang,MingYao,ZhangXiong.A3DmodelrecognitionmechanismbasedondeepBoltzmannmachines[J].Neurocomputing,2015,151:
593-602.
二、深度学习的基本内容、理论基础及其代表性模型
2.1深度学习的基本内容
深度学习是机器学习技术的其中之一,该领域主要是探讨包含多层结点的人工神经网络的建模和学习问题。
为实现模式识别和无监督特征学习,深度学习在分层架构中的信息处理阶段建立多层结构。
深度学习处于神经网络、图形化建模、优化、模式识别和信号处理多个研究领域的交集。
两个重要的原因使得深度学习在当今研究应用中如此受到欢迎:
一是为计算硬件显著降低了成本,二是大幅增加的芯片处理能力。
为了说明深度学习的主要研究内容和主要的研究方法,这里给出深度学习的比较常见的四种定义:
(1)深度学习是一类利用多层非线性信息处理方法来进行无监督或者有监督的特征提取或者变换,从而实现模式分析和分类的机器学习技术。
(2)深度学习是一个为了对数据间的复杂关系进行建模而学习多级表示的机器学习子门类。
由于高级特征和概念是根据低级特征定义的,因而特征的层次结构被称为深度架构。
这类模型中的多数基于表示的无监督学习。
(3)深度学习是指这样一个机器学习的子领域,即学习多级表示(这种多级表示对应特征或因子或者概念的层级结构),其中高级概念是由低级概念所定义的,同一级别中的概念有助于定义高级概念。
观察量可以用很多方式来表示(如图像可以用像素的向量表示),但是有些表示能够使得从样例中对感兴趣的任务进行学习时更加简单(例如图像是否是人脸图像),该领域的研究试图定义如何更好地创造表示以及如何学习这些表示。
(4)深度学习是机器学习研究的新领域,是为了使机器学习更加靠近它最初的目标——人工智能而发展起来的。
深度学习主要是关于学习多级表示和抽象,这些表示和抽象应该有助于使得诸如图像、声音和文本之类的数据更加有意义。
深度学习采用的训练过程是:
(1)自下上升的无监督学习。
采用无标签数据分层训练各层参数,这是一个无监督训练的过程(也是一个特征学习的过程),是和传统神经网络区别最大的部分。
(2)自顶向下的监督学习。
在预训练后,采用有标签的数据来对网络进行区分性训练,此时误差自顶向下传输。
预训练类似传统神经网络的随机初始化,但由于深度学习的第一步不是随机初始化而是通过学习无标签数据得到的,因此这个初值比较接近全局最优,所以深度学习效果好很大程度上归功于第一步的特征学习过程。
随着Hinton在DBN上的研究不断的深入,使得他最终通过构建深度神经网络实现了系统学习效率的显著提升。
深度学习算法因为使用了多层神经网络,因此它具备更强的表达能力,可以对复杂的客观事物进行描述。
针对深度学习算法的这一特点,Hinton设计了一种算法“greedylayer-wiseunsupervisedlearningalgorithm”,通过这种算法来有效的对深度模型进行训练。
这种算法本质上是一种贪婪算法,它的基本原理是,首先构造一个拥有多层的人工神经网络,在这个多层模型中,所处在模型的层次越高则说明这一层对可见层输入样本的表示就越抽象,相反如果处于模型的较低层,那么它仅仅能够表示输入样本的低维特征。
因此整体说来,这个算法的总体训练的过程就是首先对输入样本进行简单的表示,然后随着所在深度模型层次的不断提升,开始对输入样本进行越来越抽象的表示,最终得到对样本的本质表示的过程。
2.2深度学习的理论基础
假设一个系统
,它是一个
层
的结构,
是系统的输入,
是系统输出,形象地表示为:
=>
=>
=>
=>
=>
如果输出
等于输入
,物理意义也就是表明在经过系统变化之后,输入I的信息量没有任何损失,和原始的输入保持了不变,这表明了输入
经过每一层Si均没有丢失任何信息,即在任何一层Si,它都是输入
也就是原始信息的另外一种表示。
简单说,深度学习的精髓也就是,在一个n层的神经网络中,任何一层的输入
和输出
是“相等”的。
学习过程中,我们希望它是不需要人为干预的,它能够自动地学习对象的特征。
在给定一组原始的输入
(可以是一堆图像或者文本、一段语音等等),经过一个包含n层的系统S时,我们通过调整系统中参数,使得输出与输入相等,即输出
仍然是输入
,这样,我们就获取了输入
(原始数据)的一系列的层次特征,记为
。
另外,前面是假设输出严格地等于输入,即这个地方“相等”有两个含义在里面:
第一个是说
和
不是在绝对形式上的相等,而是在抽象意义上的相等;另外一点指的是限制的约束的程度,比如说是不会造成歧义的完全“相等”还是有适当宽松条件的“相等"。
而绝对意义上的“相等”这个限制太严格,我们可以略微地放松这个限制,例如我们只要使得输入与输出的差别尽可能地小即可,这个放松会形成另外一类不同的深度学习的方法。
上述就是深度学习的基本思想,而上述中的两个思想也对应了深度学习中的两个经典的方法AutoEncoder和SparseCoding,还有一个很常用的方法就是受限玻尔兹曼机(RestrictBoltzmannMachine,RBM)。
2.3五种典型的深度学习代表性模型
典型的深
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 深度学习 深度 学习