Questions tagged «rnn»

递归神经网络(RNN)是一类人工神经网络,其中单元之间的连接形成有向循环。


5
了解LSTM单位与细胞
我学习LSTM已有一段时间了。我从较高的角度了解一切。但是,要使用Tensorflow实施它们,我注意到BasicLSTMCell需要许多单位(即num_units)参数。 从这个 LSTMs的非常详尽的解释,我已经收集单个LSTM单元是以下情况之一 实际上是GRU单位 我假设参数num_units的BasicLSTMCell指的是我们要多少,这些在层挂钩到对方。 这就提出了问题-在这种情况下什么是“单元”?“单元”是否等效于普通前馈神经网络中的一层?


3
堆叠多个LSTM有什么优势?
有什么优势,为什么一个人在深度网络中使用多个并排堆叠的LSTM?我正在使用LSTM将一系列输入表示为单个输入。因此,一旦有了这种单一表示形式,为什么还要再次通过呢? 我之所以这样问是因为我在自然语言生成程序中看到了这一点。

1
注意力机制到底是什么?
在过去的几年中,各种深度学习论文都使用了注意力机制。Open AI研究负责人Ilya Sutskever热情地称赞了他们:https ://towardsdatascience.com/the-fall-of-rnn-lstm-2d1594c74ce0 普渡大学的Eugenio Culurciello声称应该放弃RNN和LSTM,而转而使用纯粹基于注意力的神经网络: https://towardsdatascience.com/the-fall-of-rnn-lstm-2d1594c74ce0 这似乎有点夸张,但不可否认的是,纯粹基于注意力的模型在序列建模任务中做得很好:我们都知道Google恰当命名的论文,Attention是您所需要的 但是,基于注意力的模型到底是什么?我还没有找到关于此类模型的清晰说明。假设我要根据给定的历史值来预测多元时间序列的新值。很清楚如何使用具有LSTM单元的RNN来做到这一点。对于基于注意力的模型,我该怎么做?

3
训练损失随时间增加[重复]
这个问题已经在这里有了答案: 成本函数的变化如何为正? (1个答案) 当我的神经网络不学习时该怎么办? (5个答案) 上个月关闭。 我正在训练一个模型(递归神经网络)来对4种类型的序列进行分类。在我进行训练时,我看到训练损失不断减少,直到正确分类训练批次中超过90%的样本为止。但是,几个时代之后,我注意到训练损失增加了,而我的准确性却下降了。这对我来说似乎很奇怪,因为我希望在训练集上表现会随着时间的推移而改善,而不会恶化。我正在使用交叉熵损失,我的学习率为0.0002。 更新:事实证明学习率太高。较低的足够低的学习率,我不会观察到这种行为。但是我仍然觉得这很奇怪。关于这种情况发生的原因,欢迎任何好的解释

3
为什么RNN / LSTM网络的权重会随时间共享?
我最近对LSTM产生了兴趣,当得知权重在时间上共享时,我感到很惊讶。 我知道,如果您跨时间共享权重,那么您的输入时间序列可以是可变长度。 使用共享权重,您需要训练的参数要少得多。 根据我的理解,之所以转向LSTM而不是其他学习方法,是因为您认为想要学习的数据中存在某种时间/顺序结构/依赖性。如果您牺牲了可变长度的“奢侈”,并接受了较长的计算时间,那么没有共享权重的RNN / LSTM会不会表现得更好(或者在每个时间步中您都有不同的权重),或者我缺少什么?

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


3
神经网络中样本,时间步长和特征之间的差异
我正在浏览LSTM神经网络上的以下博客:http : //machinelearningmastery.com/understanding-stateful-lstm-recurrent-neural-networks-python-keras/ 作者针对LSTM的不同配置将输入向量X重塑为[样本,时间步长,特征]。 作者写道 实际上,字母序列是一个特征的时间步长,而不是单独特征的一个时间步长。我们为网络提供了更多的上下文,但是没有像预期的那样提供更多的顺序 这是什么意思?


1
RNN:什么时候应用BPTT和/或更新权重?
我正在尝试通过Graves于2005年发表的有关音素分类的论文来理解RNN在序列标记上的高级应用。 总结问题:我们有一个庞大的训练集,包括(输入)单个句子的音频文件和(输出)专家标记的各个音素的开始时间,停止时间和标签(包括一些“特殊”音素,例如静默,以便每个音频文件中的每个样本都标有一些音素符号。) 本文的重点是在隐藏层中应用带有LSTM存储单元的RNN。(他使用了几种变体和几种其他技术作为比较。为了使事情简单,我目前仅对单向LSTM感兴趣。) 我相信我了解网络的体系结构:对应于10毫秒音频文件窗口的输入层,以音频工作的标准方式进行了预处理;LSTM单元的隐藏层,以及对所有可能的61个电话符号进行一键编码的输出层。 我相信我了解通过LSTM单元的向前通过和向后通过的(复杂但直接)的方程式。它们只是微积分和链式规则。 在几次阅读本文和几篇类似文章之后,我不明白的是何时确切地应用反向传播算法,何时确切地更新神经元中的各种权重。 存在两种可能的方法: 1)逐帧反向传播和更新 Load a sentence. Divide into frames/timesteps. For each frame: - Apply forward step - Determine error function - Apply backpropagation to this frame's error - Update weights accordingly At end of sentence, reset memory load another sentence and continue. 要么, 2)逐句反向传播和更新: Load …
15 lstm  rnn 

3
为什么在RNN中通过时间反向传播?
在递归神经网络中,通常会向前传播几个时间步骤,“展开”网络,然后在输入序列中向后传播。 为什么不只在序列中的每个步骤之后更新权重?(等效于使用1的截断长度,因此没有展开的空间),这完全消除了消失的梯度问题,大大简化了算法,可能会减少陷入局部极小值的机会,并且最重要的是看起来工作正常。我以这种方式训练了一个模型来生成文本,结果似乎与从BPTT训练后的模型中看到的结果相当。我对此仅感到困惑,因为我所见过的每个有关RNN的教程都说要使用BPTT,几乎就像是正确学习所必需的那样,事实并非如此。 更新:我添加了一个答案

2
为什么带有LSTM单位的RNN也会遭受“爆炸梯度”的困扰?
我对RNN(尤其是LSTM单元)的工作方式有基本的了解。我对LSTM单元的体系结构有一个构想,即一个单元和几个门,它们调节值的流动。 但是,显然,我还没有完全理解LSTM如何解决“消失梯度和爆炸梯度”问题,该问题是在训练中使用常规RNN通过时间进行反向传播而发生的。我没有机会阅读论文以完全理解数学。 该答案简要说明了具有LSTM单位的RNN如何解决“消失梯度”问题。从数学上讲,原因似乎是不存在的导数不存在,即不趋于零。因此,作者指出:“至少存在一条不消失梯度的路径”。恕我直言,这种解释有点含糊。 同时,我正在阅读论文《使用神经网络进行序列学习》(作者:Ilya Sutskever,Oriol Vinyals,Quoc V. Le),在该论文的“ 3.4培训细节”部分中有说明 尽管LSTM往往不会遭受梯度消失的困扰,但它们可能会出现爆炸梯度。 我一直认为,带有LSTM单元的RNN可以解决“消失”和“爆炸梯度”的问题,但是,显然,带有LSTM单元的RNN也会遭受“爆炸梯度”的困扰。 凭直觉,为什么?从数学上讲,原因是什么?


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.