lstm相关内容

如何在 Keras 中使用 return_sequences 选项和 TimeDistributed 层?

我有一个像下面这样的对话语料库.我想实现一个预测系统动作的 LSTM 模型.系统动作被描述为位向量.一个用户输入被计算为一个词嵌入,它也是一个位向量. t1:用户:“你认识苹果吗?",系统:“不"(action=2)t2:用户:“xxxxxx",系统:“yyyy"(动作=0)t3:用户:“aaaaaa",系统:“bbbb"(动作=5) 所以我想实现的是“多对多(2)"模型.当我的模型接收到用户 ..
发布时间:2021-12-19 12:32:30 其他开发

理解有状态 LSTM

我正在学习这个教程在 RNN/LSTM 上,我很难理解有状态的 LSTM.我的问题如下: 1.训练批处理大小 在关于RNNs的Keras文档中,我发现i-th 位置将作为下一批中 i-th 位置样本的输入隐藏状态.这是否意味着如果我们想将隐藏状态从一个样本传递到另一个样本,我们必须使用大小为 1 的批次并因此执行在线梯度下降?有没有办法在大小 >1 的批次中传递隐藏状态并对该批次执行梯 ..

为什么用于预测的 Keras LSTM 批量大小必须与拟合批量大小相同?

当使用 Keras LSTM 预测时间序列数据时,当我尝试使用 50 的批量大小训练模型时出现错误,然后尝试使用批量大小对同一模型进行预测1(即只是预测下一个值). 为什么我不能一次用多个批次训练和拟合模型,然后使用该模型来预测除相同批次大小之外的任何情况.这似乎没有意义,但我很容易错过这方面的一些东西. 编辑:这是模型.batch_size为50,sl为序列长度,目前设置为20. ..
发布时间:2021-12-19 12:26:55 其他开发

Keras:LSTM dropout 和 LSTM recurrent dropout 的区别

来自 Keras 文档: dropout:在 0 和 1 之间浮动.输入的线性变换. recurrent_dropout:在 0 和 1 之间浮动.drop 用于循环状态的线性变换. 谁能指出每个辍学发生在图片下方的哪个位置? 解决方案 我建议看一下(第一部分)这篇论文.常规 dropout 应用于输入和/或输出,这意味着从 x_t 到 h_t 的垂直箭头.在您的情况下, ..
发布时间:2021-12-19 12:26:08 其他开发

如何在 Keras 中创建可变长度的输入 LSTM?

我正在尝试使用 Keras 对 LSTM 进行一些普通模式识别,以预测序列中的下一个元素. 我的数据是这样的: 其中训练序列的标签是列表中的最后一个元素:X_train['Sequence'][n][-1]. 因为我的 Sequence 列在序列中可以有可变数量的元素,所以我相信 RNN 是最好的模型.下面是我在 Keras 中构建 LSTM 的尝试: # 构建模型# 一些任意 ..

来自数据帧的神经网络 LSTM 输入形状

我正在尝试使用 Keras 实现一个 LSTM. 我知道 Keras 中的 LSTM 需要一个形状为 (nb_samples, timesteps, input_dim) 的 3D 张量作为输入.但是,我不完全确定输入在我的情况下应该是什么样子,因为我对每个输入只有一个 T 观察样本,而不是多个样本,即 (nb_samples=1,时间步长=T,input_dim=N).将我的每个输入分成长 ..
发布时间:2021-12-19 12:15:02 Python

检查模型输入时出错:预期 lstm_1_input 有 3 个维度,但得到了具有形状的数组 (339732, 29)

