【问题标题】:Gaussian-RBM fails on a trivial exampleGaussian-RBM 在一个简单的例子上失败了
【发布时间】: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


    【解决方案1】:

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

    Click 用于图像,因为我需要更多声誉才能直接发布...

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

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

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

    【讨论】:

    • 感谢您的帮助!因为名声,我不能投票给你。而且我不想将其标记为已回答,因为我不确定我是否正确理解了所有内容。
    • 如果您有具体的后续问题,请继续 :)
    • @Tobias ,您提到使用对比散度和初始化差的权重等策略学习高斯可见 RBM 可能会失败。似乎还有其他方法可以训练 RBM。你有什么例子吗? :)
    猜你喜欢
    • 1970-01-01
    • 2014-07-31
    • 2021-09-27
    • 2013-09-16
    • 2013-11-22
    • 1970-01-01
    • 2017-08-13
    • 2016-11-28
    • 1970-01-01
    相关资源
    最近更新 更多