python - Keras中如何解释清楚units参数的含义?

标签 python keras lstm

我想知道 LSTM 在 Keras 中是如何工作的。在 this tutorial例如,与许多其他人一样,您可以找到类似这样的内容:

model.add(LSTM(4, input_shape=(1, look_back)))

“4”是什么意思。它是层中神经元的数量。对于神经元,我的意思是每个实例都给出一个输出?

其实我找到了this brillant discussion但并没有真正被 the reference given 中提到的解释说服.

在方案上,可以看到图示的 num_units,我想我说这个单元中的每一个都是一个非常原子的 LSTM 单元(即 4 个门)并没有错。但是,这些单元是如何连接的?如果我是对的(但不确定),x_(t-1) 的大小为 nb_features,因此每个特征都是一个单元和 num_unit 的输入 必须等于 nb_features 对吗?

现在,让我们谈谈keras。我读过this post and the accepted answer惹上麻烦。事实上,答案是:

基本上,形状类似于 (batch_size, timespan, input_dim),其中 input_dim 可以不同于 unit

在什么情况下?我对之前的引用有问题...

此外,它说,

Keras 中的 LSTM 仅定义了一个 LSTM block ,其单元格具有单位长度

好的,但是我该如何定义一个完整的 LSTM 层呢? input_shape 是否隐含地创建了与 time_steps 数量一样多的 block (根据我的说法,这是 input_shape 参数的第一个参数我的一段代码?

谢谢你点亮我

编辑:是否也可以清楚地详细说明如何为有状态 LSTM 模型 reshape 大小为 (n_samples, n_features) 的数据?如何处理 time_steps 和 batch_size ?

最佳答案

首先,LSTM 中的units 不是time_steps 的数量。

每个 LSTM 单元(出现在给定的 time_step)接受输入 x 并形成一个隐藏状态向量 a,这个隐藏单元向量的长度就是所谓的LSTM(Keras) 中的 units

您应该记住,代码只创建了一个 RNN 单元

keras.layers.LSTM(units, activation='tanh', …… )

RNN 操作由类本身重复 Tx 次。

我已链接 this以非常简单的代码帮助您更好地理解它。

关于python - Keras中如何解释清楚units参数的含义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51932767/

相关文章:

python - Pytorch 中的 LSTM : how to add/change sequence length dimension?

python - 我怎么知道我的子进程是否在等待我的输入?(在 python3 中)

python - 如何验证 Keras 中的预测

scikit-learn - 如何将 sklearn 的分类报告用于 keras 模型?

math - 为什么我们在深度学习中使用对数概率?

python - TensorFlow LSTM : Why does test accuracy become low, 但没有训练一个?

python - Django-CMS复用插件实例

python - SAGE 加速因子如何发挥作用

python - geojsonio 中的 display() 给出 401 错误

python - Keras 中的 model(x) 和 model.predict(x) 之间的区别?