🧮 Computational Mathematics

Inicio · Parte 15 — Matemática de Deep Learning

316 — GRU

deep-learning clase 16 de 20 4 horas demostración gru

GRU consigue casi lo mismo que LSTM con dos puertas y un 25 % menos de parámetros.

Fórmulas

z: puerta de actualización;  r: puerta de reinicio
h_t = (1−z)·h_{t−1} + z·h̃_t
9 parámetros por celda frente a 12 de LSTM

Desarrollo

La GRU simplifica la LSTM fusionando el estado de celda con el estado oculto y reduciendo las tres puertas a dos. La puerta de actualización decide cuánto del estado anterior se conserva frente al candidato nuevo, combinando los papeles de las puertas de olvido y entrada. La puerta de reinicio decide cuánto del pasado se usa para calcular ese candidato.

La actualización tiene una forma de interpolación explícita: (1−z)·h_anterior + z·h_nuevo. Si z = 0 el estado se conserva íntegro, y esa es la misma vía aditiva que protege el gradiente en la LSTM. La protección se consigue con menos maquinaria.

El ahorro es de 9 parámetros por celda frente a 12, un 25 %. Con capas de miles de unidades eso se traduce en menos memoria y entrenamientos más rápidos, lo que en su momento fue una ventaja práctica considerable.

La comparación empírica entre GRU y LSTM ha sido objeto de muchos estudios y la conclusión es que depende de la tarea, sin ganador consistente. La recomendación razonable es empezar por GRU por ser más ligera y probar LSTM si el rendimiento no basta. Ambas han quedado en segundo plano frente a los Transformers, pero siguen siendo competitivas en secuencias cortas y con pocos datos.

Ejemplo trabajado

Traza de una celda GRU y comparación de parámetros.

puertas: update (z), reset (r)

t     h         update   reset
1   0,413336    0,6225   0,6457
2   ...         ...      ...

Parámetros por celda:
  GRU:  9
  LSTM: 12
  ahorro: 25 %

Interpolación: h_t = (1−z)·h_{t−1} + z·h̃_t
  z = 0  →  el estado se conserva íntegro           ✓
  z = 1  →  el estado se sustituye por el candidato

Ese camino con z ≈ 0 es lo que protege el gradiente,
igual que la puerta de olvido de la LSTM.

Qué calcula el laboratorio

GRU: dos puertas en lugar de tres, menos parámetros.

python classes/part-15-matematica-de-deep-learning/316-gru/lab.py
compmath run 316

Salidas del laboratorio (9)

Muestra de la ejecución real

{
  "puertas": [
    "update",
    "reset"
  ],
  "traza": [
    {
      "t": 1,
      "h": 0.413336,
      "update": 0.6225,
      "reset": 0.6457
    },
    {
      "t": 2,
      "h": 0.248776,
      "update": 0.5412,
      "reset": 0.531
    },
    {
      "t": 3,
      "h": 0.152018,
      "update": 0.5249,
      "reset": 0.5186
    },
    {
      "t": 4,
      "h": 0.30515,
      "update": 0.5771,
      "reset": 0.5856
    }
  ],
  "parametros_por_celda": 9,
  "parametros_LSTM": 12,
  "ahorro_%": 25.0,
  "z=0_conserva_el_estado": true
}

Errores comunes

Dónde se usa

Modelado de secuencias con recursos limitados, series temporales, reconocimiento de gestos y sistemas embebidos.

Idea rectora de la parte

Backpropagation es la regla de la cadena aplicada en orden topológico inverso.

Error a evitar

Inicializar todos los pesos iguales y romper la simetría nunca.

Conexión con IA

Toda arquitectura moderna, incluido el Transformer, se construye sobre estos bloques y sobre este mismo mecanismo de derivación.

Bibliografía de la clase

Archivos de la clase