深度学习课件:现代模型概述_第1页
深度学习课件:现代模型概述_第2页
深度学习课件:现代模型概述_第3页
深度学习课件:现代模型概述_第4页
深度学习课件:现代模型概述_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

§8.1玻尔兹曼机§8.2自编码器§8.3深度信念网络§8.4残差神经网络§8.5胶囊神经网络现代模型概述§8.1玻尔兹曼机玻尔兹曼机(BoltzmannMachine,BM)是一种由随机神经元全连接组成的神经网络模型,其具有对称性与无反馈性。玻尔兹曼机的神经元结构分为可视层与隐含层。顾名思义,可视层所包含的神经元被称为可视节点,隐藏层所包含的神经元被称为隐含节点。在标准玻尔兹曼机模型下,所有的神经元的激活值仅有0或者是1两种状态,1表示激活而0表示未激活,其结构原理如图8.1.1标准玻尔兹曼机能量函数(EnergyFunctional):将待聚类的事物看成一个系统,事物之间的相异程度看成系统元素间的能量,当能量达到一定程度时,事物就形成一个新的类,表示系统需要重新分类。聚类过程中要求每个事物属于一个类,每个簇中不存在能量大于阈值的系统,不同的簇中不存在能量小于阈值的系统。换句话说,根据我们之前的基础知识可以得知,在自然界中物体的能量越小,其状态越趋于稳定。所以,能量较大的不同簇被分类为不同类别,而能量较小的簇形成一个稳定的团,也就是被聚为一类。玻尔兹曼机的学习算法即是基于能量函数的。其能量函数:

玻尔兹曼机的目标是最大化似然函数,也就是说如果玻尔兹曼机在一组特定的参数下导出的可视节点的概率分布与可视节点被输入向量所固定的状态概率分布完全一样,那么此时可以称该玻尔兹曼机构造了与输入向量环境相同的完整模型。对数似然函数定义如下:

玻尔兹曼机的学习过程8.1.2受限玻尔兹曼机受限玻尔兹曼机(RestrictedBoltzmannMachines,RBM)是标准玻尔兹曼机的一种变形。虽然其只具有两层结构,在严格意义上说还不是深度学习结构,但是可以被用作基本模块来构造自编码器,深度信念网络,深层玻尔兹曼机等许多其它深度学习模型。顾名思义,相比于标准玻尔兹曼机,受限玻尔兹曼机受到了更多的限制。正如我们之前所介绍的那样,标准玻尔兹曼机的可视层的任意神经元之间是可以相互通信的,隐藏层中任意两个神经元也是可以直接连接的。而受限玻尔兹曼机完全禁止可视层与隐藏层各自内部节点之间的相互连接,只允许可视层与隐藏层之间的节点相互连接,如图

与标准玻尔兹曼机原理相似,此时我们可以定义受限玻尔兹曼机的能量函数如下:

根据数学知识,对联合概率分布去边缘分布,就可以分别得到受限玻尔兹曼机的可视向量分布与隐含向量分布,这是由于联合分布是由可视向量分布与隐含响亮分布联合。可视向量分布为:

