Questions tagged «neural-networks»

人工神经网络(ANN)是一类广泛的基于生物神经网络的计算模型。它们包括前馈NN(包括“深度” NN),卷积NN,递归NN等。


5
深度学习:我如何知道哪些变量很重要?
在神经网络术语方面(y =权重* x +偏差),我如何知道哪些变量比其他变量更重要? 我有一个具有10个输入的神经网络,1个具有20个节点的隐藏层和1个具有1个节点的输出层。我不确定如何知道哪些输入变量比其他变量更有影响力。我在想的是,如果输入很重要,那么它将与第一层具有高度加权的连接,但是权重可能为正也可能为负。因此,我可能要做的是取输入权重的绝对值并将其求和。更重要的输入将具有更高的总和。 因此,例如,如果头发长度是输入之一,则它应该与下一层中的每个节点具有1个连接,因此有20个连接(因此有20个权重)。我可以仅取每个权重的绝对值并将它们相加吗?


4
反馈RNN与LSTM / GRU之间的差异
我试图理解要应用于时间序列数据的不同的递归神经网络(RNN)架构,并且对描述RNN时经常使用的不同名称感到有些困惑。长期短期记忆(LSTM)和门控循环单元(GRU)的结构是否实质上是带有反馈回路的RNN?

3
如何正确使用提早停止训练深度神经网络?
我有一个深层的神经网络模型,需要在包含约100,000个示例的数据集上进行训练,我的验证数据包含约1000个示例。因为训练每个示例都需要时间(每个示例大约需要0.5s),并且为了避免过拟合,我希望尽早停止以防止不必要的计算。但是我不确定如何通过提前停止来正确地训练我的神经网络,这是我现在不太了解的几件事: 好的验证频率是多少?我应该在每个时期结束时在验证数据上检查我的模型吗?(我的批次大小为1) 是否存在前几个时期可能会在开始收敛到更好的价值之前产生更差结果的情况?在这种情况下,在检查是否提前停止之前,我们应该在几个时期内训练我们的网络吗? 当验证损失可能会上升或下降时,该如何处理?在这种情况下,提前停止可能会阻止我的模型进一步学习,对吗? 先感谢您。

2
哪种优化方法最适合LSTM?
我一直在使用theano来试验LSTM,并且想知道哪种优化方法(SGD,Adagrad,Adadelta,RMSprop,Adam等)最适合LSTM?是否有关于该主题的研究论文? 另外,答案是否取决于我使用LSTM的应用程序类型?如果是这样,我正在使用LSTM进行文本分类(首先将文本转换为单词向量)。 最后,对于RNN,答案是相同还是不同?任何指向研究论文或个人见解的指针将不胜感激! LSTM似乎很强大,我有兴趣学习更多有关如何最好地使用它们的知识。

3
使用RNN(LSTM)预测时间序列向量(Theano)
我有一个非常简单的问题,但找不到合适的工具来解决。 我有一些长度相同的向量序列。现在,我想在这些序列的训练样本上训练LSTM RNN,然后使其基于几个启动向量来预测长度为的向量的新序列。ññn 我找不到能做到这一点的简单实现。我的基本语言是Python,但是任何几天都不会安装的东西都可以使用。 我尝试使用Lasagne,但是RNN的实现尚未准备好,并且在nntools单独的软件包中。无论如何,我尝试了后者,但是我不知道如何训练它,然后通过一些测试向量对其进行填充,并让它预测新的。块是同样的问题-尽管似乎有些类和函数可以工作(例如blocks.bricks.recurrent),但是LSTM RNN没有可用的文档。 有在Theano,像几个实施RNN LSTM的GroundHog,theano-rnn,theano_lstm和一些文件的代码,但非那些与教程或指导怎么做我想做的。 我发现的唯一可用解决方案是使用Pybrain。但是不幸的是,它缺少Theano的功能(主要是GPU计算),并且是孤立的(没有新功能和支持)。 有谁知道我在哪里可以找到我想要的东西?使用RNN LSTM易于预测载体序列吗? 编辑: 我像这样尝试了Keras: from keras.models import Sequential from keras.layers.core import Dense, Dropout, Activation from keras.layers.embeddings import Embedding from keras.layers.recurrent import LSTM model = Sequential() model.add(Embedding(12, 256)) model.regularizers = [] model(LSTM(256, 128, activation='sigmoid', inner_activation='hard_sigmoid')) model.add(Dropout(0.5)) model.add(Dense(128, 12)) model.add(Activation('sigmoid')) model.compile(loss='mean_squared_error', optimizer='rmsprop') 但是我在尝试适应它时遇到此错误 …

3
偏置节点在神经网络中的重要性
我很好奇知道偏置节点对于现代神经网络的有效性有多重要。我很容易理解,在只有几个输入变量的浅层网络中,它很重要。但是,诸如深度学习之类的现代神经网络通常具有大量的输入变量来决定是否触发某个神经元。仅仅从LeNet5或ImageNet中删除它们是否会产生真正的影响?



5
使用SVM或神经网络时如何将分类变量重新编码为数值变量
要使用SVM或神经网络,需要将分类变量转换(编码)为数字变量,在这种情况下,通常的方法是使用0-1二进制值,将第k个分类值转换为(0,0,.. 。,1,0,... 0)(1在第k个位置)。还有其他方法可以做到这一点,尤其是当存在大量分类值(例如10000),使得0-1表示将在神经网络中引入大量额外的维度(输入单位)时,这似乎不是很理想或期望的? 我在问一般策略。

2
神经网络是黑盒子的含义吗?
我经常听到人们谈论神经网络,就像黑盒子一样,您不了解它的作用或含义。我实际上不明白他们的意思!如果您了解反向传播的工作原理,那么黑匣子又如何呢? 它们是否意味着我们不了解如何计算权重或什么?

2
反向传播算法
我对多层感知器(MLP)中使用的反向传播算法有些困惑。 该误差由成本函数调整。在反向传播中,我们试图调整隐藏层的权重。我能理解的输出错误,就是e = d - y[没有下标]。 问题是: 如何获得隐藏层的错误?如何计算呢? 如果我反向传播它,应该使用它作为自适应滤波器的成本函数还是应该使用指针(在C / C ++中)编程意义来更新权重?

1
神经网络中日特征的最佳构造
在处理回归问题时,我开始考虑“星期几”功能的表示形式。我想知道哪种方法会更好: 一个特征 周一值1/7;星期二2/7 ... 7个功能:(1、0、0、0、0、0、0)为星期一;(0,1,0,0,0,0,0)for Tuesday ... 由于网络配置差异,很难对其进行衡量。(我认为其他六个功能应该反映在隐藏节点的数量上。) 所有功能的数量大约是20。我使用简单的反向学习器来学习普通的前馈神经网络。

3
神经网络是否学习函数或概率密度函数?
这个问题听起来有点奇怪,因为我是统计推理和神经网络的新手。 当使用神经网络进行分类问题时,我们说我们要学习一个函数,它将输入的空间映射到输出的空间:f∗f∗f^*xxxyyy f∗(x;θ)=yf∗(x;θ)=yf^*(x; \theta) = y 我们是否要拟合参数()以建模非线性函数或模型概率密度函数?θθ\theta 我真的不知道如何以更好的方式写问题。我已经读过两次(概率密度函数或类似函数),因此感到困惑。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.