受限玻尔兹曼机

连续受限玻尔兹曼机

断了今生、忘了曾经 提交于 2020-03-03 19:19:25
连续 RBM 连续 RBM 是受限玻尔兹曼机的一种形式,它通过不同类型的对比散度采样接受连续的输入(也就是比整数切割得更细的数字)。这允许 CRBM 处理图像像素或字数向量这类被归一化到 0 到 1 之间的小数的向量。 应该注意,深度学习网络的每一层都需要四个元素:输入、系数、偏置项以及变换(激活算法)。 输入是数值数据,是一个来自于前面层(或者原始数据)的向量。系数是通过每个节点层的特征的权重。偏置项确保部分节点无论如何都能够被激活。变换是一种额外的算法,它在数据通过每一层以后以一种使梯度(梯度是网络必须学习的)更容易被计算的方式压缩数据。 这些额外算法和它们的组合可以逐层变化。 一种有效的连续 RBM 在可见(或者输入)层上使用高斯变换,在隐藏层上使用整流线性单元(ReLU)变换。这在面部重建中特别有用。对于处理二进制数据的 RBM 而言,只需要进行二进制转换即可。 高斯变换在 RBM 的隐藏层上的表现不好。相反,使用 ReLU 变换能够表示比二进制变换更多的特征,我们在深度置信网络中使用了它。 REF https://baijiahao.baidu.com/s?id=1599798281463567369&wfr=spider&for=pc https://uwaterloo.ca/data-analytics/sites/ca.data-analytics/files

受限玻尔兹曼机 (Restricted Boltzmann Machines, RBM)

倖福魔咒の 提交于 2020-02-24 10:20:16
==================================================================== 结构 标准的受限玻尔兹曼机由二值( 布尔 / 伯努利 )隐层和可见层单元组成。权重矩阵 W=(w ij )中的每个元素指定了隐层单元 h j 和可见层单元 v i 之间边的权重。此外对于每个可见层单元 v i 有偏置 a i ,对每个隐层单元 h j 有偏置 b j 以及在这些定义下,一种受限玻尔兹曼机配置(即给定每个单元取值)的“能量” (v,h) 被定义为 或者用矩阵的形式表示如下: 这一能量函数的形式与 霍普菲尔德神经网络 相似。在一般的玻尔兹曼机中,隐层和可见层之间的联合概率分布由能量函数给出: 其中, Z 为 配分函数 ,定义为在节点的所有可能取值下 的和(亦即使得概率分布和为1的 归一化常数 )。类似地,可见层取值的 边缘分布 可通过对所有隐层配置求和得到: 由于RBM为一个二分图,层内没有边相连,因而隐层是否激活在给定可见层节点取值的情况下是条件独立的。类似地,可见层节点的激活状态在给定隐层取值的情况下也条件独立。亦即,对 m 个可见层节点和 n 个隐层节点,可见层的配置v对于隐层配置h的 条件概率 如下: 类似地,h对于v的条件概率为 其中,单个节点的激活概率为 和 其中 代表 逻辑函数 。 训练算法

受限玻尔兹曼机和深度置信网络

爱⌒轻易说出口 提交于 2020-02-15 15:23:36
2016-07-20 11:21:33 1受限玻尔兹曼机 梯度下降法 (以及相关的L-BFGS算法等)在使用随机初始化权重的深度网络上效果不好的技术原因是:梯度会变得非常小。具体而言,当使用 反向传播方法 计算导数的时候,随着网络的深度的增加,反向传播的梯度(从输出层到网络的最初几层)的幅度值会急剧地减小。结果就造成了整体的损失函数相对于最初几层的权重的导数非常小。这样,当使用梯度下降法的时候,最初几层的权重变化非常缓慢,以至于它们不能够从样本中进行有效的学习。这种问题通常被称为“梯度的弥散”[4]。 与梯度弥散问题紧密相关的问题是:当神经网络中的最后几层含有足够数量神经元的时候,可能单独这几层就足以对有标签数据进行建模,而不用最初几层的帮助。因此,对所有层都使用随机初始化的方法训练得到的整个网络的性能将会与训练得到的浅层网络(仅由深度网络的最后几层组成的浅层网络)的性能相似。 梯度弥散一直是困扰着深度神经网络的发展,那么如何解决梯度弥散问题呢?多伦多大学的Geoff Hinton提出了设想:受限玻尔兹曼机(Restricted Boltzmann Machines, RBM)[1],即一类具有两层结构的、对称链接无自反馈的随机神经网络模型(一种特殊的马尔科夫随机场)。 如图1所示,一个RBM包含一个由随机的隐单元构成的 隐藏层 (一般是伯努利分布)和一个由随机的可见(观测