¿Cuáles son las ventajas de apilar múltiples LSTM?

25

¿Cuáles son las ventajas? ¿Por qué uno usaría múltiples LSTM, apilados uno al lado del otro, en una red profunda? Estoy usando un LSTM para representar una secuencia de entradas como una sola entrada. Entonces, una vez que tenga esa representación única, ¿por qué volvería a pasarla?

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

wordSmith
fuente
1
¿Realmente te referías a los LSTM apilados uno al lado del otro como en horizontal (a lo largo de los pasos de tiempo) o te referías a los apilados verticalmente (múltiples celdas LSTM para cada paso de tiempo)?
wabbit

Respuestas:

18

Creo que se refiere a capas LSTM apiladas verticalmente (suponiendo que los ejes horizontales sean el eje del tiempo.

En ese caso, la razón principal para apilar LSTM es permitir una mayor complejidad del modelo. En el caso de una simple red de avance, apilamos capas para crear una representación jerárquica de características de los datos de entrada para luego usarlos en alguna tarea de aprendizaje automático. Lo mismo se aplica para los LSTM apilados.

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

Ahora, la diferencia entre tener una capa de avance entre la entrada de entidades y la capa de LSTM y tener otra capa de LSTM es que una capa de avance (por ejemplo, una capa completamente conectada) no recibe retroalimentación de su paso de tiempo anterior y, por lo tanto, no puede dar cuenta de cierta patrones. Tener un LSTM en su lugar (por ejemplo, usando una representación LSTM apilada) se pueden describir patrones de entrada más complejos en cada capa

Sjoerd
fuente
44
Las celdas LSTM dentro de una capa ya están conectadas entre sí de forma recurrente (las salidas de una capa tienen conexiones con todas las entradas de la misma capa). Por lo tanto, las celdas individuales ya pueden combinar características en la parte superior de las salidas de otras celdas, todas dentro de una capa. ¿Podría explicar por qué múltiples capas resultan en patrones más complejos, por favor?
danijar
6

De 1}:

Si bien en teoría no está claro cuál es el poder adicional obtenido por la arquitectura más profunda, se observó empíricamente que los RNN profundos funcionan mejor que los menos profundos en algunas tareas. En particular, Sutskever et al (2014) informan que una arquitectura profunda de 4 capas fue crucial para lograr un buen rendimiento de traducción automática en un marco codificador-decodificador. Irsoy y Cardie (2014) también informan mejores resultados al pasar de un BI-RNN de una capa a una arquitectura con varias capas. Muchos otros trabajos informan resultados usando arquitecturas RNN en capas, pero no se comparan explícitamente con los RNN de 1 capa.

FYI:


Referencias

Franck Dernoncourt
fuente
2

Al jugar con LSTM para la clasificación de secuencia tuvo el mismo efecto que aumentar la capacidad del modelo en CNN (si está familiarizado con ellos). Por lo tanto, definitivamente obtendrá ganancias, especialmente si no está ajustando sus datos.

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

InKodeWeTrust
fuente