文档详情

深度学习笔记---RBM.pdf

发布:2018-10-11约1.98万字共10页下载文档
文本预览下载声明
深度学习读书笔记 三.限制波尔兹曼机 3.1 限制波尔兹曼机 (RBM)使用方法 3.1.1 RBM 的使用说明 一个普通的RBM 网络结构如下。 以上的RBM 网络结构有n 个可视节点和 m 个隐藏节点,其中每个可视节点只和m 个 隐藏节点相关,和其他可视节点是独立的,就是这个可视节点的状态只受 m 个隐藏节点的 影响,对于每个隐藏节点也是,只受n 个可视节点的影响,这个特点使得RBM 的训练变得 容易了。 RBM 网络有几个参数,一个是可视层与隐藏层之间的权重矩阵 ,一个是可视节点 × 的偏移量b = (b1,b2⋯bn),一个是隐藏节点的偏移量c = (c1,c2⋯cm),这几个参数决定了 RBM 网络将一个n 维的样本编码成一个什么样的m 维的样本。 RBM 网络的功能有下面的几种,就简单地先描述一下。 * + 首先为了描述容易,先假设每个节点取值都在集合*0,1+中,即∀i,j, ∈ 0,1 ,ℎ ∈ *0,1+。 一个训练样本过来了取值为x = (x1,x2⋯xn),根据 RBM 网络,可以得到这个样本的 m 维的编码后的样本y = (y1,y2 ⋯ym),这m 维的编码也可以认为是抽取了m 个特征的样 本。而这个 m 维的编码后的样本是按照下面的规则生成的:对于给定的x = (x1,x2⋯xn), ( | ) ∑ 隐藏节点的第j 个特征的取值为1 的概率为p hj = 1 v = σ( =1 ×vi +cj),其中的v 取 值就是x ,hj 的取值就是yj ,也就是说,编码后的样本y 的第j 个位置的取值为1 的概率是 p(hj = 1|v)。所以,生成yj 的过程就是: ( | ) ∑ i )先利用公式p hj = 1 v = σ( =1 ×vi +cj),根据x 的值计算概率p(hj = 1|v),其 中vi 的取值就是xi 的值。 ii )然后产生一个0 到1 之间的随机数,如果它小于p(hj = 1|v),yj 的取值就是1,否则 就是0 。 反过来,现在知道了一个编码后的样本y ,想要知道原来的样本x ,即解码过程,跟上 面也是同理,过程如下: ( | ) ∑ i )先利用公式p vi = 1 h = σ( =1 ×hj +bi),根据y 的值计算概率p(hj = 1|v), 其中hj 的取值就是yj 的值。 ii )然后产生一个0 到1 之间的随机数,如果它小于p(vi = 1|h),hi 的取值就是1,否 则就是0 。 3.1.2 RBM 的用途 RBM 的用途主要是两种,一是对数据进行编码,然后交给监督学习方法去进行分类或 回归,二是得到了权重矩阵和偏移量,供BP 神经网络初始化训练。 第一种可以说是把它当做一个降维的方法来使用。 第二种就用途比较奇怪。其中的原因就是神经网络也是要训练一个权重矩阵和偏移量, 但是如果直接用BP 神经网络,初始值选得不好的话,往往会陷入局部极小值。根据实际应 用结果表明,直接把RBM 训练得到的权重矩阵和偏移量作为BP 神经网络初始值,得到的结 果会非常地好。 这就类似爬山,如果一个风景点里面有很多个山峰,如果让你随便选个山就爬,希望你 能爬上最高那个山的山顶,但是你的精力是有限的,只能爬一座山,而你也不知道哪座山最 高,这样,你就很容易爬到一座不是最高的山上。但是,如果用直升机把你送到最高的那个 山上的靠近山顶处,那你就能很容易地爬上最高的那座山。这个时候,RBM 就的角色就是 那个直升机。 其实还有两种用途的,下面说说。 第三种,RBM 可
显示全部
相似文档