Los LSTM son un tipo de RNN. Entonces, la pregunta es ¿en qué se diferencia de un RNN de vainilla ?
En primer lugar, recuerde que los RNN (tanto LSTM como un RNN de vainilla) tienen este tipo de estructura cuando se desenrollan.
- Redes neuronales convolucionales: ¿Cuáles son algunos posibles proyectos de cursos de aprendizaje automático de nivel de posgrado que utilizan CNN? Específicamente en el límite de PNL y CV.
- ¿Cuándo debo coseno similitud? ¿Se puede usar para la agrupación?
- ¿Qué significa que una modelo se sobreajuste?
- ¿Cómo calcula el tema antes en el análisis latente probabilístico?
- Cuando la gente dice que la inteligencia artificial destruirá a la raza humana, ¿es que alguien los programará para que estén predispuestos a no gustarle la vida orgánica, o que de alguna manera adquirirán naturalmente las mismas emociones o algoritmos que lo llevan a uno a matar?
Básicamente, nos estamos alimentando en una secuencia de entradas. La esperanza es que los estados de la “celda” contengan información de todas las entradas que se han alimentado hasta ese punto, es decir, todas las X que se han alimentado tienen algo que decir en el estado de A. Piensa en ello como Se supone que A escucha, más o menos, cada una de las X.
Ahora, en el RNN de vainilla, lo interno de la célula es esto:
Imagine un mensajero que lleva información de la primera celda a la última. Primero “escucha” a X0 y luego escucha a X1 y así sucesivamente hasta que alcanza el último estado.
X0: “¡Hola A! *Informacion IMPORTANTE*”
A: “Está bien. Entendido.”
X1: “¡Hola A! * Información irrelevante * “
A: “Claro”.
X2: “¡Hola A! *Informacion IMPORTANTE*”
A: “Está bien”.
…
Entonces, con toda probabilidad, solo recuerda lo que dijeron las X posteriores, es decir, las cosas que las X dijeron al comienzo de la secuencia tienen poca o ninguna influencia en lo que A recuerda al final.
Eso es un problema porque significa que la red no tiene en cuenta las dependencias largas (er). Entonces, aquí, ¡A podría haber olvidado por completo lo que X0 había dicho!
LSTM intenta evitar eso.
Parece complicado pero la parte principal es la línea superior.
Básicamente hay una autopista de información que atraviesa la red que está cerrada.
Entonces, en lugar de simplemente agregar la información obtenida al escuchar cada X, es más “selectivo” acerca de lo que elige olvidar de su memoria, lo que escucha y qué información agrega a su memoria (a largo plazo).
X0: “¡Hola A! *Informacion IMPORTANTE*”
A: “Está bien. Lo tengo “. * Escribe la información *
X1: “¡Hola A! * Información irrelevante * “
A: * Frunce el ceño * “Umm … creo que voy a fingir que no lo escuché”.
X2: “¡Hola A! *Informacion IMPORTANTE*”
R: * Mira el documento * “Hmm … Esto cambia parte de la información que X0 había compartido …” * Actualiza el documento en consecuencia * “Está bien. Actualizado.”
…
Por lo tanto, la esperanza es que al ser más selectivo, puede recordar dependencias más largas, recuerdos, si eso es útil para la tarea en cuestión. Por supuesto, también se espera que la red aprenda a ser selectiva de la manera correcta.
Nota final:
Esto está extremadamente simplificado y puede ser engañoso / incorrecto de alguna manera. Pero supongo que funciona como una explicación laica.
Lecturas adicionales:
[1] ¿Cuál es el problema del gradiente de fuga?
(La explicación anterior toca el problema del gradiente de fuga. Pero también podríamos tener gradientes explosivos).
[2] Memorias escritas: comprensión, derivación y extensión del LSTM
[3] Comprensión de las redes LSTM (explicación impresionante. Todas las imágenes tomadas desde aquí).