问题标签 [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 投票
0 回答
2134 浏览

tensorflow - TensorFlow GraphDef 不能大于 2GB

我正在尝试使用 tensorflow 实现深度自动编码器。RBM 预训练工作得很好,但是在进行微调时,它会引发错误:'ValueError: GraphDef cannot be greater than 2GB'。我的输入是 [12396, 8192] 形状的数组,这是我的图层:[8192 16384 8192 4096 2048 1024 512 256 512 1024 2048 4096 8192 16384 8192]。我知道问题出在哪里,但我不知道如何解决它。我曾考虑过使用多个图,但是如果我的输入太大而无法存储一层怎么办?此外我不知道我应该使用多少个图表。为每一层设置图表?那将太慢且没有必要。谢谢!

0 投票
1 回答
846 浏览

python - 如何在卷积 RBM 中输出特征?

阅读本文后,我了解到我可以通过仅激活一个隐藏单元并让 Gibbs 从隐藏单元中对可见单元进行采样来创建人们所谓的“重建”。

但现在我正在尝试在 python中实现一些卷积受限玻尔兹曼机。我的计划是坚持第 3.2 节中介绍的版本(所以,请注意,我还不打算实现卷积深度信念网络),并且仅在该部分工作时插入概率最大池。

为了检查它是否正常工作,我想创建类似于文章中介绍的“功能”(例如,图 3)。第一层学习到的特征与其他类型网络学习到的特征很相似。但我不确定他们是如何创建这些功能的。我不清楚这些学习到的“特征”是否是过滤器的权重,或者我是否应该通过打开某个过滤器的所有隐藏单元以某种方式创建重建。我也不确定第 3.6 节与我的更简单版本(我什至没有概率最大池)的相关性。

(我尝试了两种方法,但我的结果看起来仍然完全不同,我不确定这是我的代码中的错误还是我只是做错了什么)

有什么帮助吗?(我在互联网上随机找到了这段代码,但我对 Matlab 语法仍然很陌生,并且还不知道他们做了什么来创建重建——假设他们这样做了)

0 投票
1 回答
989 浏览

r - 受限玻尔兹曼机

我目前正在尝试使用 deepnet 包在 R 中处理 RBM。我使用我自己的具有 3 个输入点的数据集训练了一个 RBM。训练网络后,我得到了 2 组权重和 2 组偏差。我的代码是这样运行的

我得到的结果在 2 的集合中。我得到了两个 2x3 权重矩阵。另一个矩阵是什么意思?

0 投票
0 回答
164 浏览

neural-network - 深度信念网络推理:隐藏层需要随机数生成器?

我正在学习深度信念网络和受限玻尔兹曼机。

  1. 在训练 DBN(CD-1、贪心、逐层)时,第二个、第三个和第 n 个 RBM 的输入应该是随机二进制(0 或 1)而不是概率?

  2. 至于 DBN 中的推理过程,隐藏单元也是随机二进制而不是概率吗?sigmd{Σ(W*V+b)} 可以用作上层的输入吗?或者我是否还需要一个随机数生成器来获得 h 个单位的随机二进制结果,然后使用这些 h 值作为上层的输入?

有人可以向我解释吗?

0 投票
1 回答
501 浏览

tensorflow - CLDNN 中的降维(张量流)

我正在尝试使用 tensorflow 编写 CLDNN 的实现,就像这个方案中的那个。我遇到了降维层的问题。

据我了解,它是由几个堆叠的受限玻尔兹曼机 (RBM) 制成的,并且像自动编码器一样工作。该层的解码器部分只是在这里训练编码器以减少井尺寸。这意味着您要将编码器的输出“插入”到下一层的输入中。

我可以定义一个训练自动编码器的损失函数(通过比较来自解码输出的输入),以及另一个训练整个图的损失函数。我有办法训练这两个损失函数吗?或者我可能误解了这里的问题,但我觉得自动编码器的解码器部分有点“在循环之外”并且不会被训练。

我已经找到了这种自动编码器和卷积层等的实现......但我真的不明白如何在网络中“插入”自动编码器(就像在方案中一样)

0 投票
0 回答
101 浏览

machine-learning - 深度信念网络中每个时期的预训练误差都会增加

我正在使用 DBN 的这个实现。 http://deeplearning.net/tutorial/code/DBN.py 我正在使用 ecg 数据来训练每行包含 100 个浮点值(以毫伏为单位)的模型。当我运行这个实现时,预训练成本继续增加,我不明白为什么。我附上了示例输入数据文件和 DBN 的代码,其中我修改了输入和输出单元的数量和批量大小。我已经修改了logistic_sgd.py 中的“load_data”代码,所以我也附上了那个文件。这是场景:

在此处输入图像描述

在此处输入图像描述

为什么会这样?我哪里错了?

链接到代码和数据文件: https ://drive.google.com/open?id=0B02Uz-muAJWWVktyaDFOekU5Ulk

0 投票
3 回答
541 浏览

java - 如何使用 DeepLearning4J 训练 RBM 并重建输入?

我正在尝试使用 DeepLearning4J 0.7 训练受限玻尔兹曼机 (RBM),但没有成功。我发现的所有示例要么没有做任何有用的事情,要么不再适用于 DeepLearning4J 0.7。

我需要用对比度散度训练单个 RBM,然后计算重建误差。

这是我到目前为止所拥有的:

它在每个时期编译并打印一些分数,但是当分数应该减少时,分数会增加,我还没有找到任何重建的方法。

我尝试使用重建函数并计算距离:

但是即使模型没有针对单个 epoch 进行过训练,每个元素的距离也始终为 0.0,这是不可能的。

这是训练 RBM 的正确方法吗?如何使用单个 RBM 重建输入?

0 投票
0 回答
112 浏览

hadoop - 如何在 MapReduce 项目中使用 Mnist 数据集?

我是 MapReduce 的新手。我通过字数问题了解了 MapReduce,其中一对很容易理解。但现在我有 Mnist 数据集(标准化图像)来训练受限玻尔兹曼机。我不知道如何使用该数据集。如何从数据集中获取对,特别是键和值的类型是什么?

0 投票
0 回答
85 浏览

machine-learning - 用去噪对比发散训练 RBM ?

就在最近,我想知道为什么似乎没有人对受限玻尔兹曼机 (RBM) 和卷积 RBM (CRBM) 模型使用去噪训练。

这对于自动编码器(去噪自动编码器 (DAE) 和 Stacked-DAE (SDAE))非常强大。

我试图通过简单地破坏每个时期的输入来对我的代码应用去噪,这与我的自动编码器上所做的相同。对于自动编码器来说,它工作得很好,但对于 RBM 来说却很失败,这使得学习更加不稳定,学习到的特征也变得更糟。这仅仅是因为已经尝试处理噪声的 RBM 的随机性吗?

人们为什么不使用 RBM 和 CRBM 去噪训练是有原因的吗?

谢谢

0 投票
1 回答
766 浏览

neural-network - 如何处理深度信念网络中的负输入数据

在我的数据中,我有一列包含负值和正值。这里负值表示缺少多少东西,正值表示意外的额外东西,0 表示中性,这始终是预期值。那么如何使用这列数据作为深度信念网络的输入。我可以输入负数作为深度信念网络的输入吗?