Saltar al contenido
Nóesis
Todas las familias
F06Redes que aprendendesde 1986

Secuencias: RNN y LSTM

Recurrencia, memoria y el gradiente que se desvanece

El lenguaje, la música y la bolsa de valores llegan en orden. Una red recurrente lee paso a paso y lleva consigo un estado: una memoria que se reescribe.

1986
año fundacional
1
laboratorio
3
ecuaciones
6
hitos citados
Ir al laboratorio en vivo
Lámina F06semitono de dos tintas · en vivo
§1

Intuición

Pensar es ajustar millones de conexiones.

Una red recurrente (RNN) aplica la misma transformación en cada instante, pero recibe también su propio estado anterior: ht=tanh⁡(Wht−1+Uxt)h_t = \tanh(W h_{t-1} + U x_t). Ese estado es un resumen comprimido de todo lo visto. Desplegada en el tiempo, una RNN es una red muy profunda con pesos compartidos.

El problema: para aprender que algo visto hace 30 pasos importa ahora, el gradiente debe viajar 30 multiplicaciones hacia atrás. Si cada factor es menor que uno, se desvanece; si es mayor, explota. Hochreiter lo analizó en 1991 y Bengio, Simard y Frasconi en 1994.

La LSTM (Hochreiter y Schmidhuber, 1997) resuelve esto con una celda que se actualiza sumando, no multiplicando, y con compuertas que deciden qué olvidar, qué escribir y qué leer. El laboratorio pone una RNN simple y una LSTM a competir en una tarea de memoria pura.

§2

Mecanismo

LSTM: la compuerta de olvido ftf_t, la de entrada iti_t y la de salida oto_t son sigmoides de [ht−1,xt][h_{t-1}, x_t]. La celda evoluciona como ct=ft⊙ct−1+it⊙c~tc_t = f_t \odot c_{t-1} + i_t \odot \tilde c_t: cuando ft≈1f_t \approx 1, el gradiente fluye casi intacto por el «carrusel de error constante».

Entrenamiento: retropropagación a través del tiempo (BPTT), que despliega la red TT pasos y aplica la regla de la cadena. En el laboratorio ambas redes se entrenan en vivo con BPTT escrito a mano sobre la tarea «repite el bit que viste hace kk pasos».

Variantes: GRU (Cho et al., 2014) fusiona compuertas; seq2seq (Sutskever et al., 2014) usa un codificador y un decodificador; la atención de Bahdanau et al. (2014) deja que el decodificador mire todos los estados del codificador, el germen del Transformer.

Ec. 06.1RNN de Elman
ht=tanh⁡(Whht−1+Wxxt+b)h_t = \tanh(W_h h_{t-1} + W_x x_t + b)
Ec. 06.2Por qué el gradiente se desvanece o explota
∂hT∂ht=∏k=t+1Tdiag(tanh⁡′(zk)) Wh\frac{\partial h_T}{\partial h_t} = \prod_{k=t+1}^{T} \mathrm{diag}\big(\tanh'(z_k)\big)\,W_h
Ec. 06.3Celda LSTM
ct=ft⊙ct−1+it⊙tanh⁡(Wc[ht−1,xt]),ht=ot⊙tanh⁡(ct)c_t = f_t \odot c_{t-1} + i_t \odot \tanh(W_c[h_{t-1},x_t]), \quad h_t = o_t \odot \tanh(c_t)
§3

Laboratorio

Lab 06.1 calculado en tu navegadorDetectando…

RNN contra LSTM: ¿quién recuerda?

Ambas redes aprenden en vivo a repetir un bit visto hace k pasos. Aumenta k y observa cómo la RNN simple colapsa mientras las compuertas de la LSTM aprenden a proteger la memoria.

§4

Historia

  1. 1986

    Jordan propone redes con conexiones recurrentes desde la salida.

    Jordan (1986), ICS Report 8604, UC San Diego

  2. 1990

    Elman publica «Finding Structure in Time»: una RNN descubre categorías gramaticales.

    Elman (1990), Cognitive Science 14

  3. 1994

    Bengio, Simard y Frasconi muestran la dificultad de aprender dependencias largas con gradiente.

    Bengio, Simard & Frasconi (1994), IEEE Trans. Neural Networks 5(2)

  4. 1997

    Hochreiter y Schmidhuber introducen la LSTM.

    Hochreiter & Schmidhuber (1997), Neural Computation 9(8)

  5. 2014

    Seq2seq y la atención de Bahdanau transforman la traducción automática.

    Sutskever, Vinyals & Le (2014), NeurIPS; Bahdanau, Cho & Bengio (2015), ICLR

  6. 2016

    Google Neural Machine Translation reemplaza su sistema estadístico por LSTM profundas.

    Wu et al. (2016), arXiv:1609.08144

§5

Límites

1

Secuenciales por naturaleza: no se paralelizan en el tiempo durante el entrenamiento, lo que frenó su escalado frente al Transformer.

2

Aun con LSTM, la memoria efectiva es limitada a cientos de pasos.

3

Los modelos de espacio de estados modernos (S4, Mamba) retoman la recurrencia con matemática que sí escala.

§6 · Pregunta filosófica

¿Qué es tener memoria: guardar el pasado o saber qué olvidar?

La lección de la LSTM es que recordar bien exige olvidar activamente. Funes el memorioso, el personaje de Borges, lo recordaba todo y por eso no podía pensar: «pensar es olvidar diferencias, es generalizar, abstraer».

Husserl describía la conciencia del tiempo con la retención: el pasado inmediato no desaparece, persiste modificado en el presente. ¿Es el estado oculto de una RNN una retención, o solo un registro?

Familias conectadas