您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 北邮郭军web搜索chapter7-2.
Web搜索郭军北京邮电大学深度学习2006年以来,机器学习领域取得了突破性的进展人们发现,图灵测试已经不是那么可望而不可及了这种突破,除了云计算和大数据的支撑之外,主要依赖于算法的突破即:深度学习(DeepLearning)借助于深度学习,人们似乎找到了表达“抽象概念”的方法GoogleBrain2012年6月,《纽约时报》披露了GoogleBrain项目,引起了公众的广泛关注项目由斯坦福大学教授主导,用16000个CPUCore的并行计算平台训练一种包含10亿个内部节点被称为“深度神经网络”(DNN:DeepNeuralNetworks)的机器学习模型产业界的跟进2012年11月,微软在天津公开演示了一个全自动的同声传译系统,讲演者用英文演讲,后台的计算机一气呵成自动完成语音识别、英中机器翻译和中文语音合成,效果非常流畅。支撑技术就是DNN2013年1月,在百度年会上,创始人兼CEO李彦宏高调宣布要成立百度研究院,其中第一个成立的就是深度学习研究所深度学习:特征及其层次结构的一种无监督学习方法可能的名称:深度学习特征学习无监督特征学习深度学习的本质机器学习虽然发展了几十年,但特征提取问题始终没有很好解决关于特征学习特征表示的粒度学习算法在什么粒度上表示特征,才能发挥作用?就一个图片来说,像素级的特征基本没有价值例如上面的摩托车,在像素级别得不到有效信息进行摩托车和非摩托车的区分特征表示的粒度而如果特征具有结构(或者说有含义),比如是否具有车把手,是否具有车轮,就很容易把摩托车和非摩托车区分开来初级(浅层)特征表示既然像素级的特征表示方法没有作用,那怎样的表示才有用呢?1995年前后,CornellUniversity的BrunoOlshausen和DavidField两位学者试图同时用生理学和计算机的手段研究视觉问题他们收集了很多黑白风景照片,从这些照片中,提取出400个小碎片,每个小碎片的尺寸为16x16像素,不妨把这400个碎片标记为S[i],i=0,..399。接下来,再从这些黑白风景照片中,随机提取另一个碎片,尺寸也是16x16像素,不妨把这个碎片标记为T初级(浅层)特征表示他们提出的问题是,如何从这400个碎片中,选取一组碎片S[k],通过叠加的办法,合成出一个与T尽可能相似的碎片,同时,S[k]的数量尽可能少。数学上:Sumk(a[k]*S[k])T,其中a[k]是在叠加碎片S[k]时的权重系数这便引出了稀疏编码初级(浅层)特征表示稀疏编码是一个重复迭代的过程,每次迭代分两步:1)选择一组S[k],然后调整a[k],使得Sumk(a[k]*S[k])最接近T2)固定住a[k]在400个碎片中,选择其它更合适的碎片S’[k],替代原先的S[k],使得Sumk(a[k]*S’[k])最接近T经过几次迭代后,最佳的S[k]组合被遴选出来。令人惊奇的是,被选中的S[k]基本上都是照片上物体的边缘线,这些线段形状相似,区别在于方向初级(浅层)特征表示BrunoOlshausen和DavidField的算法发现了类似人的视觉生成机理也就是,复杂图形总是由一些基本结构组成例如,通过64种正交的edges来线性稀疏地表示一个图初级(浅层)特征表示对声音来说这个规律也存在结构性特征表示小块的图形可以由基本edge构成,更结构化,更复杂的,具有概念性的图形如何表示呢?这就需要更高层次的特征表示,比如V2,V4。V1看像素级是像素级,V2看V1是像素级,这个是层次递进的,高层表达由底层表达的组合而成即,V1区提出的basis是边缘,然后V2层是V1层这些basis的组合,而V2区又是高一层的basis…结构性特征表示直观上说,就是找到有意义的小碎片(patch),再将其进行组合,就得到了上一层的特征,递归地向上学习特征结构性特征表示在不同对象上做训练时,所得的边缘基是非常相似的,但对象部分和模式完全不同深度学习的基本思想设有系统S,由n层(S1,…Sn)构成,输入是I,输出是O,形象地表示为:I=S1=S2=…..=Sn=O,如果输出O等于输入I,即输入I经过这个系统之后没有任何信息损失。这意味着输入I经过每一层Si都没有任何信息损失,即在任何一层Si,它都是原有信息(即输入I)的另外一种表示对DeepLearning而言,设有输入I(如一批图像或文本)进入了系统S,通过调整系统参数,使得它的输出O仍然是输入I,那么就可以自动地获取输入I的一系列层次特征,即S1,…,Sn深度学习的基本思想深度学习就是堆叠多个层,使当前层的输出作为下一层的输入。通过这种方式实现对输入信息的分级表达还可以略微放松一下限制,即只要使输入与输出的差别尽可能小即可,这个放松会导致另外一类不同的DeepLearning方法浅层学习和深度学习浅层学习(ShallowLearning)机器学习的第一次浪潮深度学习(DeepLearning)机器学习的第二次浪潮浅层学习:机器学习第一次浪潮20世纪80年代末期,反向传播算法(也叫BackPropagation或者BP算法)的发明,给机器学习带来了希望,掀起了基于统计模型的机器学习热潮人们发现,利用BP算法可以让一个人工神经网络模型从大量训练样本中学习统计规律,从而对未知事件做预测这个时候的人工神经网络,虽也被称作多层感知机(Multi-layerPerceptron),但实际是一种只含有一层隐层节点的浅层模型浅层学习:机器学习第一次浪潮20世纪90年代,各种各样的浅层机器学习模型相继被提出,例如支撑向量机、Boosting、最大熵方法、LogisticRegression等这些模型的结构基本上是带有一层隐层节点(如SVM、Boosting),或没有隐层节点(如LR)深度学习:机器学习第二次浪潮2006年,加拿大多伦多大学教授Hinton和他的学生在《Science》上发表了一篇文章,掀起了深度学习在学术界和工业界的浪潮这篇文章有两个主要观点:1)多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类2)深度神经网络在训练上的难度,可以通过“逐层初始化”(layer-wisepre-training)来有效克服,在这篇文章中,逐层初始化是通过无监督学习实现的区别于传统的浅层学习,深度学习的不同在于:1)强调了模型结构的深度,通常有5层、6层,甚至10多层的隐层节点2)突出了特征学习的重要性,通过逐层特征变换,将样本在原空间的特征表示变换到新特征空间,从而使分类或预测更加容易。与人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据的丰富内在信息深度学习:机器学习第二次浪潮深度学习与神经网络深度学习网络神经网络而为了克服神经网络训练中的问题,DL采用了与神经网络不同的训练机制传统神经网络采用反向传播(BP)的方式通过迭代算法来训练网络。随机设定初值,计算当前网络的输出,然后根据当前计算的输出值和实际的标记值之间的差去改变前面各层的参数,直到收敛DL整体上是一个layer-wise的训练机制。这样做的原因是因为,如果采用BP机制,对于一个深层网络,残差传播到最前面的层已经变得太小,出现所谓的gradientdiffusion(梯度消散)DL与NN不同深度学习训练过程不采用BP算法的原因(1)反馈调整时,梯度越来越稀疏,从顶层越往下,误差校正信号越来越小(2)易收敛至局部最小,由于是采用随机值初始化,当初值远离最优区域时易导致这一情况(3)BP算法需要有标签数据来训练,但大部分数据是无标签的第一步:采用自底向上的无监督学习1)逐层构建单层神经元2)每层采用wake-sleep算法进行调优,每次仅调整一层,逐层调整这个过程可以看作是一个featurelearning的过程,是与传统神经网络区别最大之处深度学习训练过程深度学习训练过程EncoderDecoderInputImageClasslabele.g.FeaturesEncoderDecoderFeaturesEncoderDecoder深度学习训练过程wake-sleep算法wake阶段:通过input和encoder产生每一层的抽象表示code,再通过decoder产生一个重建信息reconstruction,计算input和reconstruction的差,用梯度下降法修改decoder的权重sleep阶段:通过code和decoder生成下层的状态,再利用encoder产生一个抽象景象。利用初始上层概念(code)和新建抽象景象的差,用梯度下降修改encoder的权重深度学习训练过程第二步:自顶向下的监督学习在第一步获得各层参数的基础上,在最顶层添加一个分类器(如SVM),而后通过带标签数据的监督学习,利用梯度下降法微调整个网络参数深度学习的常用模型自动编码器受限波尔兹曼机深度信念网络卷积神经网络AutoEncoder给定无标签数据,用非监督学习获取特征通过编码器产生特征,然后训练下一层,这样逐层训练有监督微调EncoderDecoderInput(Image/Features)OutputFeatures非监督学习获取特征在以往神经网络中,输入的样本是有标签的,即(input,target),因而可根据当前输出和标签之间的差去调整参数如果只有无标签数据,那么误差如何得到呢?非监督学习获取特征在结构中加一个decoder,如果它的输出与input很像,那就有理由相信这个code是可用的通过调整encoder和decoder的参数,使得重构误差最小,这时候就得到了input信号的第一个表示,即code因为是无标签数据,所以误差的来源就是直接重构后与原输入相比获得在隐层输出code时添加稀疏性约束限制每次得到的表达code尽量稀疏限制每次得到的表达code尽量稀疏稀疏自动编码器FiltersFeaturesSparseCodingInputPatch稀疏自动编码器σ(Wx)DzInputPatchxSparseFeatureszEncoderfiltersWSigmoidfunctionσ(.)DecoderfiltersDL1SparsityTraining稀疏自动编码器稀疏自动编码器(SparseAutoEncoder)稀疏自动编码器降噪自动编码器(DenoisingAutoEncoder)对训练数据加入噪声,自动编码器需去除噪声而获得没有被噪声污染过输入迫使编码器学习输入信号的更加鲁棒的表达,使其泛化能力更强稀疏自动编码器假设有二部图,一层为可视层(v),一层为隐藏层(h),同层节点之间无链接,若所有的节点都是随机二值变量,且全概率分布p(v,h)满足Boltzmann分布,则称这个模型为RestrictedBoltzmannMachine(RBM)受限波尔兹曼机RBM是一种深度学习模型受限波尔兹曼机定义联合组态(jointconfiguration)能量:这样某个组态的联合概率分布可以通过Boltzmann分布和这个组态的能量来确定:受限波尔兹曼机给定隐层h条件下可视层的概率(可视层节点之间是条件独立的)给定可视层条件下隐层的概率若隐藏层层数增加,可得到深度波尔兹曼机DeepBoltzmannMachine(DBM)受限波尔兹曼机深度信念网络深度信念网络(DeepBeliefNetworks)由多个受限玻尔兹曼机(RBM)层组成。深度信念网络中的隐层单元被训练去捕捉在可视层表现出来的高阶数据的相关性预训练后,深度信念网络可以利用带标签数据用BP算法对判别性能做调整标签集将被附加到顶层(推广联想记忆),通过一个自下向上学习到的识别权值获得一个网络的分类面性能会比单纯的BP算法训练的网络好DBN的BP算法只需要对权值参数空间进行一个局部的搜索,相比前向神经网络来说,收敛的时间少深度信念网络深
本文标题:北邮郭军web搜索chapter7-2.
链接地址:https://www.777doc.com/doc-2582914 .html