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 个输出值(每个单元格一个)。
我使用以下代码创建了一个 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 个输出值(每个单元格一个)。