tensorflow 如何确定将选择哪些 LSTM 单元作为输出?

How does tensorflow determine which LSTM units will be selected as outputs?

我使用以下代码创建了一个 LSTM 模型:

model = tensorflow1.keras.Sequential()

model.add(tensorflow1.keras.layers.LSTM(128, input_shape=(720, 4), return_sequences=True)) model.add(tensorflow1.keras.layers.LeakyReLU(alpha=0.5)) model.add(tensorflow1.keras.layers.LSTM(128, return_sequences=True)) model.add(tensorflow1.keras.layers.LeakyReLU(alpha=0.5)) model.add(tensorflow1.keras.layers.Dropout(0.3)) model.add(tensorflow1.keras.layers.LSTM(64, return_sequences=False)) model.add(tensorflow1.keras.layers.Dropout(0.3)) model.add(tensorflow1.keras.layers.Dense(1))

对于代码 model.add(tf.keras.layers.LSTM(128, input_shape=(720,4), return_sequences=True)),在我的理解中,代码将有 128 个 LSTM 输出单元,输入形状为 720 个时间步长和 4 个特征。 根据 tensorflow keras 文档,单位指的是“输出的维数 space”。 (https://www.tensorflow.org/api_docs/python/tf/keras/layers/LSTM)

我的问题是:作为输出单元的 128 个单元格中,720 个单元格中的哪些单元格将 selected 作为输出单元格? tensorflow 如何选择哪些单元格 select 作为输出?

第一层由 128 个 LSTM 单元组成。

每个 单元将给出一个输出,该输出将作为后续层的输入提供。

由于您(正确)选择了“return_sequences=True”,每个 LSTM 单元将由于序列展开而提供每个时间步长的输出值。

因此,对于第一个 LSTM 层,720 个时间步长中的每一个都有 128 个输出值(每个单元格一个)。

也许这有助于理解: https://www.tensorflow.org/guide/keras/rnn