El gradiente que se desvanece es la razón por la que, durante años, las redes muy profundas no lograban aprender. Cuando el error viaja hacia atrás capa por capa, se multiplica por muchas derivadas pequeñas y se encoge hasta casi desaparecer. Las primeras capas reciben una señal tan débil que sus pesos apenas cambian, y la red se estanca. Entender por qué ocurre y cómo evitarlo es clave para entrenar modelos profundos. La misma explicación está disponible en inglés.

Fórmula clave $\dfrac{\partial L}{\partial w^{(1)}} \to 0$

Puntos clave

  • El gradiente que se desvanece aparece cuando la señal de error se encoge al retropropagarse por muchas capas, y las capas iniciales dejan de aprender.
  • La causa matemática es un producto de derivadas menores que 1: la de la sigmoide vale 0,25 como máximo y la de la tangente hiperbólica, 1.
  • Con 10 capas y una derivada de 0,25 en cada una, el gradiente se multiplica por 0,25 diez veces y queda en torno a 0,000001, es decir, prácticamente cero.
  • Sepp Hochreiter formalizó el problema en 1991, y Bengio, Simard y Frasconi lo estudiaron en las redes recurrentes en 1994.
  • Las soluciones habituales son la activación ReLU, una inicialización cuidada de los pesos y la normalización por lotes.

Qué es el gradiente que se desvanece

Una red neuronal aprende ajustando sus pesos para reducir el error, y para saber cuánto ajustar cada uno calcula el gradiente: la derivada del error respecto a ese peso. Ese cálculo se hace con la regla de la cadena, que reparte la responsabilidad del error desde la salida hacia la entrada. Es la base de la retropropagación, que ya vimos en el mapa de las matemáticas de las redes neuronales.

El problema surge de cómo funciona ese reparto. Para llegar al gradiente de un peso de la primera capa, hay que multiplicar las derivadas de todas las capas que hay por encima. Si esas derivadas son menores que 1, el producto se hace cada vez más pequeño a medida que retrocedemos. En una red profunda, el gradiente que llega a la primera capa puede ser tan diminuto que el peso no se mueve, y esa capa nunca aprende a extraer características útiles. Ese desvanecimiento es lo que expresa la fórmula del héroe, $\dfrac{\partial L}{\partial w^{(1)}} \to 0$.

Por qué lo causan la sigmoide y la tangente hiperbólica

Las funciones de activación clásicas comprimen su entrada en un rango estrecho, y ahí está la trampa. La función sigmoide lleva cualquier número al intervalo entre 0 y 1, y su derivada nunca supera 0,25, un valor que alcanza justo en el centro. En las colas, cuando la neurona está saturada, la derivada se acerca a 0.

La tangente hiperbólica mejora un poco la situación porque está centrada en 0 y su derivada llega hasta 1 en el origen, pero también se satura y cae a 0 en los extremos. Con activación $a = f(z)$ y $z = \mathbf{W}x+b$, cada capa aporta un factor $f'(z)$ al gradiente. Como esos factores casi siempre son menores que 1, encadenar muchas capas equivale a multiplicar muchos números pequeños, y el resultado se desploma. Por eso el problema empeora justo con la profundidad, que es precisamente lo que da potencia al aprendizaje profundo.

La matemática, un producto de derivadas menores que 1

$$\frac{\partial L}{\partial w^{(1)}} = \frac{\partial L}{\partial a^{(n)}} \prod_{i=2}^{n} f'(z^{(i)})\,w^{(i)}$$

Veámoslo con números. Supongamos una red con 10 capas y que, en cada una, la derivada de la activación vale 0,25, el máximo de la sigmoide. El gradiente que llega a la primera capa incluye el factor $0{,}25^{10} \approx 0{,}000001$. Dicho de otro modo, la señal se ha reducido a una millonésima parte antes de llegar al principio de la red.

Este decaimiento es geométrico, no lineal: cada capa que añades multiplica el gradiente por otro factor menor que 1, así que el problema se agrava de forma exponencial con la profundidad.

Ver la derivación

Por la regla de la cadena, el gradiente de un peso de la primera capa es el producto de las derivadas de todas las capas superiores: $\dfrac{\partial L}{\partial w^{(1)}} = \dfrac{\partial L}{\partial a^{(n)}}\prod_{i=2}^{n} f'(z^{(i)})\,w^{(i)}$. Si cada $f'(z^{(i)}) \le 0{,}25$, entonces $\prod_{i=2}^{n} f'(z^{(i)}) \le 0{,}25^{\,n-1}$, que para $n=11$ da $0{,}25^{10} \approx 0{,}000001$.

