Skip to content

Redes Neuronales LSTM

5/5 - (1 voto)

 

redes neuronales lstm

 

En este artículo vas a descubrir qué son las redes LSTM, y porqué son tan importantes en la industria del Machine Learning. Todo ello con ejemplos muy prácticos.

 

¿Qué son las redes LSTM? Ejemplos

Las redes neuronales LSMT o en inglés (Long Short Term Memory) traducido como Memoria Corta a Largo Plazo son un tipo de redes neuronales recurrentes, con la característica de tener memoria a largo plazo.

En las redes neuronales regulares, la información circula  desde la capa de entrada a la salida y no se almacena.

Este tipo de redes son útiles por ejemplo si tenemos que clasificar imágenes de prendas de vestir, la red clasifica una imágen como camiseta, pero esta información no es útil para la siguiente entrada, no aporta para clasificar la siguiente imagen si por ejemplo es un bolso, unos pantalones o un collar.

Sin embargo hay aplicaciones donde la entrada anterior si aporta en el proceso de la entrada actual.

Por ejemplo en una aplicación de interprete de lenguaje, si detectamos la palabra «la», esta salida nos proporciona mucha información sobre la siguiente palabra que vamos a procesar ya que implica que muy probablemente sea un sustantivo, femenino, singular lo que venga a continuación.

Almacenar en la red neuronal la información de que se ha procesado un artículo femenino singular «la» nos aporta mucho para procesar la siguiente palabra.

Las redes neuronales recurrentes solucionan el problema que tienen las redes neuronales regulares permitiendo que se almacene un «estado» o memoria que nos permite ser usado para la entrada posterior.

El inconveniente de las redes recurrentes es que el valor de ese «estado» se va perdiendo conforme se van procesando las entradas, es decir, la red neuronal recurrente tiene memoria, pero es a corto plazo.

Hay aplicaciones en las que es necesaria tener una memoria a largo plazo y que el estado si es transcendente se almacene y permita procesar muchas entradas siguientes sin ser olvidado.

Por ejemplo, en el caso de la aplicación anterior que procesa el lenguaje, el procesamiento de la palabra «la» no solo nos aporta que la siguiente palabra probablemente sea un sustantivo femenino singular «la casa», sino que el verbo y los adjetivos probablemente también concuerden con un sujeto femenino sigular «la casa es bonita»

Luego si almacenamos el estado en la red de que la oración que procesamos trata de un sustantivo femenino singular, esta información nos permitirá procesar las entradas futuras con mayor precisión, al igual que sucede en el proceso cerebral del lenguaje humano.

«la casa es bonitos» provoca en nuestro cerebro un proceso de autocorrección de la última palabra y probablemete la cambiemos internamente por «bonita» ya que los «estados anteriores» nos indican que el adjetivo ha de ser singular y femenino.

 

 

¿Cuando usar las Redes Neuronales LSTM?

Como hemos visto, para la clasificación de imágenes independientes las unas de las otras, el tipo de red que debemos usar en una red neuronal regular convolucional.

Pero si en la aplicación, los procesamientos de la red neuronal, aportan información en los procesamientos de las entradas futuras, en este caso debemos de usar una red neuronal recurrente LSTM.

Aplicaciones de las redes Neuronales LSTM

Procesamiento del lenguaje natural (NLP):

Traducción automática: Las LSTM se utilizan en sistemas de traducción automática  con su capacidad para comprender y generar texto.

Análisis de sentimientos: Permiten analizar el tono y la emoción en texto, identificando opiniones y actitudes.

Generación de texto: Pueden generar texto coherente y realista, útil en la creación de contenido, chatbots y asistentes virtuales.

Predicción y series temporales:

Predicción financiera: Las LSTM pueden predecir valores futuros en mercados financieros basándose en patrones históricos.Clima y meteorología: Son útiles para predecir el clima a corto y largo plazo al analizar datos climáticos históricos.

Ingeniería y mantenimiento predictivo: Se aplican en la predicción de fallas en equipos industriales analizando datos de sensores.

Visión por computadora:

Reconocimiento de actividad: Ayudan a reconocer patrones en secuencias de video para identificar acciones humanas.

Segmentación y etiquetado de imágenes: Facilitan la comprensión y el etiquetado automático de imágenes en tiempo real.

Biomedicina y salud:

Diagnóstico médico: Permiten analizar secuencias temporales de datos médicos para ayudar en diagnósticos médicos.

Predicción de condiciones médicas futuras: basadas en datos de seguimiento de pacientes.

Robótica y control de secuencias:

Control temporal: Ayudan en el control y la planificación de acciones en robots autónomos o sistemas de control de procesos.

Generación de música y creatividad:

Composición musical: Las LSTM se aplican para generar música original y seguir patrones musicales.

¿Cómo funciona una LSTM?

Una red LSTM tiene la capacidad de recordar un dato relevante en la secuencia y de preservarlo para procesar entradas posteriores.

En el ejemplo anterior de procesamiento de lenguaje natural «la casa es bonita» la red procesa la palabra «la» recuerda el estado de «fememino singular» por lo tanto tiene memoria de corto plazo como las redes recurrentes básicas y procesa el sustantivo «casa» y también tiene memoria a largo plazo para para procesar las siguientes entradas «es bonita».

La celda LSTM

La principal diferencia entre una red neuronal recurrente y una red neuronal lstm es que las celdas tienen una entrada, una salida adicional y un estado.

En la celda de estado se almacenan entradas relevantes y ignoran otras entradas mediante las compuertas lstm.

Compuertas LSTM

La compuerta Forget.- Mediante la compuerta forget, descartamos entradas y no permitimos que pasen a la memoria (celda de estado)

En el ejemplo de procesamiento del lenguaje natural, en la frase «la casa es bonita el perro es tranquilo» mientras las entradas concuerdan con femenino singular, activamos la compuerta forget, para descartar toda actualización de la celda de estado que recoge la información «femenino singular».

En el momento que empezamos a procesar la secuencia » … y el perro es tranquilo», se debe de actualizar la celda de estado con la información «masculino singular» (perro) y para ello se utiliza una segunda compuerta

La compuerta update.-  la compuerta “update gate”,  nos permite actualizar la memoria de la celda LSTM para indicar que ahora el sujeto es masculino singular (perro).

Para la actualización de la celda de estado (memoria) se multiplica el valor de la puerta forget (la borra) y se actualiza con la información de la compuerta update.

Para el cálculo del nuevo estado oculto, se utiliza el mismo procedimiento que una red neuronal recurrente.

 

Tabla comparativa de LSTM frente a RNN

AspectoLSTM Redes Neuronales Recurrentes RNN
Retención de la MemoriaCorto y largo plazoSolo corto plazo
AplicaciónSon muy útiles para aplicaciones donde se requiere una memoria a largo plazo, como en traducción automática, análisis de sentimientos y generación de lenguajeAplicaciones como la predicción meterológica, donde los datos más antiguos son muy poco relevantes.
ArquitecturaSon una RNN pero más compleja con una celda de estado (memoria a largo plazo) y varias entradas para actualizarla.Estructura mucho más simple con solo un «estado oculto» (memoria a corto plazo)
RendimientoEl proceso de aprendizaje requiere mayor capacidad de proceso ya que la arquitectura en más complejaEl proceso de aprendizaje no requiere tanta capacidad de procesamiento al ser la arquitectura más simple.