Acerca de la comprensión de LSTM en Keras
Me preguntaba cómo funcionaba LSTM con Keras.
Tomemos un ejemplo. Tengo una longitud máxima de oración de 3 palabras. Ejemplo: 'cómo estás' Vectorizo cada palabra en un vector de len 4. Entonces tendré una forma (3,4) Ahora, quiero usar un lstm para hacer cosas de traducción. (Solo un ejemplo)
model = Sequential()
model.add(LSTM(1, input_shape=(3,4), return_sequences=True))
model.summary()
Voy a tener una forma de salida de (3,1) según Keras.
Layer (type) Output Shape Param #
=================================================================
lstm_16 (LSTM) (None, 3, 1) 24
=================================================================
Total params: 24
Trainable params: 24
Non-trainable params: 0
_________________________________________________________________
Y esto es lo que no entiendo.
Cada unidad de un LSTM (Con return_sequences=True para tener toda la salida de cada estado) debería darme un vector de forma (pasos de tiempo, x) Donde timesteps es 3 en este caso, y x es el tamaño de mi vector de palabras (en este caso, 4)
Entonces, ¿por qué obtuve una forma de salida de (3,1)? Busqué por todas partes, pero no puedo resolverlo.
Mostrar la mejor respuesta