问题标签 [rbm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
584 浏览

matlab - GRBM implementation

I am implementing Gaussian input based RBM in MATLAB.

vi has dimension of 100*784, w has dimension of 784*500, sigma has dimension of 1*784.

p(h|v)= sigmoid(cj+wij*vi/sigma^2). I am getting dimensional error when I multiply w*v/sigma^2. I have implemented it as below,

What is causing the error in the code

0 投票
2 回答
992 浏览

rbm - 以 rbm 为单位的高斯可见单位

我想实现高斯 RBM。为此,我想使数据的均值和单位方差为零。我的数据是 MNIST 数据集。数据集已从以下链接获取并遵循。

访问http://www.cs.toronto.edu/~hinton/code/makebatches.m

所以我以下面的方式实现。但是我的数据变成了 NAN。在将数据除以标准偏差后它变成了 NAN。

%开始积极阶段

% 零均值和单位方差

我用一小部分示例进行了尝试。效果很好。成为 NAN 的原因是什么。

如何摆脱这一点并使高斯输入具有零均值和单位方差。

0 投票
2 回答
1944 浏览

machine-learning - 你能把 RBM 看作是一种乘法神经网络吗?

神经网络对权重求和,但 RBM ......将权重乘以概率?那么 RBM 是不是有点像双向神经网络,将权重相乘而不是相加?

0 投票
1 回答
2517 浏览

machine-learning - 使用 RBM 的深度自动编码器

我正在使用 RBM 实现深度自动编码器。我知道,为了展开网络,我们需要将编码器的转置权重用于解码器。但我不确定我们应该为解码器使用哪些偏差。如果有人可以为我详细说明或向我发送伪代码链接,我将不胜感激。

0 投票
1 回答
2661 浏览

python - (Python) 计算 P(v|h) 的高斯伯努利 RBM

语境:

我正在实施高斯伯努利 RBM,它类似于流行的 RBM,但具有实值可见单位。

确实,两者对隐藏值进行采样的过程p(h=1|v)是相同的,即

在此处输入图像描述

问题:

我的问题在于编码(使用 Python)p(v|h),也就是说,

在此处输入图像描述

我对N()的工作原理有点困惑。我是否只需使用数据的标准偏差将高斯噪声添加到b + sigma * W.dot(h)?

先感谢您。

0 投票
1 回答
1540 浏览

machine-learning - 如何测试受限玻尔兹曼机实现?

我开发了一个简单的二进制受限玻尔兹曼机实现,现在我想测试它。(最终我会将它用于 DBN,但我想独立测试)。

我看到有几个人和论文在谈论测试它的 MNIST 数据集,但我没有找到有关如何做到这一点的详细信息。

我是否必须添加一个连接到隐藏单元的新分类层,然后使用反向传播来训练它?难道没有别的办法了吗?

有些人也在绘制权重(再次在 MNIST 中),但我对如何绘制权重以及它代表什么有疑问......

谢谢

0 投票
2 回答
753 浏览

python - sklearn 0.14.1 RBM 在没有的 NaN 或 Inf 上死机

我从文档中借用了一个想法使用 RBMs + Logistic 回归进行分类。

但是,由于我的数据矩阵中的所有条目都是数字的,因此我收到了一个不应该抛出的错误。

代码:

输出:

数据矩阵中没有 infs 或 nans……什么可能导致这种行为?

编辑:显然我不是唯一一个

0 投票
1 回答
952 浏览

c++ - 如何找出 RBM 无法正常工作的原因?

我正在尝试实现 RBM,并在 MNIST 数据集上对其进行测试。然而,它似乎并没有收敛。

我有 28x28 个可见单元和 100 个隐藏单元。我正在使用大小为 50 的小批量。对于每个时期,我都会遍历整个数据集。我的学习率为 0.01,动量为 0.5。权重是基于均值为 0.0 和标准偏差为 0.01 的高斯分布随机生成的。可见偏差和隐藏偏差初始化为 0。我使用逻辑 sigmoid 函数作为激活。

在每个 epoch 之后,我计算所有 mini-batch 的平均重建误差,以下是我得到的误差:

我绘制了要检查的权重直方图(从左到右:隐藏、权重、可见。顶部:权重,底部:更新):

epoch 3 之后权重的 直方图 epoch 3 之后权重的直方图 http://baptiste-wicht.com/static/finals/histogram_epoch_3.png

epoch 4 之后权重的 直方图 epoch 4 之后权重的直方图 http://baptiste-wicht.com/static/finals/histogram_epoch_4.png

但是,除了隐藏的偏见看起来有点奇怪,其余的似乎都还可以。

我还尝试绘制隐藏的权重:

epoch 3 之后的权重

epoch 3 之后的权重 http://baptiste-wicht.com/static/finals/hiddens_weights_epoch_3.png

epoch 4 之后的权重

epoch 4 之后的权重 http://baptiste-wicht.com/static/finals/hiddens_weights_epoch_4.png

(它们使用该函数以两种颜色绘制:

)

在这里,它们根本没有意义......

如果我走得更远,重建误差会下降一点,但不要超过 0.025。即使我在一段时间后改变动量,它会上升然后下降一点,但并不有趣。此外,在更多的时期之后,权重不再有意义。在我见过的大多数示例实现中,在对完整的数据集进行两到三遍迭代之后,权重才有意义。

我也尝试从可见单位重建图像,但结果似乎几乎是随机的。

我可以做些什么来检查我的实施中出了什么问题?权重应该在某个范围内吗?数据中的某些东西看起来真的很奇怪吗?

完整代码:https ://github.com/wichtounet/dbn/blob/master/include/rbm.hpp

0 投票
0 回答
174 浏览

neural-network - 为什么尽管网络是对称的,但可以学习 RBM 的非对称权重?

我尝试实现受限玻尔兹曼机来确认深度学习方法的实用性。我实现了一个 RBM,并为一层重建提供了 MNIST 字符识别数据。

但是对于每个隐藏节点,学习到的边权重是相同的。

然后我想知道为什么 RBM 可以从对称网络拓扑中获得非对称滤波器。我无法从围绕 RBM 的论文的数学公式中掌握情况。

给我一个直观的见解。

0 投票
0 回答
213 浏览

python - sklearn RBM 抛出 IndexError

我正在 scipy 稀疏格式的文本语料库上训练来自 sklearn 0.14 的 RBM。拟合时,它会运行一段时间(几分钟),但随后会中断并抛出此错误:

(编辑 1:) 代码是:

完整的追溯是:

这里有 199745 个训练示例,我不确定它为什么会超出这些范围。为什么会这样?我应该如何解决它?