- LSTM y GRU para Secuencias Largas
LSTM y GRU para Secuencias Largas
Odisea Algorítmica · De la Regresión al Aprendizaje Profundo — Las redes recurrentes tradicionales (RNN) sufren el desvanecimiento del gradiente cuando intentan capturar dependencias en secuencias largas. Las LSTM (Long Short-Term Memory) y las GRU (Gated Recurrent Unit) fueron diseñadas precisamente para resolver este problema mediante mecanismos de compuerta. En esta lección exploraremos su arquitectura, su aplicación en traducción automática y su papel como antecesores directos de los Transformers.
La necesidad de puertas: el problema de la memoria a largo plazo
Una RNN clásica procesa cada paso de tiempo actualizando un estado oculto ht mediante una combinación lineal y una activación no lineal. Para secuencias de más de 10–20 pasos, los gradientes se vuelven extremadamente pequeños (o explotan). Las LSTM y GRU incorporan puertas que regulan el flujo de información y permiten retener contextos relevantes durante cientos o miles de pasos.
- Estado celda (cell state) — una línea de transporte que atraviesa la cadena con pocas interacciones lineales, facilitando que el gradiente fluya sin atenuarse.
- Puertas de control — capas sigmoideas que aprenden qué información mantener, descartar o actualizar.
- Este diseño permite a las LSTM recordar patrones de larga duración como sujetos en oraciones extensas o dependencias sintácticas complejas.
intuición Imaginemos una cinta transportadora que recorre toda la secuencia: las puertas deciden si agregar un nuevo paquete (información), si dejar que siga su camino o si sacarlo. Así, la información relevante puede viajar casi inalterada.
LSTM: puerta de entrada, olvido y salida
Una celda LSTM está compuesta por tres puertas principales, todas implementadas con capas densas y activación sigmoidea (σ) que producen valores entre 0 y 1. A continuación se detalla cada componente.
1. Puerta de olvido (forget gate)
Decide qué información del estado de celda anterior Ct-1 debe descartarse. Recibe ht-1 y xt, y produce un vector de pesos entre 0 y 1.
ft = σ(Wf · [ht-1, xt] + bf)
2. Puerta de entrada (input gate)
Determina qué nuevos valores se almacenarán en el estado de celda. Se compone de dos partes:
- Puerta de entrada (sigmoide):
it = σ(Wi · [ht-1, xt] + bi) - Candidato a celda (tanh):
C̃t = tanh(WC · [ht-1, xt] + bC)
Luego se actualiza el estado de celda: Ct = ft ⊙ Ct-1 + it ⊙ C̃t
3. Puerta de salida (output gate)
Controla qué parte del estado de celda se emite como estado oculto ht.
ot = σ(Wo · [ht-1, xt] + bo)
ht = ot ⊙ tanh(Ct)
clave La combinación de olvido y entrada permite que la celda ignore información irrelevante y agregue nueva información relevante de forma controlada. La puerta de salida decide qué parte del estado de la celda se expone al resto de la red.
GRU: variante simplificada con dos puertas
La GRU (Gated Recurrent Unit) unifica las puertas de olvido y entrada en una sola puerta de actualización (update gate), y además introduce una puerta de reinicio (reset gate). A diferencia de la LSTM, la GRU no tiene un estado de celda separado; solo utiliza el estado oculto ht.
Arquitectura GRU
- Puerta de reinicio
rt: determina cuánto del estado anterior se olvida al calcular el nuevo candidato. - Puerta de actualización
zt: decide qué proporción del estado anterior se mantiene y qué proporción se actualiza con nueva información.
zt = σ(Wz · [ht-1, xt])
rt = σ(Wr · [ht-1, xt])
h̃t = tanh(W · [rt ⊙ ht-1, xt])
ht = (1 − zt) ⊙ ht-1 + zt ⊙ h̃t
La GRU tiene menos parámetros que la LSTM (sin estado de celda ni puerta de salida), lo que a menudo acelera el entrenamiento y reduce el riesgo de sobreajuste en datasets pequeños. Sin embargo, en tareas que requieren almacenar información durante muchas etapas, la LSTM puede ser ligeramente superior.
| Componente | LSTM | GRU |
|---|---|---|
| Puertas | 3 (olvido, entrada, salida) | 2 (actualización, reinicio) |
| Estado de celda | Sí (Ct) | No |
| Número de parámetros | Mayor (aprox. 4 matrices de pesos) | Menor (aprox. 3 matrices) |
| Captura de dependencias muy largas | Excelente (flujo de gradiente directo) | Muy buena |
| Velocidad de entrenamiento | Más lenta (más operaciones) | Más rápida |
Manejo de dependencias a largo plazo en la práctica
Las LSTM y GRU son capaces de modelar secuencias de hasta varios cientos de pasos. Esto es fundamental en tareas como:
- Modelado de lenguaje — predecir la siguiente palabra usando contexto de oraciones completas.
- Traducción automática — alinear frases de origen y destino con longitud variable.
- Reconocimiento de voz — procesar señales acústicas con dependencias temporales extensas.
- Análisis de series temporales — detectar patrones estacionales o tendencias con retrasos.
Ejemplo: traducción automática inglés → español (seq2seq con atención)
El modelo seq2seq (encoder-decoder) usa dos RNN: el encoder procesa la frase de entrada y produce un vector de contexto; el decoder genera la traducción palabra por palabra. Pero para secuencias largas, un único vector de contexto pierde información temprana. La atención resuelve esto permitiendo que el decoder mire dinámicamente a todos los estados del encoder.
Arquitectura del ejemplo
- Encoder LSTM bidireccional: procesa la frase inglesa en ambas direcciones, capturando contexto izquierdo y derecho.
- Mecanismo de atención Bahdanau (additive): calcula pesos de relevancia entre el estado oculto del decoder y cada salida del encoder. Los pesos se usan para crear un vector de contexto ponderado.
- Decoder LSTM: recibe como entrada la palabra anterior, el estado oculto anterior y el vector de contexto con atención.
Ejemplo concreto: Frase en inglés: "The cat that chased the mouse finally slept." Traducción al español: "El gato que persiguió al ratón finalmente durmió."
La atención permite que al generar “persiguió” el decoder se enfoque en “chased”, y al generar “ratón” preste atención a “mouse”. Las LSTM son esenciales para retener el sujeto “cat” y relacionarlo con el verbo “slept/durmió” al final de la oración.
Entrenamiento con datasets paralelos
Se requiere un corpus bilingüe alineado a nivel de oración (p. ej., Europarl, UN Parallel Corpus). El proceso incluye:
- Tokenización y normalización (minúsculas, eliminación de puntuación).
- Creación de vocabularios (subword tokenization como BPE o WordPiece).
- División en lotes con relleno (padding) y enmascaramiento.
- Función de pérdida: entropía cruzada categórica con teacher forcing (usar la palabra real como entrada del decoder durante el entrenamiento).
Durante la inferencia se usa búsqueda por haz (beam search) con tamaño de haz 4–8 para generar traducciones más coherentes.
práctica Keras/TensorFlow ofrece capas LSTM, GRU y Attention listas para usar. Un modelo seq2seq con atención puede implementarse en unas 100 líneas, pero requiere manejo cuidadoso de los estados y las máscaras.
Preparación para la evolución hacia Transformers
Las LSTM y GRU dominaron el procesamiento de secuencias hasta 2017, cuando el Transformer (Vaswani et al.) eliminó la recurrencia por completo, usando solo mecanismos de auto-atención y capas feed-forward. Sin embargo, el legado de las puertas sigue presente:
- La atención multi-cabeza puede verse como una generalización de la atención aditiva usada en los modelos seq2seq.
- Las normalizaciones por capa y las conexiones residuales que usan los transformers también aparecen en variantes modernas de LSTM (como LSTM apiladas con skip connections).
- Modelos híbridos como el Transformer con memoria recurrente (Transformer-XL) toman prestadas ideas de las RNN para manejar contextos extremadamente largos.
Entender LSTM y GRU proporciona una base sólida para comprender por qué la atención es tan efectiva y cómo se diseñan arquitecturas que procesan secuencias sin recurrencia.
Resumen: Las LSTM y GRU resuelven el desvanecimiento del gradiente mediante puertas que regulan el flujo de información. Las primeras usan tres puertas y un estado de celda; las segundas simplifican el diseño con dos puertas. Ambas son la base de los sistemas seq2seq con atención y han sido escaladas hasta lograr traducción de calidad humana. Su estudio es un peldaño esencial para abordar los modernos Transformers y modelos de lenguaje de gran escala.
Lección parte del curso "Odisea Algorítmica: De la Regresión al Aprendizaje Profundo". Contiene contenido didáctico, ejemplos prácticos y preparación hacia la arquitectura Transformer.
No hay comentarios por ahora.
Compartir este contenido
Compartir enlace
Compartir en redes sociales
Compartir por correo electrónico
Please iniciar sesión para compartir esto Artículo por correo electrónico.