问题标签 [dbn]
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.
machine-learning - 通过受限的 Boltzmann 机进行数据传播
在 RBM 中,它使节点内的所有关系发生概率。那么如何通过 RBM 传播数据呢?只是一阶抽样?那么波动不会太大吗?
还是它像前馈 mlp 一样工作?(即 hj = \sum_i vi * wij)但在 RBM 中没有这个概念,因为所有论文都说它是随机模型。
machine-learning - 如何设计用于人脸识别的 DBN 特征提取层
我正在尝试使用深度信念网络进行人脸识别。但我是这方面的初学者,我已经阅读了互联网上的研究论文和文档,并且了解了二进制图像的基本概念。但是当我坐下来写代码时,我仍然觉得很困难,因为从程序员的角度来看,没有任何东西可以解释,你发现的只是能量函数和所有这些东西。有人可以帮我为灰度人脸图像设计(代码)隐藏层吗?(更具体地说,我的隐藏层应该是一组不同的过滤器或其他东西......)
machine-learning - 卷积深度信念网络 (CDBN) 与卷积神经网络 (CNN)
最后,我开始学习神经网络,我想知道卷积深度信念网络和卷积网络之间的区别。在这里,有一个类似的问题,但没有确切的答案。我们知道卷积深度信念网络是 CNNs + DBNs。所以,我要做一个物体识别。我想知道哪一个比其他更好或它们的复杂性。我进行了搜索,但找不到任何可能做错的事情。
python-2.7 - Python DBN dbn.predict 使用
嗨,我对 dbn.predict 的工作方式感到困惑我已经使用 canny 然后 otsu 阈值在图像中检测到一个数字并将其调整为 28x28 等但是当我将它传递给 dbn.predict 时出现以下错误
ValueError:数组未对齐点积。请求形状为 (1, 28) 和 (784, 300) 的数组的点积
这是相同的代码,在此先感谢
classification - 对深度学习中的单元进行分类以进行图像分类
假设我们有一个包含 10 个类别的数据库,我们通过深度信念网络或卷积神经网络对其进行分类测试。问题是我们如何理解最后一层中的哪些神经元与哪个对象相关?在其中一篇文章中,有人写道“要了解哪些神经元适用于像鞋子这样的物体,哪些不是,你会将最后一层中的所有单元放到另一个监督分类器中(这可以是多类 SVM 之类的任何东西)或soft-max-layer)。我不知道应该怎么做?我确实需要更多的扩展。
python - nolearn 用于多标签分类
我尝试使用从 nolearn 包导入的 DBN 函数,这是我的代码:
由于我的数据具有形状 (1231, 229) 和带有形状 (1231,13) 的标签,因此标签集看起来像 ([0 0 1 0 1 0 1 0 0 0 1 1 0] ...,[.. ..]),当我运行我的代码时,我收到了这个错误消息:输入形状错误(1231,13)。我想知道这里可能会发生两个问题:
- DBN 不支持多标签分类
- 我的标签不适合在 DBN 拟合函数中使用。
python - 如何在机器学习中训练连续输出(回归)
我想训练输出是连续数字的回归模型(不是分类)。
假设我有输入变量 X,范围在 -70 到 70 之间。我有输出变量 Y,范围在 -5 到 5 之间。X 有 39 个特征,Y 有 16 个特征,每个特征有 50,000 个示例。然后我想用python中的深度信念网络(DBN)训练他们。
我在 theano 主页中使用了用 MNIST 数据(分类)描述 DBN 的脚本。http://deeplearning.net/tutorial/DBN.html
你能告诉我为了应用我上面解释的回归问题我必须改变哪些具体的行吗?
例如,我必须改变...
- sigmoid 函数到 tanh 函数。: 我听说 tanh 激活函数在回归中比 sigmoid 效果更好。正确的?
- 而不是使用负对数似然,我必须使用最小二乘误差......?
- zscore的输入和输出数据归一化?
如果您有任何解决此问题的想法,请告诉我......大多数机器学习示例都是基于 MNIST 手数分类。如果您向我推荐一些不错的博客或主页,我会很高兴,在那里我可以获得与回归相关的有用信息。
谢谢你提前。
theano - 带有张量流的 RBM/DBN 的自定义操作实现?
自从 Google 发布了 tensorflow 之后,它就成为了当前深度学习选择的一种趋势。
我想做一些关于 RBM/DBN(受限玻尔兹曼机/深度信念网络)的实验,我自己做了一些尝试,并通过 tensorflow 中可用 API 的组合很好地实现了它。请参阅代码和先前的答案。
所以,如果不影响代码运行性能,这里是使用 tensorflow 实现 RBM/DBN 的礼物。
但是,必须考虑未来的运行性能。由于CD(Contrastive Divergence)算法的特殊进步,我认为它只是针对tensorflow使用的框架(数据流图)。这就是为什么我的代码看起来很奇怪。
因此,应该实现自定义操作以进行加速。我遵循了有关添加自定义操作的当前文档。
在我的设计中,NaiveRbm
应该是一个将visible
, weights
, h_bias
,v_bias
作为输入的操作,但只输出前3 个Variables
(简单的 sigmoid(X*W+hb) ),它的梯度应该至少返回最后3 个的梯度Variables
。
想象一下这样的示例伪代码:
但是tensorflow库对我来说太复杂了。并且经过太多时间寻找如何在自定义操作中实现这些现有操作(sigmoid
, matmul
, ma_add
, relu
, random_uniform
),我自己没有找到解决方案。
所以,我想问问是否有人可以帮助我完成剩下的工作。
PS:在得到一些想法之前,我想深入研究一下,Theano
因为它已经实现了 RBM/DBN。只是在我看来,Caffe
由于它的框架,它有点不适合 RBM/DBN。
更新:通过 Theano 的教程从头开始,我发现 Theano 实现 RBM/DBN 而 tensorflow 没有实现的关键原因是scan
技术。因此,可能会等待 tensorflow 实施scan
技术,为 RBM/DBN 实施做准备。
python - scikit-learn DBN 编码字符串标签
我对 python 和 scikit-learn 都很陌生。我的目标是获得一个分类工作,该分类应该分为 6 个不同的字符串标签,并带有一个深度信念网络。
以下是我的一些数据示例:
uploadType,mainColorCode,allPageHeights,allPageWidths,mainAspectRatio,hasQrOrBarcode,mainFontSize,ocrWords,ocrNumber,pageCount,category
Filesystem,#FFFFFFFF,1115 1115,794 794,0.71,False,20.15,ocr 识别文本,14.4,2,class a 文件系统,#FFFFFFFF,1115 1115,794 794,0.71,False,20.15,ocr 识别文本,0, 2,class a Filesystem,#FFFFFFFF,1056,816,0.77,False,19.61,ocr识别文本,204.2,1,class b
我得到包含 11 列(10 个特征,最后一个是标签)的监督数据,如下所示:
然后我做:
但它说我:ValueError:
无法处理未知和二进制的混合
我想我必须对数据执行以下语句,但我不确定如何正确地对数据执行它:
谢谢!
theano - 带/不带 Dropout 的 DBN 的“无监督预训练”后的权重/成本
在深度信念网络的“无监督预训练”之后获得的每一层的权重/成本在应用 dropout 和不应用 dropout 时是否不同?
在使用和不使用 Dropout 对 DBN 进行预训练后,我获得了不同的权重集和不同的成本值。根据我的说法,丢弃单元应该只影响微调阶段,而不是无监督预训练,其中需要所有单元并且没有一个被丢弃。我是概念错了还是代码错了?