Redes Neuronales Recurrentes

Hoy vamos a hablar de un tipo de red neuronal fundamental para trabajar con datos de naturaleza secuencial, las Redes Neuronales Recurrentes (RNN).

Las RNNs son una clase especial de redes neuronales diseñadas específicamente para procesar datos secuenciales, como texto, audio o series temporales. A diferencia de las redes neuronales convencionales (feed-forward), que procesan cada dato de manera independiente, las RNNs tienen «memoria», lo que les permite mantener información a lo largo del tiempo gracias a conexiones recurrentes.

¿Cómo funciona una RNN?

Imagina que estás leyendo una frase. Para entender cada palabra, necesitas recordar lo que ya has leído. Una RNN hace algo parecido: en cada instante de tiempo t, recibe dos cosas: el dato actual (Xt como una palabra) y la información previa resumida en un estado oculto h(t-1). Con estos elementos, actualiza su estado usando la siguiente fórmula:

Donde:
ht es el nuevo estado oculto.
Whh y Wzh son matrices de pesos que determinan cómo combinar la información anterior y la actual.
bh es el bias.
f es una función de activación no lineal como tahn o ReLU

Este estado oculto es utilizado finalmente para calcular la salida de la iteración de la red.

La magia del estado oculto

Lo realmente fascinante de las RNNs es ese estado oculto ht. Funciona como un resumen compacto de todo lo que la red ha visto hasta ese momento. Esto permite que la red mantenga un contexto, esencial para tareas donde la secuencia y el orden de los datos importan.

¿Cuál es el reto?

Aunque todo esto tiene muy buena pinta, entrenar estas redes no es fácil. Las RNNs suelen enfrentar dos grandes retos:

  • Gradiente evanescente: Cuando al retropagar el error, los gradientes disminuyen exponencialmente, dificultando el aprendizaje de relaciones a largo plazo.
  • Gradiente explosivo: Ocurre justo lo contrario, los gradientes aumentan demasiado y dificultan el entrenamiento.

Esto es debido al multiplicador utilizado para la retropropagación del error:

Conclusión

Las RNNs son un avance fundamental para el mundo de la IA. Para superar estos problemas, los investigadores desarrollaron modelos avanzados como las redes LSTM (Long Short-Term Memory) y GRU (Gated Recurrent Units), que introducen mecanismos especiales llamados «compuertas» para gestionar mejor la memoria a largo plazo, los cuales veremos en próximas entradas del blog.