RBM 算法理解

所需积分/C币:10 2014-04-29 00:39:46 775KB PDF
13
收藏 收藏
举报

RBM 算法理解 这份笔记参考了很多网上的资源,也加入很多自己的理解和详细推导, 非常适合初学者 使用, 这篇笔记属于复合型产物,感谢那些网上无私奉献自己心得的人们。
RBM能量模型 这里说一下RBM的能量模型,这里关系到RBM的理解 能量模型是个什么样的东西呢?直观上的理解就是,把一个表面粗糙又不太圆的小球, 敚到一个表面也匕较粗糙的碗里,就随便往里面一扔,看看小球停在硫的哪个地方。一般来 说停在碗底的可能性比较大,停在靠近碗底的其他地方也可能,甚至运气好还会停在碗口附 近(这个碗是比较浅的一个碗):能量模型把小球停在哪个地方定义为一种状态,每种状态 都对应着个能量,这个能量由能量函数来定义,小球处在某和状态的概率(如停在碗底 的概率跟停在碗口的慨率当然不一样)可以通过这种状态下小球具有的能量来定义(换个说 法,如小球停在了碗∏附近,这是·种状态,这个状态对应着一个能量,而发生“小球停 在碗口附近”这种状态的概率,可以用来表小,表小成 ,其中是能量函数), 其实还有一个简单的理解,球在碗底的能量一般小于在碗边缘的,比如重力势能这,显然碗 底的状态稳定些,并且概率大些,就是我认为的能量模型。 1.概率分布函数。各个节点的取值状态是概率的、随机的,这里用了3种概率分布来描述 整个RBM网络,有联合概率密度,条件概率密度和边缘概率密度 2.能量函数。随机神经网络的基础是统计力学,差不多思想是热力学米的,能量函数是描 述整个系统状态的一种测度。系统越有序或者概率分布越集中(比如小球在碗底的情况), 系统的能量越小,反之,系统越无序并且概率分布发散(比如平均分布),则系统的能量 越大,能量函数的最小值,对应着整个系统最稳定的状态 RBM能量模型的作用是什么呢?为什么要弄清楚能量模型的作用呢? 第一、RBM网终是一种无监督学习的方法,无监督学习的目的自然就是最大限度的拟 合输入数据和输出数据。 第二、对于组输入数据来说,如果不知道它的分布,那是非常难对这个数据进行学 习的。例如:如果我们实现写出了高斯函数,就可以写出似然睬数,那么就可 以进行求解,就知道大致的参数,所以实现如果不知道分布是非常痛苫的·件 事情,但是,没关系啊,统计力学的一项硏究成果表明,任何概率分布都可以 转变成基于能量的模型,即使这个概率分布是未知的。我们仍然可以将这个分 布改写成能量函数 第三、能量函数能够为无监督学习方法提供个特殊的东两)日标函数b)标解 换句话说,使用能量模型使得学丬一个数据的变得容易叮行了。 能否把最优解的求解嵌入能量模型中至关重要,决定着我们具体问题求解的好 坏。能量模型要捕获变量(这里我理解的是各个分量之间的关系)之间的 相关性,变量之间的相关程度决定了能量的高低。把变量的相关关系用图表 是一个图,以概率为测度,所以是概率图)模型的能量模型。 由上面所说,RBM是一种概率图模型,既然引入了概率,那么就可以通过采样技术来 求解,在CD( contrastive diⅳ vergence)算法中采栟部分扮演着模拟求解梯度的角色。 能量模型需要定义一个能量函数,RBM能量函数如下: ()=∑∑∑∑ 这个式子的含义非常明显,每个节点有一个能量, hidden和wsbe之间的连接也有 个能量,如何求解呢?如果ⅵ isible有组取值(1,0,1),对应的 hidden取值是(1,0, 1,01,0,分别带入上面的公式,最后得到的结果就是能量,这里要注意到()里面 的地位是相等的,不存在先后顺序,这是一个结构整体的能量值 为什么要搞能量函数?前面指出未知分布不好求解但是可以通过能量函数米表示,那么 能量函数的概率模型很大程度上可以得到未知分布的概率模型,这样大致就知道了未知分布 的分布 既然知道了—个RBM网络 hidden和 visible整个框架的能量函数,那么可以定义这个能 量函数(能量)出现的概率,很显然这个能量的出现与 hidden和sbe的每个节点的取值 都有关系,那么这个能量出现的概率就是和的联合概率密度 里可以将能量函数理解成小球在碗里面具体的一个位置所具有的一个能量,那么联合概率密 度就是能量也就是这个状态出现的概率) 这个概率不是随便定义的,是有统计热力学解释的 定义了联合概率密度,那么我就可以得到一个分布,现在再回来前面的知识,可以得到 1最初是未知分布的数据,求解参数,完全无从下手2.将未知分布的数据与能量函数联合在 起3定义这个能量函数出现的概率,其实也就是对应着未知分布数据一个函数出现的概 率4我们可以得到能量函数的概率分布,这个分布就叫 Gibbs分布,这里不是一个标准的 Gibs分布,而是一个特殊的 Gibbs分布,这个分布有一组参数,其实就是能量函数中的那 儿个 前面知道∫ 下面可以得到边缘概率密度 和() ∑ ∑ 也可以得到条件概率密度 和 ∑ ∑ 从概率到极大似然 上面的内容已经得到了Gb分布的各种概率密度函数,现在回到最初的目的,即求解 让RBM网络表示的Gibs分布最大可能的拟合输入数据,或者换一种说法,求解 的目标可以认为是让RBM网终表示的 Gibbs分布与输入样本的分布尽可能的接近 现在的小问题是“最大可能的拟合输入数据"这句话怎么定义: 假设表小样本空间,即里面含有很多个不同的,是输入样本的分布,()表 示训练样本的概率,再假设是RBM网络表示的 Gibbs分布的的边缘分布,即 可以理解成每种不同情况的都对应着一个概率。输入样本的集合定 义为,那么样木真实的分布和RBM网络表示的边缘分布的KL距离就是2者之间的差异性 (KL的详细讲解见附录),样本的真实分布(什么是样本的分布?见附录)与RBM网络表示 的边缘分布的KL距离如下所示 ()20)-0=2()0)2()( 如果输入样本表小的分布与RBM表小的Gbbs分布完全符合,这个KL距离就是0,否 则是一个大于0的数 山附录对熵的定义(在KL讲解里面)可知,上面 )的第一项是输入样本的熵, 这个是·个固定的数,输入样本固定了,熵就固定了,第二项明显无法直接求。由KL的性 质可知,KL是一定大于0的,那么当第二项最大的时候,整个KL最小,我们本来的日的也 是求KL最小。注意到第二项-∑()()中的()当样木固定的时候,是固定的 而函数是递增的,即当∑()最大即可。在实际应用中,我们采用的是 ∑(),其中是样本的个数。这里的-∑()就是极大似然估计(这里大家可 以∈代替了∈Ω,这是为什么呢?拿一个2维向量来说,(1,0),(1,1),(0,0) 这3个的概率和是1,(0,1)出现的概率是0,那么样本空间是(1,0),(1,1),(0,0), 但是我们采样的时候只采样到∫(1,0),(1,1),那么这次的输入样本的集合就是(1,0) (1,1))。 结论就是求解输入样本的极大似然,就能让RBM网络表示的 Gibbs分布和样本本身表 示的分布最接近。 求解极大似然 这里对似然的定义参考我的另一篇笔记EM算法 这个样本从所有样本被取到的概率为 0)=∏(b)b∈6 ()=( 0)=∑(0)c⊙ 在RBM模型中,上面的似然函数写成(上面的式子中是样本,也可以理解为一个 isbe节点): (O)-(0)-l()O∈ ()=∏(b)=∑()0∈ 对这个函数进行求导 02( 06 6∈⊙ 66 我们由能量模型应该也知道了()的概率 ∑ ,那么 下面开始求导 ∑ 06 ∑ c8 上面这个式子一定要注意一个问题,即第一项的 和第二项的 00是不一样的。第一项的是固定的 里面的取多少它就取多少 而第二项 里面的是所有可能的,其实这个细节也可以从∑和∑中发 现出来 () 注意到() 和 ,上面的式子可以写成 ∑ 06 06 ∑ () ∑ x((2m0)2x(2m 06 06 第一项和第二项分别是 和 的期望,这2个是不同的,第一 06 0 个求 在 下的期望,第二项求的是 这个函数在概率 ()下的期望。 将O和()由最前面的东西代换,可得到以下3个式了 ∑∑∑∑∑ ∑() ∑∑() ∑()∑ ∑( 这里用到了一个技巧 ∑ 这里∑是指hden中第个向量为0,其他分量的值任取的一组向量。 ?岁 ∑()∑()∑() ∑() ∑∑∑∑ )-∑ ()-∑∑()( )-∑()∑() ∑∑ =∑()-∑∑()() =∑()-∑()∑() )-∑()( 可以发现 和 的第二项都含有∑,这意味着要对进 行遍历,这明显不可能,但是算梯度需要怎么小呢?这时就可以通过 markov采样来算,只 要抽取一堆样本,这些样本符合RBM网络表示的Gibs分布,就可以把上面3个偏导数算 出来。 具体的处理过程是对于每个训练样本,都用某种抽样方法抽取一个对应的,这个 是符合RBM网络所表示的Gbs分布的。那么对于整个训练集{ 米说,就 得到一组对应的符合RBM网络表示的Gibs分布的样本集{ 然后拿这个样本 去估算第二项∑,那么梯度就可以用以下的式了来近似了: () (=)-∑() (=)-∑() 上面的式子中表小第个训练样木,是所对应的符合RBM网络表小的Gs 分布的样本,在式子中用表示。梯度求出来了,就可以求解了,最后不断迭代就可以得 到

