IOKELU
Nivel: Inteligencia Artificial – Avanzado (Guía 4)

Redes Neuronales Recurrentes (RNN)

Las Redes Neuronales Recurrentes (RNN) están diseñadas para trabajar con datos secuenciales: texto, series temporales, audio, sensores, logs y más. En esta guía aprenderás cómo funcionan, cómo se entrenan y por qué fueron clave antes de los Transformers.

Tabla de contenidos

  • Qué es una RNN
  • Memoria recurrente
  • Problema del gradiente
  • Arquitectura básica
  • SimpleRNN
  • Entrenamiento
  • Limitaciones
  • Ejemplo con Keras
  • Ejercicios

1. Qué es una RNN

Una RNN procesa datos secuenciales manteniendo un estado interno (memoria) que se actualiza en cada paso de la secuencia. Esto permite modelar dependencias temporales.

2. Memoria recurrente

La memoria recurrente permite que la red recuerde información previa.


hₜ = f(Wxₜ + Uhₜ₋₁ + b)
    

3. Problema del gradiente

Las RNN sufren de gradientes que se desvanecen o explotan, dificultando el aprendizaje de dependencias largas.

4. Arquitectura básica

5. SimpleRNN


layers.SimpleRNN(units=32, activation='tanh')
    

6. Entrenamiento

El entrenamiento es similar al de una red normal, pero procesando secuencias.


model.fit(X_train, y_train, epochs=10, batch_size=32)
    

7. Limitaciones

8. Ejemplo con Keras


import tensorflow as tf
from tensorflow.keras import layers

model = tf.keras.Sequential([
    layers.SimpleRNN(32, input_shape=(50, 10)),
    layers.Dense(1, activation='sigmoid')
])

model.compile(
    optimizer='adam',
    loss='binary_crossentropy',
    metrics=['accuracy']
)

model.fit(X_train, y_train, epochs=10)
model.evaluate(X_test, y_test)
    

9. Ejercicios


Siguiente guía

LSTM y GRU →