Si en lugar de 0,25 usamos un valor típico más pequeño, la caída es aún más brutal. Este comportamiento exponencial es la esencia del fenómeno: no es que el gradiente sea un poco menor, es que decae de forma geométrica con el número de capas. El mismo mecanismo, con derivadas mayores que 1, produce el efecto contrario, el gradiente que explota, que también impide entrenar. Como resume el trabajo de Bengio y sus colegas sobre redes recurrentes, «aprender dependencias a largo plazo con descenso de gradiente es difícil» precisamente por esta dinámica multiplicativa.

Soluciones (ReLU, inicialización, normalización)

La solución más directa fue cambiar la función de activación. La ReLU devuelve el valor tal cual si es positivo y 0 si es negativo, de modo que su derivada vale exactamente 1 en la zona activa. Al no comprimir la señal, no la encoge, y el gradiente se propaga sin desvanecerse. Fue una de las claves que permitió entrenar redes profundas a partir de 2011.

La segunda pieza es la inicialización de los pesos. Métodos como el de Xavier Glorot y Yoshua Bengio, o el de Kaiming He, eligen la escala inicial de los pesos para que la varianza de la señal se mantenga estable capa a capa. La tercera es la normalización por lotes, que reescala las activaciones dentro de la red y suaviza el paisaje de la optimización. Combinadas con conexiones residuales, estas técnicas son lo que hoy permite entrenar redes de cientos de capas sin que el gradiente se apague.

Ejemplo en una red profunda

Imagina una red de 20 capas con sigmoides que intenta clasificar imágenes. Durante el entrenamiento, mides la magnitud del gradiente en cada capa. En las capas cercanas a la salida los gradientes tienen un tamaño razonable, pero al avanzar hacia la entrada verás cómo caen orden de magnitud tras orden de magnitud. Para cuando llegas a la capa 1, el gradiente es tan pequeño que sus pesos permanecen casi idénticos a los valores iniciales, época tras época.

El síntoma práctico es claro: la pérdida baja al principio y luego se estanca, y las primeras capas nunca aprenden a detectar bordes o texturas básicas. Si sustituyes las sigmoides por ReLU, añades normalización por lotes y una inicialización adecuada, los gradientes recuperan un tamaño sano en todas las capas y la red entera empieza a aprender. Ese contraste es la mejor demostración de que el problema es real y de que sus soluciones funcionan.

Preguntas frecuentes

¿Por qué se llama gradiente que se desvanece?

Porque el gradiente, la señal que indica cómo ajustar cada peso, se hace cada vez más pequeño al retropropagarse hacia las primeras capas hasta acercarse a cero. Cuando el gradiente vale casi 0, el peso no se actualiza y la capa deja de aprender, como si la señal se hubiera desvanecido por el camino.

¿La ReLU elimina por completo el problema?

Lo reduce mucho porque su derivada vale 1 en la zona positiva, así que no encoge el gradiente. No es una solución total: puede aparecer el problema de las neuronas muertas cuando la entrada es siempre negativa. Por eso suele combinarse con una buena inicialización, normalización por lotes y variantes como Leaky ReLU.

¿Afecta solo a las redes muy profundas?

Es más grave cuanto más capas hay, porque se multiplican más derivadas menores que 1. También golpea con fuerza a las redes recurrentes, que despliegan muchos pasos temporales y sufren el mismo efecto multiplicativo; ese fue el motivo por el que se inventaron arquitecturas como LSTM.

Conclusión

El gradiente que se desvanece es un problema de multiplicación: encadenar muchas derivadas menores que 1 hace que la señal de error llegue casi nula a las primeras capas. Reconocer la causa, las funciones que saturan, lleva de forma natural a la solución, activaciones como ReLU, una inicialización cuidada y normalización. Con esas herramientas, la profundidad deja de ser un obstáculo y se convierte en la ventaja que define al aprendizaje profundo.

Fuentes

  1. Vanishing gradient problem (Wikipedia)
  2. Deep Learning (Goodfellow, Bengio y Courville)
  3. On the difficulty of training Recurrent Neural Networks (Pascanu, Mikolov y Bengio)

Ruta: La neurona y las funciones de activación