问题标签 [deep-learning]

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 投票
1 回答
159 浏览

gradient - 如何理解 SGD 中的学习率选择

像大多数数值超参数一样,学习率应该在对数域中进行探索,将其精炼超过 2 倍并没有太多收获,而探索的动态范围可能在 10^6 左右,学习费率通常低于 1。

在本段中,我想知道 1:log-domain 是什么意思?2:因子2有什么用?3:动态范围是什么意思?

谢谢!

0 投票
1 回答
2068 浏览

matlab - Gaussian-RBM 在一个简单的例子上失败了

我想对具有连续输入变量的受限玻尔兹曼机有一个基本的了解。我正在尝试设计最简单的示例,以便可以轻松跟踪行为。所以,就在这里。

输入数据是二维的。每个数据点均取自两个对称正态分布 (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。我将不胜感激评论/建议,或者如果有人可以重现我的问题。

0 投票
1 回答
2257 浏览

matlab - 深度学习工具箱教程-matlab

我需要在 matlab 中实现一个堆叠去噪自动编码器,用于乳房 X 线照片的特征提取。我现在正在测试深度学习工具箱已经提供的代码,但是它给出了一些错误,我不知道如何修复它们。你会碰巧知道任何关于如何使用工具箱的教程吗?我在网上搜索过,但没有发现任何有用的东西。如果有人有解决方案,我遇到的错误是:

非常感谢!:)

0 投票
1 回答
284 浏览

neural-network - 多类目标检测:NX(1 vs all)还是1 X(N vs all)?

我正在使用神经网络进行多类分类。假设我有 10 个目标类和一个 null(非上述目标)。最好为每个目标分别训练一个神经网络,每个网络(目标,非目标)有两个输出神经元,以便在上述情况下我需要 10 个单独的神经网络,或者一个具有 11 个输出的神经网络(10 个目标, 1 个其他)?我见过人们在不同的论文中使用这两种方法中的任何一种,但没有解释,但是为每个目标类使用单独的网络是否有理论上的优势?相对于替代方法,计算开销成本是否值得获得和收益?

提前致谢!

PS (1) 当然,在任何一种方法中,训练样本的分布都严重偏向非目标(“其他”)类,并且 (2) 假设 NN 的输出层具有 softmax 激活。

0 投票
1 回答
2668 浏览

pycuda - pycuda vs theano vs pylearn2

我目前正在学习使用 GPU 进行编程以提高机器学习算法的性能。最初我尝试用纯 c 学习编程 cuda,然后我找到了 pycuda,它对我来说是 cuda 库的包装器,然后我找到了 theano 和 pylearn2 并且有点困惑:

我是这样理解他们的:

  1. pycuda:cuda 库的 python 包装器
  2. theano:类似于 numpy,但对 GPU 和 CPU 透明
  3. pylearn2:建立在theano之上的深度学习包,实现了几个机器学习/深度学习模型

由于我是 GPU 编程新手,我应该从 C/C++ 实现开始学习还是从 pycuda 开始就足够了,甚至从 theano 开始?例如,我想在学习 GPU 编程后实现 randomForest 模型。谢谢。

0 投票
2 回答
916 浏览

python - 如何在 DeepLearningTutorials 包中读取 Theano 的 LogisticRegression 类预测值?

我正在使用Theano 的 LogisticRegression 示例代码,我根本没有修改给定包中的代码,我使用的是相同的数据。

我需要读取 LogisticRegression 类中 (self.y_pred) 字段中的预测值以及同一类的 self.p_y_given_x 字段中的预测概率值。

它们是张量类型和张量变量,我不知道如何阅读/打印它们。我需要他们进行后处理,但我无法访问这些值。应该在训练后读取这些值,这些值应该在星号周围。

0 投票
3 回答
5215 浏览

machine-learning - 如何将树编码为神经网络的输入?

我有一棵树,特别是一棵解析树,节点上有标签,叶子上有字符串/单词。我想将这棵树作为输入传递给神经网络,同时保留其结构。

当前方法假设我们有一些单词字典 w1,w2.....wn 将出现在解析树中的单词编码为 n 维二进制向量,只要解析树中的单词是 wi,就会在第 i 个位置显示 1

