Definición

Las Redes Neuronales Recurrentes (RNN, por sus siglas en inglés) son un tipo de red neuronal especialmente diseñada para procesar datos secuenciales.

A diferencia de las redes neuronales tradicionales, que asumen que todas las entradas y salidas son independientes entre sí, las RNNs aprovechan la secuencialidad de los datos, lo que les permite mantener una "memoria" de las entradas anteriores. Esto es particularmente útil para tareas como el procesamiento del lenguaje natural, la traducción automática, la generación de texto, y el análisis de series temporales.

Neuronas Recurrentes

Una RNN consiste en una serie de capas recurrentes, donde cada capa tt recibe como entrada no solo la entrada externa xtx_t en el tiempo tt, sino también el estado oculto st1s_{t-1} proveniente del tiempo anterior t1t-1.

En una RNN, cada neurona recurrente recibe no solo la entrada actual, sino también una entrada adicional que es el estado oculto (hidden state) proveniente de la neurona en el tiempo anterior. Este estado oculto actúa como una memoria que transporta información a través de la secuencia. La fórmula básica para una neurona recurrente es:

st=σ(Wst1+Uxt+b)s_{t}= \sigma(W\cdot s_{t−1}​ + U\cdot x_t​+b)

donde:

  • sts_t es el estado oculto en el tiempo tt.

  • st1s_{t−1​} es el estado oculto en el tiempo t1t−1.

  • xtx_t​ es la entrada en el tiempo tt.

  • WW y UU son matrices de pesos.

  • bb es el sesgo.

  • σσ es la función de activación, como puede ser la tangente hiperbólica o la sigmoide.

Por último, oto_t es la salida a tiempo tt que se calcula como ot=σˉ(Vst)o_t = \bar{\sigma}(V\cdot s_t), donde σˉ\bar{\sigma} es la función de activación.

Cuando se entrena una RNN, se la puede "desplegar" en el tiempo, creando una red profunda donde cada capa corresponde a un tiempo diferente en la secuencia. Esto se llama Backpropagation Through Time (BPTT) y es una extensión del algoritmo de retropropagación que considera las dependencias temporales.

Características Clave

  • Memoria: Las RNNs pueden mantener información a lo largo de secuencias de tiempo, lo que les permite aprender patrones dependientes del contexto.

  • Aplicaciones: Son ampliamente utilizadas en tareas que involucran datos secuenciales, como el procesamiento del lenguaje natural, la predicción de series temporales, el reconocimiento de voz y la generación de texto.

  • Variantes: Existen variantes como las Long Short-Term Memory (LSTM) y las Gated Recurrent Units (GRU), diseñadas para mitigar problemas como el desvanecimiento del gradiente y aprender dependencias a largo plazo de manera más eficiente.

Last updated