RBM-DBN-RNN资料综合.docx

上传人:11****ws 文档编号:2257725 上传时间:2019-05-03 格式:DOCX 页数:99 大小:2.86MB
下载 相关 举报
RBM-DBN-RNN资料综合.docx_第1页
第1页 / 共99页
RBM-DBN-RNN资料综合.docx_第2页
第2页 / 共99页
RBM-DBN-RNN资料综合.docx_第3页
第3页 / 共99页
RBM-DBN-RNN资料综合.docx_第4页
第4页 / 共99页
RBM-DBN-RNN资料综合.docx_第5页
第5页 / 共99页
点击查看更多>>
资源描述

1、 RBM DBN RNN 资料综合9.3、Restricted Boltzmann Machine (RBM)限制波尔兹曼机假设有一个二部图,每一层的节点之间没有链接,一层是可视层,即输入数据层(v),一层是隐藏层(h),如果假设所有的节点都是随机二值变量节点(只能取 0 或者 1 值) ,同时假设全概率分布 p(v,h)满足Boltzmann 分布,我们称这个模型是RestrictedBoltzmannMachine (RBM)。下面我们来看看为什么它是 Deep Learning 方法。首先,这个模型因为是二部图,所以在已知 v 的情况下,所有的隐藏节点之间是条件独立的(因为节点之间不存在

2、连接) ,即 p(h|v)=p(h1|v)p(hn|v)。同理,在已知隐藏层 h 的情况下,所有的可视节点都是条件独立的。同时又由于所有的 v 和 h 满足 Boltzmann 分布,因此,当输入 v 的时候,通过 p(h|v) 可以得到隐藏层 h,而得到隐藏层 h 之后,通过 p(v|h)又能得到可视层,通过调整参数,我们就是要使得从隐藏层得到的可视层v1 与原来的可视层 v 如果一样,那么得到的隐藏层就是可视层另外一种表达,因此隐藏层可以作为可视层输入数据的特征,所以它就是一种 Deep Learning 方法。如何训练呢?也就是可视层节点和隐节点间的权值怎么确定呢?我们需要做一些数学分析

3、。也就是模型了。联合组态(jointconfiguration)的能量可以表示为:而某个组态的联合概率分布可以通过 Boltzmann 分布(和这个组态的能量)来确定:因为隐藏节点之间是条件独立的(因为节点之间不存在连接) ,即:然后我们可以比较容易(对上式进行因子分解 Factorizes)得到在给定可视层 v 的基础上,隐层第 j 个节点为 1 或者为 0 的概率:同理,在给定隐层 h 的基础上,可视层第 i 个节点为 1 或者为 0 的概率也可以容易得到:给定一个满足独立同分布的样本集:D= v(1), v(2), v(N),我们需要学习参数 =W,a,b。我们最大化以下对数似然函数(最

4、大似然估计:对于某个概率模型,我们需要选择一个参数,让我们当前的观测样本的概率最大):也就是对最大对数似然函数求导,就可以得到 L 最大时对应的参数 W 了。如果,我们把隐藏层的层数增加,我们可以得到 Deep Boltzmann Machine(DBM);如果我们在靠近可视层的部分使用贝叶斯信念网络(即有向图模型,当然这里依然限制层中节点之间没有链接) ,而在最远离可视层的部分使用 Restricted Boltzmann Machine,我们可以得到 DeepBelief Net(DBN ) 。9.4、Deep Belief Networks 深信度网络DBNs 是一个概率生成模型,与传统

5、的判别模型的神经网络相对,生成模型是建立一个观察数据和标签之间的联合分布,对P(Observation|Label)和 P(Label|Observation)都做了评估,而判别模型仅仅而已评估了后者,也就是 P(Label|Observation)。对于在深度神经网络应用传统的 BP 算法的时候,DBNs 遇到了以下问题:(1)需要为训练提供一个有标签的样本集;(2)学习过程较慢;(3)不适当的参数选择会导致学习收敛于局部最优解。DBNs 由多个限制玻尔兹曼机( Restricted Boltzmann Machines)层组成,一个典型的神经网络类型如图三所示。这些网络被“限制”为一个可视

6、层和一个隐层,层间存在连接,但层内的单元间不存在连接。隐层单元被训练去捕捉在可视层表现出来的高阶数据的相关性。首先,先不考虑最顶构成一个联想记忆(associative memory)的两层,一个 DBN 的连接是通过自顶向下的生成权值来指导确定的,RBMs 就像一个建筑块一样,相比传统和深度分层的 sigmoid 信念网络,它能易于连接权值的学习。最开始的时候,通过一个非监督贪婪逐层方法去预训练获得生成模型的权值,非监督贪婪逐层方法被 Hinton 证明是有效的,并被其称为对比分歧(contrastive divergence) 。在这个训练阶段,在可视层会产生一个向量 v,通过它将值传递到

7、隐层。反过来,可视层的输入会被随机的选择,以尝试去重构原始的输入信号。最后,这些新的可视的神经元激活单元将前向传递重构隐层激活单元,获得 h(在训练过程中,首先将可视向量值映射给隐单元;然后可视单元由隐层单元重建;这些新可视单元再次映射给隐单元,这样就获取新的隐单元。执行这种反复步骤叫做吉布斯采样) 。这些后退和前进的步骤就是我们熟悉的 Gibbs 采样,而隐层激活单元和可视层输入之间的相关性差别就作为权值更新的主要依据。训练时间会显著的减少,因为只需要单个步骤就可以接近最大似然学习。增加进网络的每一层都会改进训练数据的对数概率,我们可以理解为越来越接近能量的真实表达。这个有意义的拓展,和无标

