5

我想对具有连续输入变量的受限玻尔兹曼机有一个基本的了解。我正在尝试设计最简单的示例,以便可以轻松跟踪行为。所以,就在这里。

输入数据是二维的。每个数据点均取自两个对称正态分布 (sigma = 0.03) 之一,其中心间隔良好(15 倍 sigma)。RBM 具有二维隐藏层。

我希望获得一个 RBM,它会以与我的火车数据相同的方式生成两个点云。我什至在想,在添加了一些稀疏约束之后,对于从一个分布中提取的数据,我的隐藏层等于 (0,1),而对于另一个分布,则隐藏层等于 (1,0)。

我自己写了matlab代码,尝试了一些网上的解决方案(比如DeepMat:https ://github.com/kyunghyuncho/deepmat ),但是不管我的步长有多小,RBM都会收敛到一个平凡的解决方案,其中预测可见层等于整个数据的平均值。我尝试增加隐藏层的维度,但它并没有实质性地改变任何东西。我还尝试通过零均值和方差对数据进行归一化 - 没有变化。我也有 sigma = 1 而不是 0.03,同时保持 15*sigma 的传播,同样没有变化。

由于这个问题不仅存在于我的代码中,也存在于其他代码中,所以我认为我可能在做一些根本错误的事情,并试图以不应该使用的方式使用 RBM。我将不胜感激评论/建议,或者如果有人可以重现我的问题。

4

1 回答 1

6

在此处查看有关可见变量上的哪些概率密度函数可以用高斯-伯努利 RBM 表示的解释。下图给出了一个说明,其中 b 是可见偏差,w1 和 w2 是与隐藏单元相关的权重向量。

点击图片,因为我需要更多的声誉才能直接发布...

您会看到 RBM 对具有 2^H 分量的高斯混合模型进行建模,其中每个分量的平均值是可见偏差和与隐藏单元子集相关联的权重向量的叠加。每个组件的权重与该子集中的隐藏单元的偏差有关。

也就是说,您对两个高斯混合的建模问题可以用一个只有一个隐藏单元的 RBM 来最好地表示,其中可见偏差等于一个分量的平均值以及可见偏差的总和以及隐藏单元的权重向量等于第二个混合成分的平均值。当你的 RBM 有两个隐藏单元时,事情会变得更加复杂,因为这个 RBM 对具有 4 个分量的高斯混合进行建模。

即使你的 RBM 只有一个隐藏单元,在使用对比散度和初始化不良的权重和偏差等学习策略时,学习两个分量相距很远的高斯混合也可能会失败。

于 2014-10-06T18:35:38.417 回答