¿Cómo Funcionan las RNN?
Las redes neuronales recurrentes (RNNs) están diseñadas para manejar datos secuenciales al retener información de entradas previas en sus estados internos. Esto las hace ideales para tareas como modelado de lenguaje y predicción de secuencias.
- Procesamiento secuencial: la RNN procesa los datos paso a paso, manteniendo un registro de lo que ha ocurrido antes;
- Completar oraciones: dada la oración incompleta
"My favourite dish is sushi. So, my favourite cuisine is _____."
la RNN procesa las palabras una por una. Después de ver"sushi"
, predice la siguiente palabra como"Japanese"
basándose en el contexto previo; - Memoria en las RNN: en cada paso, la RNN actualiza su estado interno (memoria) con nueva información, asegurando que retiene el contexto para pasos futuros;
- Entrenamiento de la RNN: las RNN se entrenan utilizando retropropagación en el tiempo (BPTT), donde los errores se transmiten hacia atrás a través de cada paso temporal para ajustar los pesos y mejorar las predicciones.
Propagación hacia adelante
Durante la propagación hacia adelante, la RNN procesa los datos de entrada paso a paso:
-
Entrada en el paso temporal t: la red recibe una entrada xt en cada paso temporal;
-
Actualización del estado oculto: el estado oculto actual ht se actualiza en función del estado oculto anterior ht−1 y la entrada actual xt usando la siguiente fórmula:
- Donde:
- W es la matriz de pesos;
- b es el vector de sesgo;
- f es la función de activación.
- Donde:
-
Generación de la salida: la salida yt se genera en función del estado oculto actual ht usando la fórmula:
- Donde:
- V es la matriz de pesos de salida;
- c es el sesgo de salida;
- g es la función de activación utilizada en la capa de salida.
- Donde:
Proceso de retropropagación
La retropropagación en las RNN es fundamental para actualizar los pesos y mejorar el modelo. El proceso se modifica para tener en cuenta la naturaleza secuencial de las RNN mediante la retropropagación a través del tiempo (BPTT):
-
Cálculo del error: el primer paso en BPTT es calcular el error en cada paso temporal. Este error suele ser la diferencia entre la salida predicha y el objetivo real;
-
Cálculo del gradiente: en las Redes Neuronales Recurrentes, los gradientes de la función de pérdida se calculan diferenciando el error con respecto a los parámetros de la red y se propagan hacia atrás en el tiempo desde el paso final hasta el inicial, lo que puede llevar a gradientes que desaparecen o explotan, especialmente en secuencias largas;
-
Actualización de pesos: una vez calculados los gradientes, los pesos se actualizan utilizando una técnica de optimización como el descenso de gradiente estocástico (SGD). Los pesos se ajustan de manera que el error se minimice en futuras iteraciones. La fórmula para actualizar los pesos es:
- Donde:
- η es la tasa de aprendizaje;
- es el gradiente de la función de pérdida con respecto a la matriz de pesos.
- Donde:
En resumen, las RNN son potentes porque pueden recordar y utilizar información pasada, lo que las hace adecuadas para tareas que involucran secuencias.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 4.55
¿Cómo Funcionan las RNN?
Desliza para mostrar el menú
Las redes neuronales recurrentes (RNNs) están diseñadas para manejar datos secuenciales al retener información de entradas previas en sus estados internos. Esto las hace ideales para tareas como modelado de lenguaje y predicción de secuencias.
- Procesamiento secuencial: la RNN procesa los datos paso a paso, manteniendo un registro de lo que ha ocurrido antes;
- Completar oraciones: dada la oración incompleta
"My favourite dish is sushi. So, my favourite cuisine is _____."
la RNN procesa las palabras una por una. Después de ver"sushi"
, predice la siguiente palabra como"Japanese"
basándose en el contexto previo; - Memoria en las RNN: en cada paso, la RNN actualiza su estado interno (memoria) con nueva información, asegurando que retiene el contexto para pasos futuros;
- Entrenamiento de la RNN: las RNN se entrenan utilizando retropropagación en el tiempo (BPTT), donde los errores se transmiten hacia atrás a través de cada paso temporal para ajustar los pesos y mejorar las predicciones.
Propagación hacia adelante
Durante la propagación hacia adelante, la RNN procesa los datos de entrada paso a paso:
-
Entrada en el paso temporal t: la red recibe una entrada xt en cada paso temporal;
-
Actualización del estado oculto: el estado oculto actual ht se actualiza en función del estado oculto anterior ht−1 y la entrada actual xt usando la siguiente fórmula:
- Donde:
- W es la matriz de pesos;
- b es el vector de sesgo;
- f es la función de activación.
- Donde:
-
Generación de la salida: la salida yt se genera en función del estado oculto actual ht usando la fórmula:
- Donde:
- V es la matriz de pesos de salida;
- c es el sesgo de salida;
- g es la función de activación utilizada en la capa de salida.
- Donde:
Proceso de retropropagación
La retropropagación en las RNN es fundamental para actualizar los pesos y mejorar el modelo. El proceso se modifica para tener en cuenta la naturaleza secuencial de las RNN mediante la retropropagación a través del tiempo (BPTT):
-
Cálculo del error: el primer paso en BPTT es calcular el error en cada paso temporal. Este error suele ser la diferencia entre la salida predicha y el objetivo real;
-
Cálculo del gradiente: en las Redes Neuronales Recurrentes, los gradientes de la función de pérdida se calculan diferenciando el error con respecto a los parámetros de la red y se propagan hacia atrás en el tiempo desde el paso final hasta el inicial, lo que puede llevar a gradientes que desaparecen o explotan, especialmente en secuencias largas;
-
Actualización de pesos: una vez calculados los gradientes, los pesos se actualizan utilizando una técnica de optimización como el descenso de gradiente estocástico (SGD). Los pesos se ajustan de manera que el error se minimice en futuras iteraciones. La fórmula para actualizar los pesos es:
- Donde:
- η es la tasa de aprendizaje;
- es el gradiente de la función de pérdida con respecto a la matriz de pesos.
- Donde:
En resumen, las RNN son potentes porque pueden recordar y utilizar información pasada, lo que las hace adecuadas para tareas que involucran secuencias.
¡Gracias por tus comentarios!