8、签数据的使用,是任何一个深度学习应用的决定性的因素。在最高两层,权值被连接到一起,这样更低层的输出将会提供一个参考的线索或者关联给顶层,这样顶层就会将其联系到它的记忆内容。而我们最关心的,最后想得到的就是判别性能,例如分类任务里面。在预训练后,DBN 可以通过利用带标签数据用 BP 算法去对判别性能做调整。在这里,一个标签集将被附加到顶层(推广联想记忆) ,通过一个自下向上的,学习到的识别权值获得一个网络的分类面。这个性能会比单纯的 BP 算法训练的网络好。这可以很直观的解释,DBNs 的 BP 算法只需要对权值参数空间进行一个局部的搜索,这相比前向神经网络来说,训练是要快的,而且收敛的时间也

9、少。DBNs 的灵活性使得它的拓展比较容易。一个拓展就是卷积DBNs(Convolutional Deep Belief Networks(CDBNs)) 。DBNs 并没有考虑到图像的 2 维结构信息,因为输入是简单的从一个图像矩阵一维向量化的。而 CDBNs 就是考虑到了这个问题,它利用邻域像素的空域关系,通过一个称为卷积 RBMs 的模型区达到生成模型的变换不变性,而且可以容易得变换到高维图像。DBNs 并没有明确地处理对观察变量的时间联系的学习上,虽然目前已经有这方面的研究,例如堆叠时间 RBMs,以此为推广,有序列学习的 dubbed temporal convolutionmach

10、ines,这种序列学习的应用,给语音信号处理问题带来了一个让人激动的未来研究方向。目前,和 DBNs 有关的研究包括堆叠自动编码器,它是通过用堆叠自动编码器来替换传统 DBNs 里面的 RBMs。这就使得可以通过同样的规则来训练产生深度多层神经网络架构,但它缺少层的参数化的严格要求。与 DBNs 不同,自动编码器使用判别模型,这样这个结构就很难采样输入采样空间,这就使得网络更难捕捉它的内部表达。但是,降噪自动编码器却能很好的避免这个问题,并且比传统的 DBNs更优。它通过在训练过程添加随机的污染并堆叠产生场泛化性能。训练单一的降噪自动编码器的过程和 RBMs 训练生成模型的过程一样。限制波尔兹

11、曼机(Restricted Boltzmann Machines)能量模型的概念从统计力学中得来,它描述着整个系统的某种状态,系统越有序,系统能量波动越小,趋近于平衡状态,系统越无序,能量波动越大。例如:一个孤立的物体,其内部各处的温度不尽相同,那么热就从温度较高的地方流向温度较低的地方,最后达到各处温度都相同的状态,也就是热平衡的状态。在统计力学中,系统处于某个状态的相对概率为 ,即玻尔兹曼因子,其中 T 表示温度, 是玻尔兹曼常数, 是状态 的能量。玻尔兹曼因子本身并不是一个概率,因为它还没有归一化。为了把玻尔兹曼因子归一化,使其成为一个概率,我们把它除以系统所有可能的状态的玻尔兹曼因子之

12、和 Z,称为配分函数(partition function)。这便给出了玻尔兹曼分布。玻尔兹曼机(Boltzmann Machine,BM)是一种特殊形式的对数线性的马尔科夫随机场(Markov Random Field,MRF),即能量函数是自由变量的线性函数。 通过引入隐含单元,我们可以提升模型的表达能力,表示非常复杂的概率分布。限制性玻尔兹曼机(RBM)进一步加一些约束,在 RBM 中不存在可见单元与可见单元的链接,也不存在隐含单元与隐含单元的链接,如下图所示能量函数在限制玻尔兹曼机中定义为,b,c,W 为模型的参数,b,c 分别为可见层和隐含层的偏置,W 为可见层与隐含层的链接权重有了

13、上述三个公式我们可以使用最大似然估计来求解模型的参数:设。把概率 p(x)改写为 。由于可见单元 V 和不可见单元 h 条件独立,利用这一性质,我们可以得到:logistic 回归估计 v 与 h 取一的概率:有了以上条件,我们可以推导出参数变化的梯度值:使用基于马尔可夫链的 gibbs 抽样,对于一个 d 维的随机向量x=(x1,x2,xd),假设我们无法求得 x 的联合概率分布 p(x),但我们知道给定 x 的其他分量是其第 i 个分量 xi 的条件分布,即 p(xi|xi-),xi-=(x1,x2,xi-1,xi+1xd)。那么,我们可以从 x 的一个任意状态(如(x1(0),x2(0)

14、,xd(0))开始,利用条件分布 p(xi|xi-),迭代地对这状态的每个分量进行抽样,随着抽样次数 n 的增加,随机变量(x1(n),x2(n),xd(n)的概率分布将以 n 的几何级数的速度收敛到 x 的联合概率分布 p(v)。基于 RBM 模型的对称结构,以及其中节点的条件独立行,我们可以使用Gibbs 抽样方法得到服从 RBM 定义的分布的随机样本。在 RBM 中进行 k 步Gibbs 抽样的具体算法为:用一个训练样本(或者可视节点的一个随机初始状态)初始化可视节点的状态 v0,交替进行下面的抽样:理论上,参数的每次更新需要让上面的链条图形遍历一次,这样带来的性能损耗毫无疑问是不能承受的。Hinton 教授提出一种改进方法叫做对比分歧(Contrastive Divergence),即 CD-K。他指出 CD 没有必要等待链收敛,样本可以通过 k步 的 gibbs 抽样完成,仅需要较少的抽样步数(实验中使用一步)就可以得到足够好的效果。下面给出 RBM 用到的 CD-K 算法伪代码。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。