La unidad recurrente cerrada (GRU) es un tipo de mecanismo de compuerta utilizado en redes neuronales recurrentes (RNN), introducida en 2014 por Kyunghyun Cho y sus colegas. Está diseñada para abordar el problema del gradiente evanescente común en las RNN estándar mediante el uso de compuertas de actualización y reinicio para controlar el flujo de información. En comparación con la unidad de memoria a largo plazo (LSTM), la GRU tiene una arquitectura más simple, sin un vector de contexto separado ni una compuerta de salida, lo que resulta en menos parámetros. A pesar de esta simplificación, las GRU han mostrado un rendimiento comparable al de las LSTM en tareas como el modelado de música polifónica, el modelado de señales de voz y procesamiento del lenguaje natural. La investigación del equipo de Yoshua Bengio demostró que el uso de compuertas es generalmente beneficioso, pero no se llegó a una conclusión definitiva sobre si las GRU o las LSTM son superiores en general.
Arquitectura
La GRU procesa secuencias manteniendo un estado oculto \( h_t \) que se actualiza en cada paso de tiempo. Las ecuaciones principales para la unidad totalmente compuerta son las siguientes:
\[ z_t = \sigma(W_z x_t + U_z h_{t-1} + b_z) \]
\[ r_t = \sigma(W_r x_t + U_r h_{t-1} + b_r) \]
\[ \hat{h}_t = \phi(W_h x_t + U_h (r_t \odot h_{t-1}) + b_h) \]
\[ h_t = (1 - z_t) \odot h_{t-1} + z_t \odot \hat{h}_t \]
Aquí, \( \sigma \) es la función de activación sigmoide, \( \phi \) es típicamente la tangente hiperbólica (tanh), y \( \odot \) denota el producto de Hadamard (elemento a elemento). El vector de entrada es \( x_t \in \mathbb{R}^d \), y el estado oculto es \( h_t \in \mathbb{R}^e \). La compuerta de actualización \( z_t \) determina cuánto del estado oculto anterior se debe retener, mientras que la compuerta de reinicio \( r_t \) controla cuánta información pasada se debe olvidar al calcular la activación candidata \( \hat{h}_t \). El estado oculto final es una interpolación lineal entre el estado anterior y el candidato, ponderada por la compuerta de actualización.
Variantes
Existen varias variaciones de la GRU que difieren en cómo se calculan y combinan las compuertas. La variante más común es la unidad totalmente compuerta descrita anteriormente. Una versión simplificada, conocida como unidad mínima compuerta (MGU), utiliza solo una compuerta que combina las funciones de actualización y reinicio, reduciendo aún más el número de parámetros. Otras variantes pueden alterar la ubicación de los sesgos o el orden de las operaciones, pero todas conservan el principio central de usar compuertas para gestionar el flujo de información.
Aplicaciones y Rendimiento
Las GRU han sido ampliamente adoptadas en tareas de modelado de secuencias, incluyendo el reconocimiento de voz, la traducción automática y la predicción de series temporales. En estudios comparativos, las GRU han igualado el rendimiento de las LSTM en muchos puntos de referencia, particularmente en el modelado de música polifónica y el modelado de señales de voz. Su menor número de parámetros las hace computacionalmente más eficientes, lo que es ventajoso para entrenar en grandes conjuntos de datos o en entornos con recursos limitados. Sin embargo, la elección entre GRU y LSTM a menudo depende de la tarea y el conjunto de datos específicos, sin un ganador universal.
Relación con Otras Arquitecturas
Las GRU son un componente fundamental en muchos modelos de aprendizaje profundo, particularmente antes del auge de la arquitectura transformador. Si bien los transformadores se han vuelto dominantes en modelos de lenguaje grandes y IA generativa, las GRU siguen siendo relevantes para tareas que involucran datos secuenciales donde el procesamiento recurrente es beneficioso. También se utilizan en modelos híbridos que combinan mecanismos recurrentes y de atención. El desarrollo de las GRU contribuyó a una comprensión más amplia de los mecanismos de compuerta en las redes neuronales, influyendo en innovaciones posteriores en el diseño de modelos.