现在树结构怎么样?对于出现在叶子上的 n 个单词,大约有 2^n 个可能的父标签因此我们不能设置输入单词的最大长度,然后只是蛮力枚举所有树。

现在我能想到的就是通过选择叶子的直接父级来近似树。这也可以用一个二进制向量来表示,其维度等于不同类型标签的数量——我想大约是 100 个。我的输入是二维的。第一个只是单词的向量表示,第二个是其父标签的向量表示

除了这会丢失句子中的很多结构。有解决这个问题的标准/更好的方法吗?

0 投票
0 回答
2098 浏览

machine-learning - 在 Imagenet 2011 上训练的深度卷积神经网络获得低准确率

我已经下载了 Imagenet2011 数据集,并尝试使用此处的说明在其上训练Caffe imagenet 网络。我使用大约 500K 图像进行训练,使用 70K 图像进行验证。

我还下载了 ILSVRC 2012 验证集进行实验。

结果如下:

在 ILSVRC 2012 官方验证集上: 我的网络:46% 准确度,原始 Caffe Imagenet 网络:56% 准确度。

在我的验证集上:我的网络:53% 准确率,原始 Caffe Imagenet 网络:80% 准确率。

在我的训练数据上(检查过拟合):我的网络:99% 准确率,原始 Caffe Imagenet 网络:70% 准确率。

我想寻求一些有关培训的帮助和提示:

  1. 我感觉我的新网络过拟合了。你同意吗?我应该使用更多图像吗?使用数据增强来机械地增加训练集的大小?或者也许改变辍学参数?

  2. 在 Krizhevsky 等人的论文“使用深度卷积神经网络的 Imagenet 分类”中。1 它说作者使用了 120 万张图像进行训练并使用了数据增强2将训练数据的大小增加了 2048 倍。但是,在为图像网络训练。数据增强真的不需要吗?

  3. 我只对 ImageNet 数据集中的大约 100 个类感兴趣。假设我要训练 imagenet 网络(从头开始),只有 100 个类,总共 100K 图像。它比原始的 120 万张图像要少得多,但类别也少得多。网络会过拟合还是会在这 100 个类别上表现良好?还是应该只为 100 个类使用不同的网络架构?训练 Imagenet 网络然后只使用这 100 个类进行微调会更好吗?

  4. 对于最初的 1K 类别,我只有 500K 图像(而不是 1.2M)。我应该使用包含更多图像的类别吗?使用更多类别(和图像)怎么样?

提前致谢!

吉尔

1 Krizhevsky、Alex、Ilya Sutskever 和 Geoffrey E. Hinton。“使用深度卷积神经网络进行 Imagenet 分类。” 神经信息处理系统的进展。2012.‏</p>

2 “数据增强的第一种形式包括生成图像平移和水平反射。我们通过从 256x 256 图像中提取随机 224x224 补丁(及其水平反射)并在这些提取的补丁上训练我们的网络来做到这一点。这增加了大小我们的训练集的 2048 倍,尽管由此产生的训练示例当然是高度相互依赖的。”

0 投票
6 回答
95115 浏览

machine-learning - 任何人都可以举一个监督学习和无监督学习的真实例子吗?

我最近研究了监督学习和无监督学习。从理论上讲,我知道有监督意味着从标记的数据集中获取信息,而无监督意味着在没有给出任何标签的情况下对数据进行聚类。

但是,问题是在我学习期间,我总是对确定给定示例是监督学习还是无监督学习感到困惑。

任何人都可以举一个现实生活中的例子吗?

0 投票
1 回答
568 浏览

matlab - 使用 MNIST 数据集运行“堆叠自动编码器示例”程序(深度学习工具箱)时出现 Matlab“内存不足”错误

我是深度学习的新手,我使用的是 matlab 的深度学习工具箱。我想运行:“test_example_SAE.m”,它构建了一个堆叠的自动编码器并使用 MNIST 数据集对其进行训练和测试,但由于这个错误我不能:*

* 这份工作需要多少内存?我的意思是我可以在具有 4GB RAM 的普通 PC 上运行深度学习工具箱代码吗?还是我应该学习在 GPU 上运行代码?