(和我们之前所讲解的模型一样,受限玻尔兹曼机的学习在本质上就是对模型的一系列参数进行更新,常用的方式为利用梯度上升的方法进行最大似然估计,使总体的对数似然函数最大化。受限玻尔兹曼机的对数似然函数被定义为:

8.1.3深层玻尔兹曼机深层玻尔兹曼机(DeepBoltzmannMachine,DBM)从结构上,类似于我们之前所介绍的简单全连接神经网络。它仅包含邻层之间的连接,而不包括同一层中的相互连接,但是与简单全连接神经网络不一样的是,深层玻尔兹曼机在整体上是一个无向概率图模型。其结构图如图

深层玻尔兹曼机可以看成由许多RBM堆叠起来的结构,因此深层玻尔兹曼机的参数的学习可以根据RBM的学习算法来进行,但是正如我们之前所说的那样,它的效率较低。在深层玻尔兹曼机的学习算法当中,可以使用两个阶段的不同策略,这样可以加速模型参数的学习效率。训练的第一阶段为逐层预训练阶段。在这个阶段当中,首先先把深层玻尔兹曼机的可视层

和第一层隐含层

捆绑起来看做一个受限玻尔兹曼机。然后,再把深层玻尔兹曼机的隐含层

看作一个受限玻尔兹曼机。这时,我们可以把

看作是该受限玻尔兹曼机的可视层,隐含层为

。以此类推,在计算深层玻尔兹曼机的最后两个隐含层的时候,可以考虑是否使用标签。如果不使用标签,那么我们可以把这两层看做是一个逆捆绑受限玻尔兹曼机整体过程如图在多个受限玻尔兹曼机的训练完成以后,通过权值减半的方法,将其重新编辑成一个新的深层玻尔兹曼机,最终重新编辑生成的深度玻尔兹曼机模型作为训练结果,如图

第二阶段,为利用类CD算法进行调优。这个阶段首先利用算法估计深层玻尔兹曼机的后验概率,然后利用训练集通过类CD算法调优模型参数。估计后验概率而非精确计算有助于我们提高模型的训练速度。其中,估计后验概率的算法称为平均场算法。平均场算法的基本思想是通过随机变量均值的函数近似估计随机变量的函数的均值。最终,我们便得到了对深层玻尔兹曼机后验概率的估计。这里值得注意的是,深层玻尔兹曼机需要采用经过编辑的受限玻尔兹曼机进行逐层训练,才能获得更好的学习训练效果。自编码器(Autoencoder)可以用来对高维数据进行降维处理,也可以理解成我们之前所了解的数据稀疏化。对于自编码器,它的内部具有两部分结构,一部分为编码器,另一部分为解码器。编码器可以看作是自编码器内部的隐含层

对数据

的处理

。而解码器,可以看作是数据的重构

。这就是对应的映射过程,如图传统自编码器被用于降维或特征学习。近年来,自编码器与潜变量模型理论的联系将自编码器带到了生成式建模的前沿。我们也可以对自编码器加入约束,使之优先地提取更为显著的数据特征。§8.2自编码器8.2.1标准自编码器标准的自编码器是一个关于中间层具有结构对称性的多层前馈网络。它的期望输出与输入相同,可以用来学习恒等映射并抽取无监督特征,如图从自编码器获得有用特征的一种方法是限制

h的维度比x小,这种编码维度小于输入维度的自编码器称为欠完备(undercomplete)自编码器。学习欠完备的表示将强制自编码器捕捉训练数据中最显著的特征。当解码器是线性的且L

为均方误差损失函数时,欠完备的自编码器会学习出与PCA相同的生成子空间。这种情况下,自编码器在训练来执行复制任务的同时学到了训练数据的主元子空间。当然,编码器函数也可以是非线性的,此时我们可以得到更为强大的PCA非线性推广。但是,注意,如果我们赋予了编码器与解码器过大的容量,那么此时它们将起不到任何抽取数据特征的作用,只会单纯地执行复制任务。所以,这也告诉了我们不能仅仅一味地追求损失函数所体现的性能,还应考虑与此同时对于模型究竟发生了什么。作为一个特殊的多层感知机,从理论上讲自编码器是可以通过反向传播算法来学习权重与偏置的。但是由于之前所提到的局部极小值的存在,一个深层的自编码器如果仅仅采用反向传播算法来学习,结果常常是不稳定的,甚至是不收敛的。所以,在实际的应用当中往往使用两个阶段方法来训练自编码器,即无监督预训练与有监督调优。8.2.2稀疏自编码器理想情况下,根据要建模的数据分布的复杂性,选择合适的编码维数和编码器、解码器容量,就可以成功训练任意架构的自编码器。如何控制模型的容量呢,我们之前介绍过,当我们为模型增加了相应的约束项之后,就可以制约模型的容量。换句话说,具有正则化能力的自编码器实现了这样的功能。正则自编码器使用的损失函数可以鼓励模型学习其他特性,而不必限制使用浅层的编码器和解码器以及小的编码维数来限制模型的容量。我们使用稀疏自编码器的目的一般是用来学习特征,以便用于类似于分类的任务。稀疏正则化的自编码器必须反映训练数据集的独特统计特征,而不是简单地充当恒等函数。以这种方式训练,执行附带稀疏惩罚的复制任务可以得到能学习有用特征的模型。为了能够对自编码器进行约束,稀自编码器在模型的损失函数中加入了稀疏惩罚项,这样我们得到了重构误差我们可以认为整个稀疏自编码器框架是对带有潜变量的生成模型的近似最大似然训练,而不将稀疏惩罚视为复制任务的正则化。8.2.3降噪自编码器降噪自编码器(DenoisingAutoencoder,DAE)是一类接受损坏数据作为输入,并训练来预测原始未被损坏数据作为输出的自编码器。具体的做法是,在输入数据中增加一定的噪声对自编码器进行学习训练,使其产生抗噪能力,从而获得更加鲁棒的数据重构效果。假设X是无噪声原始输入,降噪自编码器首先利用随机映射把原始数据加入噪声侵蚀,再将带噪声的样本X

作为输入,以X作为输出,对自编码器进行学习训练,原理如图深度信念网络(DeepBeliefNetwork,DBN)是一种深度学习的生成模型,它可以通过受限玻尔兹曼机的堆叠来构造。深层信念网络既可以用来对数据的概率分布进行建模,也可以用来实现对数据进行分类。通常,深度信念网络作为生成模型的学习过程可以分为两个阶段,先用受限玻尔兹曼机进行逐层预训练,再使用睡醒算法调优。当模型作为判别模型的时候,深层信念网络在经过受限玻尔兹曼机的逐层与训练之后,再使用反向传播算法进行调优。§8.3深度信念网络深度信念网络是具有若干潜变量层的生成模型。潜变量通常是二值的,而可见单元可以是二值或实数。尽管构造连接比较稀疏的DBN是可能的,但在一般的模型中,每层的每个单元连接到每个相邻层中的每个单元(没有层内连接)。顶部两层之间的连接是无向的。而所有其他层之间的连接是有向的,箭头指向最接近数据的层。从数学上看,深层新年网络是一个混合图模型,其中既包含无向部分,又包含有向部分,如图

在了解了模型的基本结构之后,我们需要开始训练模型。利用深层信念网络学习样本的概率分布称为生成学习。和我们之前所介绍的自编码器学习算法类似,深度信念网络的训练过程分为两个阶段,即无监督预训练过程与参数调优过程。对于无监督预训练阶段,和自编码器学习算法类似,把相邻两层看作是受限玻尔兹曼机,进行逐层训练。在参数调优阶段,我们使用上下算法对所有网络参数调优。

在醒阶段,模型反复使用识别权值和识别偏置估计生成权值和生成偏置;在睡阶段,模型则反复使用生成权值和生成偏置估计识别权值和识别偏置。从图里不难看出,醒阶段是一个由上至下的过程,其作用是根据估算识别权值和识别偏置调整整体网络的生成权值和生成偏置,关于醒阶段的算法,如图当作为判别模型的时候,深度信念网络的学习过程像是我们之前所介绍的自编码器,先使用受限玻尔兹曼机进行逐层无监督预训练,再使用反向传播算法进行有监督调优。具体过程如图8.18所示。在无监督训练阶段,从可视层到第r-1隐含层,深度信念网络的相邻两层被看作一个受限玻尔兹曼机,并利用相应算法进行训练。对于联想记忆部分,可以被看成是一个分类受限玻尔兹曼机,标签层和第r-1隐含层可以看成可视层,隐含层就是深度信念网络的第r隐含层。模型的深度越深,模型越可能学习到更多有关数据的细节特征,那么我们如何在追求较深的模型深度的同时克服上述问题呢,此时残差神经网络(ResidualNeuralNetwork,ResNet)被提出。ResNet由微软研究院的KaimingHe等四名华人提出,通过使用ResNetUnit成功训练出了152层的神经网络,并在ILSVRC2015比赛中取得冠军,在top5上的错误率为3.57%,同时参数量比VGGNet低,效果非常突出。§8.4残差神经网络由于许多数据其本身是十分复杂的,因此随着模型深度增加,过拟合现象并不是约束模型深度的主要因素,主要的约束因素还是由梯度所引发的一些列问题,如梯度的消失与爆炸。现在,我们考虑在很深的模型上恢复浅层模型的结构,即添加恒等映射,将浅层模型的结果复制到其他层,这种结构可以缓解由于深度增加而使模型性能下降的问题。20ResNet连接示意图当将残差神经网络应用于卷积神经网络时,模型设计的原则如下:①对于输出特征图大小相同的层,有相同数量的滤波器,即通道数量数相同;②当特征图大小由于池化操作而减半时,滤波器的数量翻倍。当维度不匹配时,同等映射有两种可选方案:①通过补零的方法,维持数据维数的不变;②通过乘以权值矩阵

的方式,将矩阵投影至新的矩阵空间以增加维度。ResNet连接示意图在传统的深度学习模型当中,每一个神经元的输入输出均为标量,而在胶囊神经网络中,每一个神经元被替换为一个小“胶囊”,这个“胶囊”变为了一个向量。它可包含任意个值,每个值代表了当前需要识别的物体(比如图片)的一个特征。由于神经元被替换为了向量形式的表示,所以它可以增加对特征之间相对位置关系的表示,如此便能学习特征之间相对关系。§8.5胶囊神经网络胶囊网络和全连接网络的连接方式一模一样。前一层每一个胶囊神经单元都会和后一层每一个胶囊神经单元相连。如图所示。需要注意的是,图中为了表示清晰,而画出了部分连接线,实际上应该是全连接的。CapsNet连接示意图我们之前介绍了许多激活函数,在胶囊神经网络当中一种新的激活函数被提出,即Squashing激活函数。所以胶囊神经元的输入输出关系为:我们为什么

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论