43 votos

¿Cuáles son las ventajas de apilar varios LSTM?

¿Cuáles son las ventajas? ¿Por qué utilizar múltiples LSTM, apiladas una al lado de la otra, en una red profunda? Utilizo una LSTM para representar una secuencia de entradas como una entrada única. Así que una vez que tengo esa única representación, ¿por qué iba a pasarla de nuevo?

Lo pregunto porque lo he visto en un programa de generación de lenguaje natural.

1 votos

¿Realmente querías decir LSTM apiladas una al lado de la otra como en horizontal (a lo largo de pasos temporales) o querías decir apiladas verticalmente (múltiples células LSTM para cada paso temporal)?

28voto

Areg Sarkissian Puntos 183

Creo que te refieres a capas LSTM apiladas verticalmente (suponiendo que el eje horizontal sea el eje temporal.

En ese caso, la principal razón para apilar LSTM es permitir una mayor complejidad del modelo. En el caso de una red feedforward simple, apilamos capas para crear una representación jerárquica de los datos de entrada y utilizarla en alguna tarea de aprendizaje automático. Lo mismo ocurre con las LSTM apiladas.

En cada paso de tiempo un LSTM, además de la entrada recurrente. Si la entrada ya es el resultado de una capa LSTM (o una capa feedforward), entonces la LSTM actual puede crear una representación de características más compleja de la entrada actual.

Ahora bien, la diferencia entre tener una capa feedforward entre la entrada de características y la capa LSTM y tener otra capa LSTM es que una capa feedforward (digamos una capa totalmente conectada) no recibe retroalimentación de su paso de tiempo anterior y, por tanto, no puede dar cuenta de ciertos patrones. Con una LSTM en su lugar (por ejemplo, utilizando una representación LSTM apilada) se pueden describir patrones de entrada más complejos en cada capa.

13voto

Franck Dernoncourt Puntos 2128

De {1}:

Aunque teóricamente no está claro cuál es la potencia adicional obtenida por el se ha observado empíricamente que las RNN profundas funcionan mejor que las superficiales. en algunas tareas. En particular, Sutskever et al (2014) informan de que una arquitectura profunda de 4 capas fue crucial para lograr un buen rendimiento de traducción automática en un marco codificador-decodificador codificador-decodificador. Irsoy y Cardie (2014) también informan de la mejora de los resultados al pasar de una arquitectura de una capa a una de dos capas. BI-RNN a una arquitectura de varias capas. Muchos otros trabajos informan de resultados utilizando arquitecturas RNN con capas, pero no se comparan explícitamente con las RNN de una capa.

PARA SU INFORMACIÓN:


Referencias:

3voto

Zubair Puntos 11039

Jugando con LSTM para la clasificación de secuencias, tuvo el mismo efecto que aumentar la capacidad del modelo en las CNN (si estás familiarizado con ellas). Así que sin duda se obtienen ganancias, especialmente si los datos están infraajustados.

Por supuesto, tiene doble filo, ya que también se puede sobreajustar y obtener un peor rendimiento. En mi caso, pasé de 1 LSTM a una pila de 2 y obtuve una mejora prácticamente instantánea.

1voto

Shamoon Puntos 51

Según mi experiencia, el apilamiento de capas LSTM (más de 3) parece ofrecer un peor rendimiento.

enter image description here

El morado tiene 2 capas, el rosa 3 y el verde 6. Todo lo demás se mantiene constante. Seguro que depende de la tarea. Mi tarea es una secuencia de entrada y salida de longitud fija.

0 votos

Esto demuestra que este modelo verde en particular es peor, pero dado que cambiar el número de capas cambia la dificultad de la tarea de optimización, me pregunto si podemos cambiar cómo se entrena el modelo para superar esto. ¿Desaparece la diferencia de rendimiento entre el modelo verde de 6 capas y el modelo morado de 2 capas si se cambian los detalles de configuración del modelo, como los ajustes del optimizador, la inicialización, la longitud de la secuencia, o si se añade regularización u otros hiperparámetros del modelo?

0 votos

Supongo que sí, pero los mantengo constantes. ¿Qué me sugiere para empezar? Para el optimizador, ambos utilizan Adam

0 votos

Correcto, y mi punto es que mantenerlos constantes no nos dice si cambiar la configuración (por ejemplo, la tasa de aprendizaje) mejora el modelo verde. Cuando entrenamos redes neuronales, no estamos obligados a utilizar la misma configuración en todos los modelos, por lo que una comparación justa tendría que ajustar cada uno de estos modelos por separado e informar de los mejores resultados para cada uno. Tengo algunas sugerencias sobre por dónde empezar: stats.stackexchange.com/questions/352036/

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