¿Qué es LSTM, BiLSTM y cuándo usarlos?

11

Soy muy nuevo en el aprendizaje profundo y estoy particularmente interesado en saber qué son LSTM y BiLSTM y cuándo usarlos (áreas principales de aplicación). ¿Por qué LSTM y BILSTM son más populares que RNN?

¿Podemos usar estas arquitecturas de aprendizaje profundo en problemas no supervisados?

Volka
fuente
2
BiLSTM significa LSTM bidireccional, lo que significa que la señal se propaga hacia atrás y hacia adelante en el tiempo. También puede aplicar esta arquitectura a otros RNN. Para más detalles, lea en.wikipedia.org/wiki/Bidirectional_recurrent_neural_networks y colah.github.io/posts/2015-08-Understanding-LSTMs ¡ Bienvenido al sitio!
Emre
Aquí hay una publicación , la diferencia entre RNN y LSTM y aquí hay un blog para demostrar la diferencia entre LSTM y Bidirectional-LTSM
Benyamin Jafari

Respuestas:

7

RNNA las arquitecturas les gusta LSTMy BiLSTMse usan en ocasiones en las que el problema de aprendizaje es secuencial, por ejemplo, si tiene un video y desea saber de qué se trata todo esto o si desea que un agente lea una línea de documento para usted, que es una imagen de texto y No en formato de texto. Le recomiendo que eche un vistazo aquí .

LSTMsy sus variantes bidireccionales son populares porque han tratado de aprender cómo y cuándo olvidar y cuándo no usar puertas en su arquitectura. En RNNarquitecturas anteriores , la desaparición de los gradientes era un gran problema y hacía que esas redes no aprendieran tanto.

Con Bidireccional LSTMs, alimenta el algoritmo de aprendizaje con los datos originales una vez de principio a fin y una vez de principio a fin. Aquí hay debates, pero generalmente se aprende más rápido que el enfoque unidireccional, aunque depende de la tarea.

Sí, también puede usarlos en el aprendizaje no supervisado según su tarea. mira aquí y aquí .

Medios de comunicación
fuente
1
Muchas gracias por la maravillosa respuesta. ¿Podemos usar lstm para la extracción de palabras clave en PNL?
Volka
en realidad hay muchos documentos sobre ellos, por ejemplo, puedes ver aquí y aquí .
Medios
Muchas gracias. Me pregunto si hay un enfoque de aprendizaje profundo de extracción de palabras clave listo para usar que podamos usar.
Volka
en realidad no lo he visto, tal vez sea mejor preguntarlo :)
Media
4

Los humanos no comienzan a pensar desde cero cada segundo. A medida que lee este ensayo, comprende cada palabra en función de su comprensión de las palabras anteriores. No tiras todo y comienzas a pensar desde cero de nuevo. Tus pensamientos tienen persistencia.

Las redes neuronales tradicionales no pueden hacer esto, y parece una gran deficiencia. Por ejemplo, imagine que desea clasificar qué tipo de evento está ocurriendo en cada punto de una película. No está claro cómo una red neuronal tradicional podría usar su razonamiento sobre eventos anteriores en la película para informar a los posteriores.

Las redes neuronales recurrentes abordan este problema. Son redes con bucles que permiten que la información persista.

Para más información, visite el blog de Cohen

Abhishek Sharma
fuente
2

En comparación con LSTM, BLSTMo BiLSTMtiene dos redes, una de acceso a la pastinformación en forwarddirección y otra de acceso futureen la reversedirección.WIKI

Se Bidirectionalagrega una nueva clase según el documento oficial aquí :

model = Sequential()
model.add(Bidirectional(LSTM(num_channels, 
        implementation = 2, recurrent_activation = 'sigmoid'),
        input_shape=(input_length, input_dim)))

El ejemplo completo que usa datos IMDB será así

ParthaSen
fuente