Definición breve
La memoria a corto y largo plazo (LSTM) es un tipo de red neuronal recurrente diseñada para capturar dependencias a largo plazo en datos secuenciales mediante el uso de mecanismos de memoria y control.
Explicación del concepto
Las redes neuronales recurrentes tradicionales (RNN) tienen dificultades para aprender relaciones a largo plazo debido al problema de los gradientes desvanecientes.
Las LSTM solucionan este problema introduciendo una celda de memoria que permite:
- almacenar información relevante
- olvidar información innecesaria
- controlar el flujo de datos
Esto les permite modelar secuencias complejas como texto, audio o series temporales.
Cómo funciona
Una LSTM utiliza tres puertas principales para controlar la información:
- Puerta de entrada (input gate)
Decide qué información nueva almacenar. - Puerta de olvido (forget gate)
Determina qué información eliminar. - Puerta de salida (output gate)
Controla qué información se utiliza como salida.
Estas puertas permiten mantener información a lo largo del tiempo.
Fórmula conceptual
Donde:
- ct es el estado de la celda
- ft es la puerta de olvido
- it es la puerta de entrada
- tildect es la nueva información
Características principales
- capacidad de memoria a largo plazo
- control del flujo de información
- mitigación de gradientes desvanecientes
- adecuado para datos secuenciales
Aplicaciones
- procesamiento de lenguaje natural
- reconocimiento de voz
- predicción de series temporales
- traducción automática
Ejemplo conceptual
Una LSTM puede recordar palabras anteriores en una frase para entender el contexto y predecir la siguiente palabra correctamente.
Ejemplo en PyTorch
Uso de una capa LSTM:
import torch.nn as nnlstm = nn.LSTM(input_size=10, hidden_size=20, num_layers=2)output, (h_n, c_n) = lstm(input_sequence)
Conceptos relacionados
- Redes neuronales recurrentes
- Gradientes desvanecientes
- Modelado de secuencias
- Transformers
- Aprendizaje profundo
Resumen
La memoria a corto y largo plazo (LSTM) es una arquitectura clave para el modelado de secuencias que permite capturar dependencias a largo plazo mediante mecanismos de memoria controlada. Ha sido fundamental en el desarrollo de aplicaciones avanzadas en procesamiento de lenguaje y series temporales.