【发布时间】:2020-12-29 02:32:10
【问题描述】:
我已经尝试理解 LSTM 输入有一段时间了,我想我理解了,但我一直对如何实现它们感到困惑。
这是我的想法,如果我错了,请纠正我。
在指定 LSTM 时,您需要指定单元数和输入形状(我一直遇到输入形状问题)。单元格数指定应查看给定数据的单元格数,并且不影响所需的输入形状。输入形状(当有状态时)按批次大小、批次中的时间步长和时间步长中的特征进行。有状态的 LSTM 会保留其内部状态,直到重置。是这样吗?
如果是这样,我在尝试为我的网络指定输入形状时感到非常困惑。这是因为我正在尝试升级当前网络,但我无法弄清楚如何以及在何处指定输入形状而不会出错。
我尝试升级它的方式最初是让 CNN 进入密集层。我正在尝试对其进行更改,使其添加一个 LSTM,该 LSTM 将 CNN 的扁平一维输出作为一个批次和一个时间步长,其特征取决于 CNN 输出的大小。然后将其输出与 CNN 的输出(LSTM 的输入)连接起来,然后馈送到密集层。因此,它现在的行为就像带有跳过连接的 LSTM。我似乎无法理解的问题是何时以及如何指定 LSTM 层的 Input_shape,因为它没有功能 API 的 INPUT_SHAPE 参数?或者也许我只是超级困惑,每个人都使用不同的 API 来查看不同的示例,这让我非常困惑什么是指定的和未指定的以及如何指定。
谢谢你,即使你只是在两个部分之一方面提供帮助。
TLDR:
- 我是否正确理解了 LSTM 参数?
- 如果需要,我应该如何以及何时指定 LSTM Input_shapes?
【问题讨论】:
标签: python tensorflow keras deep-learning lstm