【发布时间】:2014-10-27 18:53:01
【问题描述】:
我想对具有连续输入变量的受限玻尔兹曼机有一个基本的了解。我正在尝试设计最简单的示例,以便可以轻松跟踪行为。所以,就是这样。
输入数据是二维的。每个数据点均取自两个对称正态分布 (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。我将不胜感激 cmets / 建议,或者如果有人可以重现我的问题。
【问题讨论】:
标签: matlab machine-learning artificial-intelligence deep-learning rbm