深度学习DBN深度信念网络课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《深度学习DBN深度信念网络课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 深度 学习 DBN 信念 网络 课件
- 资源描述:
-
1、Belief Nets and Deep Belief Nets数媒学院-许鹏RBM Review我们知道传统的神经网络一般都是单隐层的,最多两个隐层,而且一旦神经元个数太多,模型参数就是迅速增长,采用随机梯度下降的话一般很难找到最优解,甚至随着层数的增加,如果训练网络时权值初始化的很小,那么模型会很快的陷入局部最优解,而且是一个poor local minima,这是神经网络的优化问题。另外一个主要的原因就是判别模型,因为FNN是判别模型,就是即使神经网络的优化问题可以通过一些手段解决,比如替换神经元激活函数,采用ReLU单元,那么还是有问题,就是训练神经网络的时候需要很大的标签数据,因为深
2、度神经网络的模型参数很多,所以在训练数据少的时候很难找到最优解,也就是深度神经网络不具备解决小样本问题的能力,所以受这些限制,深度的神经网络一度被认为是无法训练的,而90年代出现的支持向量机很好的解决了小样本和优化问题,所以受到人们的推崇。但是Hinton一直没有放弃对于深层神经网络的研究,因为他觉得,支持向量机其实只是感知机引入了一些tricks,比如核方法很好的解决了非线性问题,但是核的选择却深深困扰着所有的机器学习的研究者,另外最大化间隔也就是支持向量提高了模型的泛化能力,但是这些并不是提取非线性特征最有效的方法,所以深层神经网络的研究是很有意义的。以上思想来自于Hinton在cours
3、era的公开课Neural Networks for Machine LearningRBM Review在2006以后深度网络开始兴盛,其实主要原因是,可以解决深层神经网络的优化问题了,也就是2006年Hinton发的文章里面采用的训练方法,逐层训练,而在逐层训练的时候起到最重要作用的受限玻尔兹曼机,这样的逐层训练有什么优点那,它的优点就是很好的解决了前面提到的深层神经网络遇到的两个问题,很容易陷入局部最优和没有大量标签样本。其中的逐层训练解决了优化的问题,因为在逐层用玻尔兹曼机预训练的时候就为整个网络赋予了较好的初始权值,使得网络只要经过微调就可以达到最优解,而不会陷入poor local
4、 minima,另外一个优点是由于受限玻尔兹曼机是一个生成模型,它可以充分利用大量的非标签数据,因为预训练的时候是对不含标签的数据本身进行建模,其中RBM的可见单元是非标签训练数据,隐藏层训练完以后可以看做是数据的特征,这样如果将多个RBM堆叠起来就会起到提取数据非线性特征的效果,所以由此开始了深度学习的热潮。Unsupervised Learning for Generative ModelSupervised Learning for Discriminant ModelPretrainingFine-tuneUnlabeledLabeled上面这个图其实是2006年Hinton最开始进行
5、深度学习时候的思想,其中堆叠RBM是核心的思想,当然最重要的那篇论文中并没有提到判别模型,但是用生成模型一样可以做分类,以后会提到。这整个模型中还有一个重要的知识就是信念网络,它和受限玻尔兹曼机很像,但是它是有向图,而玻尔兹曼机是无向图,它们都是学习一个联合概率分布,下面我们讲解信念网络,这对理解DBN很重要。而DBN可以认为是深度学习复兴的一个开始。Belief NetworkRBM和BN都是属于概率图模型,而BN是有向图,它又叫Bayesian networks,causal networks,在1992年,Radford Neal提出如果BN使用和RBM相同的sigmoid激活单元,我们
6、可以得到Sigmoid Belief Nets。既然两者都属于生成模型,都可以对非标签数据进行建模,解决前面提到的两个问题,那么我们该使用RBM还是BN那,亦或是两者的合体,其实deep belief nets深度信念网络就是两者的合体,我们已经学习了RBM,但是要理解DBN还必须理解BN,还有很长的路要走。BN and Probability Graphical ModelRBM和BN都属于PGM,PGM是图论和概率论的结合,这是人工智能一个重要的领域,因为它解决了很多不确定性的问题,用它们建模得到的都是生成模型,我们回忆一下最开始学习BM的时候最重要的两个问题,一个是学习问题,一个是推断问
7、题(就是从模型中采样),对于BN来说也是一样,如果是稀疏连接的有向无环BN,人们已经发明了很多精确推断的方法,但是对于密集连接的BN来说,推断和学习都是问题。stochastic hidden causesvisible effects当我们有可见变量的时候,一般指的是训练数据,我们要解决的问题有两个:The inference problem:给定可见变量时推断蓝色的不可见变量的状态。现在已经有了很多技术处理这个问题,对于简单的贝叶斯网络,可以用精确推断,即根据贝叶斯公式计算得出隐藏节点的值;对于密集连接的网络,就是概率分布很复杂时,现在有MCMC采样方法和变分推断方法可以使用。The le
8、arning problem:在给定可见单元的训练数据的时候,调整整个网络的变量之间的连接权,使得这个生成模型产生训练数据的概率最大化。其实学习问题中包含推断问题,因为学习权值时,一般都需要知道隐藏节点的状态,所以推断是必要的过程。Graphical Models and versus Neural Networksu 最开始的图模型都是借助专家来定义图 结构和节点之间的条件概率:l 例如会找来一个医学专家,询问他这个 病症怎么影响另一个病症,每个病症都 是图模型中的一个节点,并且每个节点 都有一个条件概率来描述其他节点怎么 影响它,就这样依靠专家来定义一个图 模型。l 这样的图模型一般都是稀
9、疏连接的,因 为都是人为定义的,所以不会太过复杂l 而且这样的图模型一般只关注怎么能正 确地推断,例如知道了病的症状,怎么 推测病因。因为模型是专家定义的,所 以几乎不涉及图的学习问题。u 神经网络只是模型的结构和基本属性需要 人为定义:l 对于神经网络来说,学习才是核心的问题 像早期图模型那样人为定义模型是不可能 的,所以神经网络学习到的模型都来自于 训练数据,而不是专家。l 神经网络不像早期图模型那样希望有很好 的解释性和稀疏连接的性质来使得推断更 加的容易,它更注重学习而非推断。l 当然也有神经网络版本的信念网络,也就 是这样的信念网络结构比较有意义,但是 它是通过数据学得的模型,而不是
10、人为定 义,神经网络的生成模型就有两种。当然其实某些情况下,神经网络和概率图模型的界限并不清晰,只是说图模型更关注推断问题而神经网络更专注采用数据来学习模型的问题。Two Generative Neural Networku Energy-based: 使用对称连接将二值随机神经元连接 起来就形成了玻尔兹曼机,它的每一 状态都对应一个能量,所以是给予能 量的模型,而为了简化模型,使得模 型更容易从数据中学得知识,限制了 玻尔兹曼机的连接,就形成了受限玻 尔兹曼机。u Causal: 用有向无环图的方式将二值随机神经元连 接起来就可以得到Sigmoid Belief Net。注 意RBM是无向图
11、而SBN是有向图。u 虽然我们前面讲过受限玻尔兹曼机用 对比散度的算法很容易学习,但是它 也放弃了一些玻尔兹曼机的优点就是 它没有玻尔兹曼机的层间连接,也就 是学习到的RBM隐藏层没有相互影响 其实这是不正确的,它限制了模型表 达数据的能力,而且它只能学习单隐 层,如果采用多隐层结构,也许就能 避免层间无连接导致的模型表达能力 减弱的问题。u SBN是Neal在1992年提出的,他把SBN和BM 做了对比,发现SBN学习起来稍微容易一些 因为在生成数据时它只需要决定了最上面一 层神经元的状态就可以逐层往下计算,最终 得到一个生成的采样值。stochastic hidden causesvisi
12、ble effects其实当时1992年训练BM还很困难,基本还是基于热平衡采样方法,直到2002年Hinton才发明了CD算法,所以他当时暂时转向了研究SBNLearning SBNSBN的学习算法较BM简单一些,因为不像训练BM时需要两个阶段positive phase和negative phase,训练SBN只需要positive phase,这是因为SBN是局部归一化模型,也就是每个节点的条件概率其实都是归一化的,而BM所服从的玻尔兹曼分布必须有一个配分函数使得每个状态的概率是归一化的而negative阶段就是计算配分函数的,所以SBN不需要。所以SBN简单,在给定在可见单元上面的训练
13、数据时,只要能够对隐藏单元进行采样,就能很容易的对模型进行训练,训练过程中使用的是对最大似然函数进行批量梯度下降。所以现在的难点是如何对隐藏节点的后验概率分布进行采样,之所以采样比较难,是因为一个叫做解释失效的现象(explaining away)。stochastic hidden causesvisible effects一旦SBN的学习完成了,那么生成一个可见单元的样本是很容易的,只需要从上到下逐层计算就可以因为它是一个因果模型。然而即使我们知道了模型参数,在给定可见单元时,推断隐藏节点的后验分布也是很难的,而且随着隐藏节点的增多,难度会越来越大,所以对于一个数百万参数的模型来说,即使只
14、是从后验概率采样也很难,导致了无法进行学习。SBNLearning Rule在讲解怎么从隐藏单元的后验概率分布采样之前,我们先来看看如果能够采样了,那么学习算法是怎么样的。如果我们能够采样了,学习算法很简单,就是最大似然估计的思想,也就是使得可见单元神经元的值尽可能和训练数据对应的值一致,即最大似然,因为这里是sigmoid神经元,所以每个神经元开启的概率和它的所有父节点有关。stochastic hidden causesvisible effects下面我们重新回到前面提到的采样问题上,为什么对隐藏单元的后验分布采样不容易。Explaining Away如果两个节点在先验分布中相互独立,而
15、且它们连接到同一个子节点,那么当子节点的数据已知时,这两个节点将不再独立。这对应于图模型中的多因一果的模型。A考虑右图中三个变量的联合概率分布,其中A和B独立,即对于先验概率分布,A和B独立,可以看出只要A与B中任意一个为1则C就为1,这正是多因一果模型。我们所说的explaining away现象是在推断的时候产生的,即当观测到c的值是1时,我们不知道A和B的取值情况,需要进行推断根据下面的联合概率分布表格即可求出下列概率,这都很符合常理。但是如果我们现在确定了A=1,则无论B是多少都有C=1,即有我们可以看出当观测到C=1,而且知道A=1时,B=1的概率下降了,这就表示A和B的后验概率并不
16、独立了,这就叫explaining awayLearning SBNProblemsWhy its hard to learn sigmoid belief nets one layer at a time如右图假设这里有一个多层隐变量的因果模型,是一个SBN,这个模型能生成最终的观测数据。现在我们想学习这个模型在第一隐层和可见层之间的的权值W。在学习的过程中会遇到几个问题。1.当给定可见层数值时,第一隐层的各个隐层变量之间 并非相互独立,这正是由于explaining away2.因为我们模型有多层,更高层的隐藏变量之间甚至先 验分布都不相互独立,正是这些先验分布刻画了第一 隐藏各隐藏变量之
17、间的相关性。所以想要学习W,必 须知道第一隐层变量的后验分布,而想要知道第一隐 层的后验分布,又得知道第二隐层的先验概率分布。hidden variableshidden variableshidden variablesvisible data3.所以所有隐层的权值W都相关,以此类推,如果我们 想要尽可能的逼近第一隐层的先验概率,必须求出所 有更高隐层的分布,层数越多,越能逼近真实分布。Learning SBNMCMC有上面讨论可以知道,学习SBN的规则并不难,但是知道可见单元数据时,对隐藏层进行采样很难尤其想尽可能逼近第一隐层的先验概率分布时,计算更高层的多个隐藏层是很复杂的。下面我们介绍
18、两种方法。u 第一种就是MCMC方法,我们回忆一下当 时玻尔兹曼机的学习问题,就是采用的蒙 特卡洛马尔科夫链的采样方法,随机初始 化所以隐藏神经元的状态,然后根据概率 公式依次更新所有神经元的状态,直到达 到平稳分布,如果用MCMC方法的话,信 念网络的采样更加简单,因为它不需要负 阶段,只需要将可见单元固定,然后更新 隐藏单元即可。但是和玻尔兹曼机一样, 用MCMC很耗时,因为达到平稳分布需要 很长时间,而且往往无法判断需要多长时 间,无法判断是否达到平稳分布。不过优 点就是只要Gibbs采样进行足够长的时间, 肯定能够对隐藏层进行精确的后验分布采 样,然后有了采样值,就可以训练了。u 另一
展开阅读全文