两个堆叠的 LSTM 层之间有啥联系?

Posted

技术标签:

【中文标题】两个堆叠的 LSTM 层之间有啥联系?【英文标题】:What is the connections between two stacked LSTM layers?两个堆叠的 LSTM 层之间有什么联系? 【发布时间】:2020-09-02 19:09:00 【问题描述】:

问题类似于What's the input of each LSTM layer in a stacked LSTM network?,但更多的是实施细节。

为简单起见,4个单元和2个单元的结构如何,如下所示

model.add(LSTM(4, input_shape=input_shape,  return_sequences=True))
model.add(LSTM(2,input_shape=input_shape))

所以我知道LSTM_1 的输出长度为 4,但是接下来的 2 个单元如何处理这 4 个输入,它们是否完全连接到下一层节点?

我猜他们是全连接的但不确定如下图,Keras document中没有说明

谢谢!

【问题讨论】:

这能回答你的问题吗? Understanding Keras LSTMs @ZabirAlNazi Thx,我检查了它,但它仍然不能解释堆叠的 LSTM。它说“当然,您可以将许多层堆叠在一起,不一定都遵循相同的模式,并创建自己的模型。”我对此非常感兴趣。如何在层之间传递结果。谢谢! 【参考方案1】:

不是长度 4,而是 4 个“特征”。

长度在输入形状中并且永远不会改变,将常规输入提供给一个 LSTM 时发生的情况与将 LSTM 的输出提供给另一个 LSTM 时发生的情况绝对没有区别。

您只需查看模型的摘要即可查看形状并了解正在发生的事情。您永远不会使用 LSTM 更改长度。

他们根本不交流。每个都采用长度维度,反复处理它,彼此独立。当一个完成并输出一个张量时,下一个获得张量并按照相同的规则单独处理它。

【讨论】:

谢谢,这有帮助!这是特征,而不是时间步长。 你能回答我这个问题吗***.com/q/65949227/7344164 谢谢!要问一个后续问题,如果你堆叠一堆 LSTM 层,然后是其他一些重塑数据的层怎么办?然后,如果您正在考虑一个时间序列,那么先前的状态(现在已作为序列的一部分进行了重塑)如何循环回到 LSTM 链的起点以进行下一个时间步长(在每个时间步内进行状态循环吗? LSTM 细胞)? @mfgeng,每个LSTM都隐藏在自己内部,状态不是输出,不受其他层的影响。

以上是关于两个堆叠的 LSTM 层之间有啥联系?的主要内容,如果未能解决你的问题,请参考以下文章

Iteratees和FRP之间有啥联系?

单片机学习中的keil和protuse两个软件分别用来干啥,他们之间有啥联系吗?

sql跟踪cpu和duration两个时间有啥联系

如何使用 Tensorflow2.0 alpha 堆叠卷积层和 LSTM?

validate() 和 hasErrors() 之间有啥联系

WebSockets 和异步 Servlet 技术之间有啥联系?