我的输入只是一个包含 339732 行和两列的 csv 文件: 第一个是 29 个特征值,即 X 第二个是二进制标签值,即 Y 我正在尝试在堆叠的 LSTM 模型上训练我的数据: data_dim = 29时间步长 = 8num_classes = 2模型 = 顺序()model.add(LSTM(30, return_sequences=True,input_shape=(tim ..
发布时间:2021-12-19 12:14:17 Python

keras 何时重置 LSTM 状态?

我阅读了有关它的各种文本,但似乎没有一个能回答这个非常基本的问题.总是模棱两可: 在 stateful = False LSTM 层中,keras 是否在以下时间重置状态: 每个序列;或 每批? 假设我有 X_train 形状为 (1000,20,1),意思是 1000 个序列,每个值的 20 步.如果我做: model.fit(X_train, y_train, batch ..
发布时间:2021-12-19 12:11:42 其他开发

了解 Keras LSTM

我试图调和我对 LSTM 的理解,并在 this 中指出Christopher Olah 的帖子 在 Keras 中实现.我正在关注 Jason Brownlee 撰写的 博客 用于 Keras 教程.我主要困惑的是, 将数据系列重塑为[样本、时间步长、特征]和, 有状态的 LSTM 让我们参考下面粘贴的代码集中讨论以上两个问题: # 重塑为 X=t 和 Y=t+1回看 = 3tr ..
发布时间:2021-12-19 12:07:52 Python

使用 LSTM RNN 混洗训练数据

既然 LSTM RNN 使用先前的事件来预测当前序列,我们为什么要打乱训练数据?我们不会失去训练数据的时间顺序吗?在经过打乱的训练数据训练后,它如何仍然有效地进行预测? 解决方案 一般来说,当你打乱训练数据(一组序列)时,你打乱了序列被馈送到 RNN 的顺序,你不会打乱单个序列中的顺序.当您的网络无状态时,这很好: 无状态案例: 网络的记忆仅在序列的持续时间内持续存在.在序列 ..

在 LSTM 中使用 tanh 的直觉是什么?

在 LSTM 网络中(了解 LSTM),为什么输入门和输出门使用tanh? 这背后的直觉是什么? 这只是非线性变换吗?如果是,我可以将两者都更改为另一个激活函数(例如 ReLU)吗? 解决方案 Sigmoid 具体来说,用作LSTM,因为它输出一个介于 0 和 1 之间的值,它可以不让流或完全流整个大门的信息. 另一方面,为了克服梯度消失的问题,我们需要一个函数,其二阶导 ..

使用 numpy 为 RNN 准备数据的最快方法是什么?

我目前有一个 (1631160,78) np 数组作为我对神经网络的输入.我想尝试一些需要 3D 结构作为输入数据的 LSTM.我目前正在使用以下代码生成所需的 3D 结构,但速度非常慢(预计到达时间 > 1 天).有没有更好的方法来用 numpy 做到这一点? 我当前生成数据的代码: def transform_for_rnn(input_x, input_y, window_size) ..
发布时间:2021-12-14 10:03:17 AI人工智能

Keras LSTM 预测的时间序列被压缩和移位

我正在尝试在假期期间亲身体验 Keras,我想我会从教科书的股票数据时间序列预测示例开始.所以我想要做的是给出过去 48 小时的平均价格变化(自前一个小时以来的百分比),预测未来一小时的平均价格变化是多少. 然而,当针对测试集(甚至训练集)进行验证时,预测序列的幅度相差甚远,有时会转变为始终为正或始终为负,即偏离 0% 变化,我认为这对于这种事情是正确的. 我想出了以下最小示例来说明问 ..
发布时间:2021-12-14 09:43:59 AI人工智能

使用预训练的 word2vec 和 LSTM 进行单词生成

LSTM/RNN 可用于文本生成.这个展示了对 Keras 模型使用预训练的 GloVe 词嵌入. 如何在 Keras LSTM 中使用预训练的 Word2Vec 词嵌入模型?这篇帖子确实有帮助. 当模型以单词序列作为输入时,如何预测/生成下一个单词? 尝试的示例方法: # 准备 word2vec 词嵌入的示例代码进口原件文档 = [“实验室 abc 计算机应用程序的人机界面",《 ..
发布时间:2021-12-14 09:31:18 AI人工智能

如何合并数值模型和嵌入序列模型来处理 RNN 中的类别

我想为我的分类特征构建一个带有嵌入的单层 LSTM 模型.我目前有数字特征和一些分类特征,例如位置,它们不能是单热编码的,例如由于计算复杂性,使用 pd.get_dummies(),这是我最初打算做的. 让我们想象一个例子: 示例数据 data = {'user_id': [1,1,1,1,2,2,3],'time_on_page': [10,20,30,20,15,10,40],' ..
发布时间:2021-12-09 22:53:47 AI人工智能

初始化 LSTM 隐藏状态 Tensorflow/Keras

有人可以解释我如何在张量流中初始化 LSTM 的隐藏状态吗?我正在尝试构建 LSTM 循环自动编码器,因此在训练该模型后,我想将学习到的无监督模型的隐藏状态转移到有监督模型的隐藏状态.使用当前的 API 甚至可能吗?这是我正在尝试重新创建的论文: http://papers.nips.cc/paper/5949-半监督序列学习.pdf 解决方案 是的 - 这是可能的,但确实很麻烦.我 ..
发布时间:2021-12-09 22:53:37 其他开发

如何在 TensorFlow 中处理带有可变长度序列的批次?

我试图使用 RNN(特别是 LSTM)进行序列预测.但是,我遇到了可变序列长度的问题.例如, sent_1 = "我要飞往迪拜"sent_2 = "我正从美国前往迪拜" 我正在尝试使用基于此的简单 RNN 预测当前单词之后的下一个单词 构建 PTB LSTM 模型的基准. 然而,num_steps 参数(用于展开到之前的隐藏状态)应该在每个 Tensorflow 的 epoch 中保持不 ..
发布时间:2021-12-09 22:49:14 Python

ValueError : 层 lstm 的输入 0 与层不兼容:预期 ndim=3,发现 ndim=2.收到的完整形状:[无,18]

我是 Keras 的新手,我正在尝试构建一个供个人使用/未来学习的模型.我刚开始使用 python,我想出了这段代码(在视频和教程的帮助下).我有 16324 个实例的数据,每个实例包含 18 个特征和 1 个因变量. 将pandas导入为pd导入操作系统导入时间将张量流导入为 tf从 tensorflow.keras.models 导入顺序从 tensorflow.keras.layers 导 ..
发布时间:2021-12-09 22:30:26 Python