Al igual que las redes neuronales tradicionales, como las redes neuronales feedforward y las redes neuronales convolucionales (CNN), las redes neuronales recurrentes utilizan datos de entrenamiento para aprender. Se distinguen por su "memoria", ya que toman información de entradas anteriores para influir en la entrada y salida actual.
Mientras que las redes de aprendizaje profundo tradicionales asumen que las entradas y los resultados son independientes entre sí, los resultados de las redes neuronales recurrentes dependen de los elementos anteriores dentro de la secuencia. Si bien los eventos futuros también serían útiles para determinar la salida de una secuencia determinada, las redes neuronales recurrentes unidireccionales no pueden tener en cuenta estos eventos en sus predicciones.
Tomemos una frase hecha, como "sentirse mal", que se suele emplear cuando alguien está enfermo, para ayudarnos en la explicación de las RNN. Para que el modismo tenga sentido, debe expresar en ese orden específico. Como resultado, las redes recurrentes deben tener en cuenta la posición de cada palabra en el modismo, y emplean esa información para predecir la siguiente palabra de la secuencia.
Cada palabra en la frase "sentirse mal" es parte de una secuencia, donde el orden importa. La RNN realiza un seguimiento del contexto manteniendo un estado oculto en cada paso de tiempo. Se crea un bucle de retroalimentación pasando el estado oculto de un paso de tiempo al siguiente. El estado oculto actúa como una memoria que almacena información sobre las entradas anteriores. En cada periodo, la RNN procesa la entrada actual (por ejemplo, una palabra en una frase) junto con el estado oculto del periodo anterior. Esto permite que la RNN "recuerde" puntos de datos anteriores y emplee esa información para influir en la salida actual.
Otra característica distintiva de las redes recurrentes es que comparten parámetros en cada capa de la red. Si bien las redes de retroalimentación tienen diferentes pesos en cada nodo, las redes neuronales recurrentes comparten el mismo parámetro de peso dentro de cada capa de la red. Dicho esto, estos pesos aún se ajustan a través de los procesos de retropropagación y descenso de gradiente para facilitar el aprendizaje por refuerzo.
Las redes neuronales recurrentes emplean algoritmos de propagación hacia adelante y hacia atrás a través del tiempo (BPTT) para determinar los gradientes (o derivados), que es ligeramente diferente de la retropropagación tradicional, ya que es específica de los datos de secuencia. Los principios de la BPTT son los mismos que los de la retropropagación tradicional, en la que el modelo se entrena a sí mismo calculando los errores de su capa de salida a su capa de entrada. Estos cálculos nos permiten ajustar y ajustar los parámetros del modelo de forma adecuada. La BPTT difiere del enfoque tradicional en que suma errores en cada paso de tiempo, mientras que las redes neuronales sin retroalimentación no necesitan sumar errores, ya que no comparten parámetros en cada capa.