Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende ¿Cómo Funcionan las RNN? | Introducción a las RNN
Introducción a las RNN

book¿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:

  1. Entrada en el paso temporal tt: la red recibe una entrada xtx_t en cada paso temporal;

  2. Actualización del estado oculto: el estado oculto actual hth_t se actualiza en función del estado oculto anterior ht1h_{t-1} y la entrada actual xtx_t usando la siguiente fórmula:

    ht=f(W[ht1,xt]+b)
    • Donde:
      • WW es la matriz de pesos;
      • bb es el vector de sesgo;
      • ff es la función de activación.
  3. Generación de la salida: la salida yty_t se genera en función del estado oculto actual hth_t usando la fórmula:

    yt=g(Vht+c)

    • Donde:
      • VV es la matriz de pesos de salida;
      • cc es el sesgo de salida;
      • gg es la función de activación utilizada en la capa de salida.

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):

  1. 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;

  2. 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;

  3. 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:

    W:=WηLossW

    • Donde:
      • η\eta es la tasa de aprendizaje;
      • LossW es el gradiente de la función de pérdida con respecto a la matriz de pesos.

En resumen, las RNN son potentes porque pueden recordar y utilizar información pasada, lo que las hace adecuadas para tareas que involucran secuencias.

question mark

¿Cuál es el papel de la función gg en la ecuación de salida yt=g(Vht+c)y_t = g(V \cdot h_t+ c)

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 2

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Awesome!

Completion rate improved to 4.55

book¿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:

  1. Entrada en el paso temporal tt: la red recibe una entrada xtx_t en cada paso temporal;

  2. Actualización del estado oculto: el estado oculto actual hth_t se actualiza en función del estado oculto anterior ht1h_{t-1} y la entrada actual xtx_t usando la siguiente fórmula:

    ht=f(W[ht1,xt]+b)
    • Donde:
      • WW es la matriz de pesos;
      • bb es el vector de sesgo;
      • ff es la función de activación.
  3. Generación de la salida: la salida yty_t se genera en función del estado oculto actual hth_t usando la fórmula:

    yt=g(Vht+c)

    • Donde:
      • VV es la matriz de pesos de salida;
      • cc es el sesgo de salida;
      • gg es la función de activación utilizada en la capa de salida.

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):

  1. 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;

  2. 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;

  3. 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:

    W:=WηLossW

    • Donde:
      • η\eta es la tasa de aprendizaje;
      • LossW es el gradiente de la función de pérdida con respecto a la matriz de pesos.

En resumen, las RNN son potentes porque pueden recordar y utilizar información pasada, lo que las hace adecuadas para tareas que involucran secuencias.

question mark

¿Cuál es el papel de la función gg en la ecuación de salida yt=g(Vht+c)y_t = g(V \cdot h_t+ c)

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 2
some-alt