您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > AI人工智能 > 深度学习介绍Anintroductiontodeeplearning
AnIntroductiontoDeepLearning0130349037郭浩楠MysticalForceofDeepLearning2012年11月,微软在中国天津的一次活动上公开演示了一个全自动的同声传译系统,讲演者用英文演讲,后台的计算机一气呵成自动完成语音识别、英中机器翻译和中文语音合成,效果非常流畅。据报道,后面支撑的关键技术是DNN,或者深度学习(DeepLearning)。2013年1月,在百度年会上,创始人兼CEO李彦宏高调宣布要成立百度研究院,其中第一个成立的就是“深度学习研究所”(IDL,InstituteofDeepLearning)。2012年6月,《纽约时报》披露了GoogleBrain项目,吸引了公众的广泛关注。这个项目是由著名的斯坦福大学的机器学习教授AndrewNg和在大规模计算机系统方面的世界顶尖专家JeffDean共同主导,用16000个CPUCore的并行计算平台训练一种称为“深度神经网络”(DNN,DeepNeuralNetworks)的机器学习模型。项目负责人之一Andrew称:“我们没有像通常做的那样自己框定边界,而是直接把海量数据投放到算法中,让数据自己说话,系统会自动从数据中学习。”此项目将应用于语音识别和图像识别等领域。deepneuralnetwork,深度神经网络,属于深度学习的一种)来提高语音识别准确率的效果,相比目前最先进的基于HiddenMarkovModel的技术,其准确率提升了大约30%深度学习系统可以准确的将物体分类并添加主题,使YouTube视频分类达到16%的准确度。这个数字虽然看起来很小,但是已经比上一代系统提高了70%。Background:machinelearning机器学习(MachineLearning)是一门专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能的学科。1959年美国的塞缪尔(Samuel)设计了一个下棋程序,这个程序具有学习能力,它可以在不断的对弈中改善自己的棋艺。4年后,这个程序战胜了设计者本人。又过了3年,这个程序战胜了美国一个保持8年之久的常胜不败的冠军。选取好的特征对分类的效率有很大影响,手工地选取特征是一件非常费力、启发式的方法。Deeplearning,又叫UnsupervisedFeatureLearning或者FeatureLearning,是一种特征学习算法。用Deeplearning方法可以很容易得到能拿来有效利用的高度抽象的特征。Motivation:whygodeep?BrainshaveadeeparchitectureHumansorganizetheirideashierarchically,throughcompositionofsimplerideasInsufficientlydeeparchitecturescanbeexponentiallyinefficientDistributed(possiblysparse)representationsarenecessarytoachievenon-localgeneralization,exponentiallymoreefficientthan1-of-NenumerationlatentvariablevaluesMultiplelevelsoflatentvariablesallowcombinatorialsharingofstatisticalstrengthHowtotrainDeepArchitectureBefore2006,trainingdeeparchitectureswasunsuccessful,exceptforconvolutionalneuralnetsHinton,Osindero&Teh«AFastLearningAlgorithmforDeepBeliefNets»,NeuralComputation,2006Bengio,Lamblin,Popovici,Larochelle«GreedyLayer-WiseTrainingofDeepNetworks»,NIPS’2006Ranzato,Poultney,Chopra,LeCun«EfficientLearningofSparseRepresentationswithanEnergy-BasedModel»,NIPS’2006Whatiswrongwithback-propagation?Itrequireslabeledtrainingdata.–Almostalldataisunlabeled.Thelearningtimedoesnotscalewell–ItisveryslowinnetworkswithmultipleHiddenlayers.Itcangetstuckinpoorlocaloptimal.–Theseareoftenquitegood,butfordeepnetstheyarefarfromoptimal.TheefficientdeeparchitectureDeepbeliefnets(DeepBoltzmannmachines)Stackeddenoisingauto-encoderStackedpredictivesparsecodingConvolutionalNeuralNetworksautoencoderneuralnetwork训练过程(1)采用无标定数据分层训练各层参数,这一步可以看作是一个无监督训练过程。训练时先学习第一层的参数(这一层可以看作是得到一个使得输出和输入差别最小的三层神经网络的隐层),在学习得到第n-1层后,将n-1层的输出作为第n层的输入,训练第n层,由此分别得到各层的参数(2)通过带标签的数据去训练,误差自顶向下传输,对网络进行微调thesimplestneuralnetworkwhichcomprisesasingleneuron,,输入向量为三维的单个神经元,输出y=线性组合器+激活函数theparameterb:biasorinterceptterm偏置项的作用,对线性组合器的输出做仿射变换;b为正或负相应增加或减少激活函数的输入。activationfunction:WechooseittobethesigmoidfunctionAnothercommonchoiceforfisthehyperbolictangent(i.e.tanh)NeuralNetworkmodellabeledtrainingexamplesNeuralnetworksgiveawayofdefiningacomplex,non-linearformofhypotheseshW,b(x)tofitourdata(x(i),y(i))目标:parametersW,bItcorrespondsexactlytotheinput-outputmappingdefinedbylogisticregression逻辑回归监督学习NeuralNetworkmodel矩阵表示:前向传播过程,所以又叫前馈神经网络BackpropagationAlgorithmtrainingset原理:trainourneuralnetworkusingbatchgradientdescentforasingletrainingexample(x,y),wedefinethecostfunctiontobe:atrainingsetofmexamples,wethendefinetheoverallcostfunctiontobe:averagesum-of-squareserrortermweightdecayterm目标:求W,b使得J(W,b)最小initializeeachparameterandeachtoasmallrandomvaluenearzeroupdatestheparametersW,basfollows:其中:分解为求单个样例的偏导数Autoencoderhaveonlyasetofunlabeledtrainingexamples,where.autoencoderneuralnetworkisanunsupervisedlearningalgorithmthatappliesbackpropagation限制隐藏神经元的数量,可以学习输入数据的压缩表示,或跟主元分析结果相似的输入数据的低维表示给隐藏神经元加入稀疏性限制可以发现输入数据中的一些有趣结构作用:稀疏性的实现:Definetheaverageactivationofhiddenunitjenforcetheconstraintisasparsityparameter(取很小值,比如)稀疏性实现方法:Reasonablepenaltyterm,将其最小化Ouroverallcostfunctionisnowduringbackpropagationyouwouldhavecomputednowinsteadcompute一次迭代的过程:训练结果的可视化以在10×10图像(即n=100)上训练自编码器为例。在该自编码器中,每个隐藏单元i对如下关于输入的函数进行计算:使得到最大程度的激励的图像x即为隐藏单元i所追寻的特征范数约束下,隐藏单元i得到最大激励的输入每个小方块都给出了一个(带有有界范数的)输入图像x,它可使这100个隐藏单元中的某一个获得最大激励。我们可以看到,不同的隐藏单元学会了在图像的不同位置和方向进行边缘检测。到这里,这个AutoEncoder还不能用来分类数据,因为它还没有学习如何去连结一个输入和一个类。它只是学会了如何去重构或者复现它的输入而已。或者说,它只是学习获得了一个可以良好代表输入的特征,这个特征可以最大程度上代表原输入信号。那么,为了实现分类,我们就可以在AutoEncoder的最顶的编码层添加一个分类器(例如logist回归、SVM等),然后通过标准的多层神经网络的监督训练方法(梯度下降法)去训练。给定一个神经网络,我们假设其输出与输入是相同的,然后训练调整其参数,得到每一层中的权重,自然地,我们就得到了输入I的几种不同表示(每一层代表一种表示),这些表示就是特征,在研究中可以发现,如果在原有的特征中加入这些自动学习得到的特征可以大大提高精确度,甚至在分类问题中比目前最好的分类算法效果还要好Autoencoder总结郭浩楠haonan2012@sjtu.edu.cn
本文标题:深度学习介绍Anintroductiontodeeplearning
链接地址:https://www.777doc.com/doc-2244646 .html