深度学习笔记 - RBM
- 格式:pdf
- 大小:912.86 KB
- 文档页数:10
Deep Learning论文笔记之(七)深度网络高层特征可视化Deep Learning论文笔记之(七)深度网络高层特征可视化zouxy09@/zouxy09自己平时看了一些论文,但老感觉看完过后就会慢慢的淡忘,某一天重新拾起来的时候又好像没有看过一样。
所以想习惯地把一些感觉有用的论文中的知识点总结整理一下,一方面在整理过程中,自己的理解也会更深,另一方面也方便未来自己的勘察。
更好的还可以放到博客上面与大家交流。
因为基础有限,所以对论文的一些理解可能不太正确,还望大家不吝指正交流,谢谢。
本文的论文来自:Dumitru Erhan, Aaron Courville, Yoshua Bengio, and Pascal Vincent. Visualizing Higher Layer Features of a Deep Network. Spotlight presentation and poster at the ICML 2009 Workshop on Learning Feature Hierarchies, Montréal, Canada 下面是自己对其中的一些知识点的理解:《Visualizing Higher-Layer Features of a Deep Network》Deep Learning很吸引人,也很玄乎的一个点就是大家都说它可以提取到分级的逐层抽象的特征。
但对我们来说,总是耳听为虚,眼见为实。
所以,每当我们训练完一个深度模型后,我们还特别想把这个深度模型学到的东西给可视化出来,好弄明白它到底学到了什么东西,是不是有意义的,是不是像传说中的那样神奇。
那怎样有意义的可视化呢?对了,我们用deep net来做什么的了?来提取特征的。
那它提取什么特征呢?如果它像我们所说的提取的是底层到高层的特征,例如边缘,到形状,到目标等等,那就证明我们的目的是达到的。
另外,在对深度模型定量的分析上,我们还需要一个定性的分析方法去比较不同的深度架构学习到的特征。
一种基于深度学习的异构多模态目标识别方法孟飞;胡超;刘伟荣【摘要】The heterogeneous multimodal object recognition method was proposed based on deep learning. Firstly, based on the video and audioco-existing feature of media data, a heterogeneous multimodal structure was constructed to incorporate the convolutional neural network(CNN)and the restricted boltzmann machine(RBM). The audio and video information were processed respectively, generating the share characteristic representation by using the canonical correlationanalysis(CCA). Then the temporal coherence of video frame was utilized to improve the recognizing accuracy further. The experiments were implemented based on the standard audio & face library and the actual movie video fragments. The results show thatforboth the two kinds ofvideo sources, the proposed method improves the accuracy of target recognition significantly.%提出一种基于深度学习的异构多模态目标识别方法。
深度学习--深度信念网络(Deep Belief Network)概述深度信念网络(Deep Belief Network, DBN) 由Geoffrey Hinton 在2006 年提出。
它是一种生成模型,通过训练其神经元间的权重,我们可以让整个神经网络按照最大概率来生成训练数据。
我们不仅可以使用DBN 识别特征、分类数据,还可以用它来生成数据。
下面的图片展示的是用DBN 识别手写数字:图 1 用深度信念网络识别手写数字。
图中右下角是待识别数字的黑白位图,它的上方有三层隐性神经元。
每一个黑色矩形代表一层神经元,白点代表处于开启状态的神经元,黑色代表处于关闭状态的神经元。
注意顶层神经元的左下方即使别结果,与画面左上角的对应表比对,得知这个DBN 正确地识别了该数字。
下面是展示了一个学习了大量英文维基百科文章的DBN 所生成的自然语言段落:In 1974 Northern Denver had been overshadowed by CNL, and several Irish intelligence agencies in the Mediterranean region. However, on the Victoria, Kings Hebrew stated that Charles decided to escape during analliance. The mansion house was completed in 1882, the second in its bridge are omitted, while closing is the proton reticulum composed below it aims, such that it is the blurring of appearing on any well-paid type of box printer.DBN 由多层神经元构成,这些神经元又分为显性神经元和隐性神经元(以下简称显元和隐元)。
受限玻尔兹曼机训练算法受限玻尔兹曼机(Restricted Boltzmann Machine, RBM)是一种常用的深度学习模型,它属于生成模型,不同于其他深度学习模型如卷积神经网络和循环神经网络,RBM不是监督学习模型,而是一种无监督学习模型。
RBM的训练算法主要包括对数似然梯度下降和对比散度。
对数似然梯度下降是一种基于最大似然估计的训练算法,用于最大化模型生成样本的概率,即最大化训练样本的对数似然概率。
具体来说,对于一个给定的训练样本,RBM首先使用当前的模型参数来计算出生成样本的概率,然后根据计算得到的概率误差来更新模型参数,以使生成样本的概率最大化。
通过迭代更新参数,可以逐步提高RBM生成样本的能力。
对比散度(contrastive divergence)是RBM训练中的另一种常用算法。
它是一种近似训练方法,利用Gibbs采样来近似计算模型的梯度。
对比散度算法的基本思想是从训练样本中抽样一个可见层的样本,然后通过RBM模型来生成一个隐层的样本,再通过RBM模型来重新生成一个可见层的样本。
通过比较生成的样本和原始的样本,可以得到一个度量生成样本概率的梯度,然后使用该梯度来更新模型参数。
对比散度算法通过简化计算,使得RBM的训练更加高效。
RBM的训练一般包括以下几个步骤:1.初始化模型参数:包括可见层和隐层的偏置和权重。
2.正向传播:根据当前模型参数,从可见层到隐层进行采样,然后从隐层到可见层进行采样,得到生成的样本。
3.反向传播:根据生成样本和原始样本的差异,计算模型参数的梯度。
4.更新模型参数:利用梯度信息,根据梯度下降算法更新模型参数。
5.重复上述步骤:重复进行正向传播、反向传播和更新模型参数的步骤,直到满足停止条件。
实际中,RBM的训练算法可能会涉及到一些改进和优化的技巧,如批处理、动量方法、学习率调整等。
这些技巧可以提高RBM的训练效果和收敛速度。
总结起来,RBM的训练算法主要是基于对数似然梯度下降和对比散度的方法,通过最大化模型生成样本的概率来提高模型的生成能力。
RBM DBN RNN资料综合9.3、Restricted Boltzmann Machine (RBM)限制波尔兹曼机假设有一个二部图,每一层的节点之间没有链接,一层是可视层,即输入数据层(v),一层是隐藏层(h),如果假设所有的节点都是随机二值变量节点(只能取0或者1值),同时假设全概率分布p(v,h)满足Boltzmann 分布,我们称这个模型是RestrictedBoltzmannMachine (RBM)。
下面我们来看看为什么它是Deep Learning方法。
首先,这个模型因为是二部图,所以在已知v的情况下,所有的隐藏节点之间是条件独立的(因为节点之间不存在连接),即p(h|v)=p(h1|v)…p(h n|v)。
同理,在已知隐藏层h的情况下,所有的可视节点都是条件独立的。
同时又由于所有的v和h满足Boltzmann 分布,因此,当输入v的时候,通过p(h|v) 可以得到隐藏层h,而得到隐藏层h之后,通过p(v|h)又能得到可视层,通过调整参数,我们就是要使得从隐藏层得到的可视层v1与原来的可视层v如果一样,那么得到的隐藏层就是可视层另外一种表达,因此隐藏层可以作为可视层输入数据的特征,所以它就是一种Deep Learning方法。
如何训练呢?也就是可视层节点和隐节点间的权值怎么确定呢?我们需要做一些数学分析。
也就是模型了。
联合组态(jointconfiguration)的能量可以表示为:而某个组态的联合概率分布可以通过Boltzmann 分布(和这个组态的能量)来确定:因为隐藏节点之间是条件独立的(因为节点之间不存在连接),即:然后我们可以比较容易(对上式进行因子分解Factorizes)得到在给定可视层v的基础上,隐层第j个节点为1或者为0的概率:同理,在给定隐层h的基础上,可视层第i个节点为1或者为0的概率也可以容易得到:给定一个满足独立同分布的样本集:D={v(1), v(2),…, v(N)},我们需要学习参数θ={W,a,b}。
Deeplearning:⼗九(RBM简单理解) 这篇博客主要⽤来简单介绍下RBM⽹络,因为deep learning中的⼀个重要⽹络结构DBN就可以由RBM⽹络叠加⽽成,所以对RBM的理解有利于我们对DBN算法以及deep learning算法的进⼀步理解。
Deep learning是从06年开始⽕得,得益于⼤⽜Hinton的⽂章,不过这位⼤⽜的⽂章⽐较晦涩难懂,公式太多,对于我这种菜鸟级别来说读懂它的paper压⼒太⼤。
纵观⼤部分介绍RBM的paper,都会提到能量函数。
因此有必要先了解下能量函数的概念。
参考⽹页关于能量函数的介绍: ⼀个事物有相应的稳态,如在⼀个碗内的⼩球会停留在碗底,即使受到扰动偏离了碗底,在扰动消失后,它会回到碗底。
学过物理的⼈都知道,稳态是它势能最低的状态。
因此稳态对应与某⼀种能量的最低状态。
将这种概念引⽤到Hopfield⽹络中去,Hopfield构造了⼀种能量函数的定义。
这是他所作的⼀⼤贡献。
引进能量函数概念可以进⼀步加深对这⼀类动⼒系统性质的认识,可以把求稳态变成⼀个求极值与优化的问题,从⽽为Hopfield⽹络找到⼀个解优化问题的应⽤。
下⾯来看看RBM⽹络,其结构图如下所⽰: 可以看到RBM⽹络共有2层,其中第⼀层称为可视层,⼀般来说是输⼊层,另⼀层是隐含层,也就是我们⼀般指的特征提取层。
在⼀般的⽂章中,都把这2层的节点看做是⼆值的,也就是只能取0或1,当然了,RBM中节点是可以取实数值的,这⾥取⼆值只是为了更好的解释各种公式⽽已。
在前⾯⼀系列的博⽂中可以知道,我们设计⼀个⽹络结构后,接下来就应该想⽅设法来求解⽹络中的参数值。
⽽这⼜⼀般是通过最⼩化损失函数值来解得的,⽐如在autoencoder中是通过重构值和输⼊值之间的误差作为损失函数(当然了,⼀般都会对参数进⾏规制化的);在logistic回归中损失函数是与输出值和样本标注值的差有关。
那么在RBM⽹络中,我们的损失函数的表达式是什么呢,损失函数的偏导函数⼜该怎么求呢? 在了解这个问题之前,我们还是先从能量函数出发。
Deep Learning(深度学习)学习笔记整理系列声明:1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家所无私奉献的资料的。
具体引用的资料请看参考文献。
具体的版本声明也参考原文献。
2)本文仅供学术交流,非商用。
所以每一部分具体的参考资料并没有详细对应。
如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除。
3)本人才疏学浅,整理总结的时候难免出错,还望各位前辈不吝指正,谢谢。
4)阅读本文需要机器学习、计算机视觉、神经网络等等基础(如果没有也没关系了,没有就看看,能不能看懂,呵呵)。
5)此属于第一版本,若有错误,还供学术交流,非商用。
所以每一部分具体的参考资料并没有详细对应。
如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除。
需继续修正与增删。
还望大家多多指点。
大家都共享一点点,一起为祖国科研的推进添砖加瓦(呵呵,好高尚的目标啊)。
请联系:zouxy09@一、概述Artificial Intelligence,也就是人工智能,就像长生不老和星际漫游一样,是人类最美好的梦想之一。
虽然计算机技术已经取得了长足的进步,但是到目前为止,还没有一台电脑能产生―自我‖的意识。
是的,在人类和大量现成数据的帮助下,电脑可以表现的十分强大,但是离开了这两者,它甚至都不能分辨一个喵星人和一个汪星人。
图灵(计算机和人工智能的鼻祖,分别对应于其著名的―图灵机‖和―图灵测试‖)在1950年的论文里,提出图灵试验的设想,即,隔墙对话,你将不知道与你谈话的,是人还是电脑。
这无疑给计算机,尤其是人工智能,预设了一个很高的期望值。
但是半个世纪过去了,人工智能的进展,远远没有达到图灵试验的标准。
这不仅让多年翘首以待的人们,心灰意冷,认为人工智能是忽悠,相关领域是―伪科学‖。
但是自2006年以来,机器学习领域,取得了突破性的进展。
图灵试验,至少不是那么可望而不可及了。
至于技术手段,不仅仅依赖于云计算对大数据的并行处理能力,而且依赖于算法。