1 votos

Aclaraciones sobre LSTM

from keras.models import Sequential
from keras.layers import Dense
from keras.layers import LSTM

net = Sequential()
net.add(LSTM(units = 3, return_sequences = True, input_shape = (X_train.shape[1], 1)))
net.add(LSTM(units = 3))
net.add(Dense(units = 1))

La siguiente imagen es un intento de representar visualmente el fragmento de código anterior.

enter image description here

De la figura anterior, entiendo que hay dos capas de unidades LSTM. Cada una de esas capas tiene tres unidades/neuronas LSTM. Hay una única neurona/unidad de salida. Las tres unidades LSTM de la primera capa reciben la misma entrada.


Mis preguntas:

a) ¿Interpreta correctamente la figura la muestra de código?

b) ¿He descrito/entendido bien la figura?

Gracias.

0voto

nictrix Puntos 108

Su cifra es bastante exacta, pero le falta un paso importante. En la primera capa LSTM pasas un parámetro return_sequences = True que pasaba toda la secuencia de la primera capa a la segunda. En cambio, la capa densa sólo recibe la última salida de la segunda capa LSTM.
He esbozado una imagen de su código dada una secuencia en 4 elementos de entrada ( $x_1, x_2, x_3, x_4$ ). enter image description here Cada fila representa una única capa LSTM. Cada bloque LSTM contiene 3 unidades/neuronas. Dentro del bloque, las neuronas están conectadas y pueden intercambiar información entre los pasos de la secuencia.

Lo recomiendo entrada del blog para comprender mejor el LSTM.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X