...展开详情
试读 16P RBM 算法理解
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
stupidmistake 写的真不错,公式推导挺清晰的。但吉布斯采样我还是没看懂。
2017-04-18
回复
allent201001488 写的详细,不像其他文章,很多概念都没有解析
2016-09-27
回复
Eason00888 不错,下载下来好好研究一下
2016-09-26
回复
yc695653190 感谢大神的心得指导,让我懂得了不少
2016-08-17
回复
zshtom007 这篇RBM算法理解的帮助很大,浅显易懂!!!! 非常赞!
2016-06-15
回复
Hepingood 挺好的,理解起来不难
2016-04-19
回复
wzy199010 算法真的很好,有利于学习
2016-04-10
回复
caitijian 非常好的资源,值得下载
2015-11-08
回复
LGH025 文章加入了很多自己的理解,很有启发性,对于参数的设置讲的不太深入,谢谢
2015-09-18
回复
xixi961120 对深入理解非常有帮助,谢谢分享
2015-09-15
回复
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
关注 私信
上传资源赚积分or赚钱
最新推荐
RBM 算法理解 10积分/C币 立即下载
1/16
RBM 算法理解第1页
RBM 算法理解第2页
RBM 算法理解第3页
RBM 算法理解第4页

试读结束, 可继续读1页

10积分/C币 立即下载 >