Ir al contenido

Red neuronal recurrente

De Wikipedia, la enciclopedia libre
Esta es una versión antigua de esta página, editada a las 17:05 13 ene 2020 por Tcamla22 (discusión · contribs.). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.

Red Neuronal Recurrente (RNN): red neuronal que integra bucles de realimentación, permitiendo a través de ellos que la información persista durante algunos pasos ó épocas de entrenamiento, (epochs) a través conexiones desde las salidas de las capas, que “incrustan” (embedding) sus resultados en los datos de entrada. Las conexiones entre nodos forman un gráfico dirigido a lo largo de una secuencia temporal. Funciona como una red con múltiples copias de sí misma, cada una con un mensaje a su sucesor. Se aplican en listas y datos temporales.

Red neuronal clásica Red neuronal recurrente
Los vectores de entrada producen vectores de salida Tratan datos secuenciales de forma eficiente
No mezclan información entre ejecuciones Recuerdan las salidas anteriores como entrada
Tratan una secuencia de datos de una sola vez Pueden tratar secuencias muy largas, elemento a elemento

El entrenamiento de una red neuronal recurrente debe prolongarse para cada paso temporal, lo que es muy costoso en tiempo de proceso y memoria RAM. Esto se simplifica “desenrollando” la red en tantas capas como pasos temporales o de datos se dispone en la secuencia temporal de entrenamiento, como si fuese una red no recurrente (feed-forward). Cada capa desenrollada tiene los mismos pesos para acelerar el proceso.

Como cuanto más larga sea la secuencia temporal a analizar, mayor será el número de capas debe desenrollar, puede aparecer el problema de desvanecimiento de gradiente (vanishing gradient). Esto se soluciona incorporando capas de tipo LSTM o GRU que permiten el backpropagation through time conectando eventos que aparezcan muy alejados en los datos de entrada, sin que su peso se diluye entre las capas.

Enlaces externos