问题标签 [recurrent-neural-network]

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 回答
829 浏览

r - 有没有人在 R 中将 RNN 包用于递归神经网络?我如何使用它进行预测?

rnn()函数 R 没有返回语句。它为输入、隐藏和输出层生成突触。如何将这些用于预测时间序列数据的测试样本?

0 投票
1 回答
266 浏览

neural-network - 如何组织循环神经网络?

我想建模以下内容:

y(t)=F(x(t-1),x(t-2),...x(tk))

或者让我们说一个函数,它的当前输出取决于最后 k 个输入。

1-我知道一种方法是拥有一个经典的神经网络,其中每个y(t)的 k 个输入为{x(t-1),x(t-2),...x(tk)}并对其进行训练。那么使用 RNN 解决这个问题有什么好处呢?

2-假设使用 RNN,我应该只使用 x(t)(或 x(t-1))并假设隐藏层可以通过 in 找到 y(t) 与过去 k 个输入的关系它的记忆(隐藏层)?

3-考虑到我们想根据最后 k 个输入来估计输出,使用像 Deep RNN 或 LSTM 这样的深度网络对此类问题有什么优越的好处?

0 投票
1 回答
1316 浏览

machine-learning - Tensorflow交叉熵NaN,改变学习率似乎没有影响

TL;DR 尝试使用 tensorflow 构建用于序列标记的双向 RNN。

目标是输入“我喜欢纽约”并产生输出“OO LOC_START LOC”

该图编译并运行,但损失在 1 或 2 个批次后变为 NaN。我知道这可能是学习率的问题,但改变学习率似乎没有影响。目前使用 AdamOptimizer。

任何帮助,将不胜感激。

这是我的代码:

代码:

0 投票
1 回答
197 浏览

python - 如何修复 Elman 神经网络中的过度拟合?

我正在使用神经实验室 python 库训练 elman 网络,但我的网络无法正常工作。

但是在训练时它显示出太大的错误:

结果网络在测试样本上失败。原MICEX:

预测的 MICEX:

这是我的代码:

有人知道这个问题的解决方案吗?

0 投票
1 回答
186 浏览

neural-network - 神经图灵机中的内存初始化和寻址

我不清楚 NTM 如何初始化其内存以支持具有余弦距离的基于内容的寻址。很明显,初始存储单元值不能为零,但即使您将它们初始化为某个非零值(例如 1.0),所有单元看起来都相同,并且内存寻址机制将在存储单元上产生均匀分布。移位机制只会移动这种均匀分布,产生相同的均匀分布,并且锐化可能会锐化一些值,主要是由于噪声。

所以我看不出他们描述的记忆除了一直在各处写同样的东西(如果你不考虑一些噪音的话)还能如何使用。

我是否遗漏了什么,有人可以告诉我有关内存初始化的信息吗?

0 投票
1 回答
3463 浏览

machine-learning - 单个 LSTM 单元中的隐藏单元是什么?

我是神经网络的新手,在单个 LSTM 单元中发现了“隐藏单元”的概念。我理解拥有“门”(输入/输出/忘记等)的概念,但什么是隐藏单元?我也明白这与每层中展开的 LSTM 单元的数量不同(等于时间步数)。

0 投票
2 回答
1032 浏览

tensorflow - Tensorflow 展开的 LSTM 比输入序列长

我想在 tensorflow 中创建一个 LSTM 来预测时间序列数据。我的训练数据是一组不同长度的输入/输出序列。我可以在同一个训练批次中包含多个不同长度的序列吗?还是我需要将它们填充到相等的长度?如果是这样,怎么做?

另外:如果展开的 RNN 比输入序列长,tensorflow 会做什么?该rnn()方法包含一个sequence_length似乎旨在处理这种可能性的可选参数,但我不清楚它的作用。

0 投票
3 回答
3166 浏览

tensorflow - TensorFlow 中 RNN 和 Seq2Seq 模型的 API 参考

在哪里可以找到指定 RNN 和 Seq2Seq 模型中可用函数的 API 参考。

在 github 页面中提到 rnn 和 seq2seq 已移至 tf.nn

0 投票
2 回答
2251 浏览

matlab - Matlab 中的门控循环神经网络(例如 LSTM)

我希望在 Matlab 中探索门控循环神经网络(例如 LSTM)。我能找到的最接近的匹配是layerrecnet。这个函数的描述很简短,也不是很清楚(即没有使用我习惯的术语)。因此,我的问题是这个函数是否包含一个门(我 90% 确定它不包含),如果没有,是否还有其他 Matlab 实现呢?如果可能的话,我更喜欢本机(即神经网络工具箱)实现。

0 投票
1 回答
1131 浏览

machine-learning - 使用递归神经网络进行时间序列预测

在给定输入的情况下,我正在使用Bike Sharing 数据集来预测一天内的租赁数量。我将使用 2011 年的数据进行训练,使用 2012 年的数据进行验证。我成功地建立了一个线性回归模型,但现在我试图弄清楚如何使用循环神经网络来预测时间序列。

数据集有 10 个属性(如月、工作日与否、温度、湿度、风速),虽然属性是天(星期日:0,星期一:1 等),但都是数字。

我假设有一天可以并且可能会取决于前几天(而且我不需要所有 10 个属性),所以我考虑使用 RNN。我知道的不多,但我读了一些东西,还有这个。我想到了这样的结构。

我会有10 input neurons,a hidden layer1 output neuron. 我不知道如何决定隐藏层将有多少个神经元。

我想我需要一个矩阵来连接输入层和隐藏层,一个矩阵来连接隐藏层和输出层,以及一个矩阵来连接相邻时间步中的隐藏层,t-1ttt+1。总共有3个矩阵。

在一个教程中,激活函数是sigmoid,虽然我不确定,但如果我使用 sigmoid 函数,我只会得到 0 到 1 之间的输出。我应该使用什么作为激活函数?我的计划是重复n几次:

  • 对于每个训练数据:
    • 前向传播
      • 将输入传播到隐藏层,将其添加到先前隐藏层到当前隐藏层的传播。并将其传递给激活函数。
      • 将隐藏层传播到输出。
      • 查找错误及其导数,将其存储在列表中
    • 反向传播
      • 从列表中查找当前图层和错误
      • 查找当前隐藏层错误
      • 存储重量更新
    • 通过将权重(矩阵)乘以学习率来更新权重(矩阵)。

这是正确的方法吗?我想要真正的数值作为输出,而不是 0-1 之间的数字。