Tema

Redes recurrentes y memoria larga y corta

Una red recurrente mantiene un estado que se actualiza en cada paso de la secuencia con los mismos pesos, y la memoria larga y corta añade compuertas que deciden qué conservar y qué olvidar.

Nombre en inglés

Recurrent networks and LSTM

Intuición

El estado funciona como un resumen de todo lo leído hasta el momento, y el mismo juego de pesos lo actualiza en cada palabra. El problema aparece al derivar hacia atrás, porque el gradiente atraviesa el mismo factor tantas veces como pasos tenga la secuencia y acaba desapareciendo o explotando. La celda de la memoria larga y corta abre un canal aditivo que solo se multiplica por la compuerta de olvido, de modo que el gradiente recorre decenas de pasos sin encogerse si esa compuerta se mantiene cerca de uno.

Fórmula

h_t = \tanh(W_h h_{t-1} + W_x x_t + b) \qquad c_t = f_t \odot c_{t-1} + i_t \odot g_t \qquad h_t = o_t \odot \tanh(c_t)

Ejemplo resuelto

Sea una celda con el estado anterior 2, compuerta de olvido 0.9, compuerta de entrada 0.5, candidato 1 y compuerta de salida 0.8. La celda nueva vale 0.9 por 2 más 0.5 por 1 = 2.3, y el estado oculto vale 0.8 por la tangente hiperbólica de 2.3, es decir, 0.8 por 0.980, cerca de 0.784. En una red recurrente simple, en cambio, el gradiente a lo largo de 20 pasos se multiplica veinte veces por el mismo factor; si ese factor vale 0.5 el gradiente queda en cerca de una millonésima, y si vale 1.5 crece hasta cerca de 3325, lo que obliga a recortar la norma del gradiente.

Errores frecuentes

Ejercicio

Una celda tiene estado anterior 4, compuerta de olvido 0.5, compuerta de entrada 0.25 y candidato 2. ¿Cuánto vale la celda nueva?

Ver la solución

La celda nueva es el estado anterior multiplicado por la compuerta de olvido más el candidato multiplicado por la compuerta de entrada. El primer término vale 0.5 por 4 = 2 y el segundo vale 0.25 por 2 = 0.5. La suma da 2.5.

Respuesta: 2.5

Temas relacionados

Cursos a los que prepara

Abrir el tema en la guía