La función de activación ELU (Exponential Linear Unit)
Índice de contenidos
- Puntos clave
- ¿Qué es la función ELU?
- Fórmula y derivada
- Media cercana a cero y convergencia
- ELU frente a ReLU y Leaky ReLU
- El hiperparámetro alfa
- Preguntas frecuentes
- ¿Cuándo conviene usar ELU en lugar de ReLU?
- ¿Qué valor de alfa debo elegir?
- ¿La ELU resuelve el problema del gradiente que se desvanece?
- Conclusión
- Fuentes
La función ELU (Exponential Linear Unit) devuelve x cuando la entrada es positiva y α(eˣ−1) cuando es negativa. Al permitir valores negativos suaves, acerca a cero la media de las activaciones, acelera la convergencia frente a ReLU y evita las neuronas muertas gracias a un gradiente que nunca se anula del todo.
La función ELU (Exponential Linear Unit) es una activación que se comporta como la identidad para entradas positivas y decae de forma suave hacia un valor negativo cuando la entrada es menor o igual que cero. Fue propuesta en 2015 por Djork-Arné Clevert, Thomas Unterthiner y Sepp Hochreiter, y su objetivo es combinar lo mejor de ReLU (gradiente estable en la zona positiva) con la ventaja de tener salidas negativas, que empujan la media de las activaciones hacia cero y aceleran el aprendizaje. Esta misma explicación está disponible en inglés.
Puntos clave
- La función ELU vale
zsiz > 0yα(eˣ−1)siz ≤ 0, dondez = Wx + bes la suma ponderada de la neurona. - Para valores negativos se satura de forma suave hacia
−α, lo que reduce el ruido y mantiene la media de las activaciones cerca de cero. - Su derivada es 1 en la zona positiva y
α·eˣen la negativa, así que el gradiente nunca llega a valer 0 y no aparecen neuronas muertas como en ReLU. - El hiperparámetro
αcontrola la saturación; el valor por defecto es 1, tanto en el artículo original como en PyTorch. - En el artículo original, una red con ELU alcanzó un 24,28 % de error de test en CIFAR-100, el mejor resultado publicado en su momento.
¿Qué es la función ELU?
Una función de activación decide cómo transforma una neurona su entrada antes de pasarla a la siguiente capa. Sin ella, apilar capas equivaldría a una única transformación lineal, incapaz de modelar relaciones complejas. Si aún no lo tienes claro, conviene repasar qué es una función de activación antes de seguir.
La ELU nace para corregir dos defectos de la función ReLU. ReLU pone a cero cualquier entrada negativa, lo que provoca dos problemas: la media de las salidas queda desplazada hacia valores positivos y, cuando una neurona recibe siempre entradas negativas, su gradiente se vuelve cero y deja de aprender (el fenómeno de las «neuronas muertas»). La ELU sustituye esa parte plana por una curva exponencial que sí deja pasar información negativa.
Fórmula y derivada
La ELU se define por tramos sobre la preactivación $z$:
$$\operatorname{ELU}(z) = \begin{cases} z & z > 0 \ \alpha(e^z-1) & z \le 0 \end{cases}$$
Aquí $e^z$ es la exponencial natural evaluada en $z$ y $\alpha > 0$. Con $\alpha = 1$, cuando $z$ tiende a menos infinito el término $e^z$ tiende a $0$, así que la salida se satura hacia $-1$. Ese suelo controlado es justo lo que da estabilidad frente al ruido: por ejemplo, $\operatorname{ELU}(-2) \approx -0{,}8647$, $\operatorname{ELU}(0) = 0$ y $\operatorname{ELU}(2) = 2$.
La derivada, que necesitamos para la retropropagación, también es sencilla:
$$\operatorname{ELU}'(z) = \begin{cases} 1 & z > 0 \ \alpha e^z = \operatorname{ELU}(z) + \alpha & z \le 0 \end{cases}$$
A diferencia de ReLU, la derivada de la ELU nunca vale exactamente $0$ en la rama negativa: solo tiende a $0$ cuando $z \to -\infty$. Por eso una neurona con ELU siempre conserva algo de gradiente y puede recuperarse durante el entrenamiento.
En la zona positiva el gradiente vale exactamente $1$, igual que en ReLU, de modo que no hay desvanecimiento del gradiente en la parte activa. En la zona negativa el gradiente es pequeño pero distinto de cero, lo que permite recuperar neuronas que en ReLU habrían quedado inactivas para siempre.
Ver por qué la derivada es la propia ELU más α
En la rama negativa, $\operatorname{ELU}(z) = \alpha(e^z-1)$. Al derivar respecto de $z$, la constante $-\alpha$ desaparece y queda $\dfrac{d}{dz}\,\alpha(e^z-1) = \alpha e^z$. Y como $\alpha e^z = \alpha(e^z-1) + \alpha = \operatorname{ELU}(z) + \alpha$, la derivada se puede expresar a partir del propio valor de salida, un truco que ahorra evaluar de nuevo la exponencial.
Media cercana a cero y convergencia
El argumento central del artículo es que acercar a cero la media de las activaciones acelera el entrenamiento, porque reduce el llamado desplazamiento del sesgo entre capas. Es la misma idea que persigue la normalización por lotes, pero la ELU la consigue por la propia forma de la función, sin estadísticas adicionales por minilote. Como resumen los autores:
«Las ELU tienen valores negativos, lo que les permite acercar a cero la media de las activaciones de las unidades, igual que la normalización por lotes pero con menor coste computacional» (Clevert, Unterthiner y Hochreiter, 2015).
En sus experimentos, las redes con ELU convergían más rápido y generalizaban mejor que las equivalentes con ReLU. Sobre CIFAR-100 obtuvieron ese 24,28 % de error, y en ImageNet una red convolucional profunda con ELU superaba a su versión con ReLU sin necesidad de normalización por lotes. El trabajo se presentó en la conferencia ICLR de 2016.
ELU frente a ReLU y Leaky ReLU
Las tres funciones coinciden en la zona positiva: devuelven la entrada tal cual. La diferencia está en cómo tratan los valores negativos.
- ReLU los anula por completo. Es la más rápida de calcular, pero sufre de neuronas muertas y de media desplazada.
- Leaky ReLU deja pasar una pequeña pendiente lineal (por ejemplo 0,01·z) para los negativos, lo que evita el gradiente nulo pero mantiene una respuesta abrupta en el origen.
- ELU usa una curva exponencial, así que es continua y derivable en todo su dominio y se satura hacia
−α, lo que la hace más robusta frente a entradas muy negativas.
El precio de la ELU es el cálculo de la exponencial, más costoso que una comparación o una multiplicación. En la práctica esa diferencia suele ser asumible, y muchas arquitecturas la eligen cuando la estabilidad del entrenamiento importa más que unos milisegundos por paso.
El hiperparámetro alfa
El parámetro α fija el valor hacia el que se satura la rama negativa. Con α = 1, el más habitual, la salida nunca baja de −1. Si aumentas α, permites salidas negativas más grandes en magnitud y una saturación más tardía; si lo reduces, la función se parece más a ReLU. En la mayoría de los marcos de trabajo, como muestra la documentación de PyTorch[1], α es un valor fijo que por defecto vale 1 y no se aprende durante el entrenamiento. Una variante posterior, la PELU, sí trata α como un parámetro entrenable.
En PyTorch, instanciar la función es tan directo como esto:
import torch.nn as nn
activacion = nn.ELU(alpha=1.0)
Preguntas frecuentes
¿Cuándo conviene usar ELU en lugar de ReLU?
Cuando el entrenamiento es inestable o aparecen muchas neuronas muertas, la ELU suele ayudar, porque su rama negativa mantiene un gradiente no nulo y centra las activaciones. Si el coste de calcular la exponencial es un problema en inferencia, ReLU sigue siendo la opción por defecto por su sencillez.
¿Qué valor de alfa debo elegir?
Empieza siempre por α = 1, que es el valor recomendado en el artículo original y el que traen por defecto los marcos de trabajo. Solo merece la pena ajustarlo si tienes evidencia experimental de que otra saturación mejora tus resultados; cambiarlo sin medir rara vez compensa.
¿La ELU resuelve el problema del gradiente que se desvanece?
Lo mitiga en la zona negativa, donde su derivada α·eˣ es pequeña pero nunca cero, a diferencia de ReLU. En la zona positiva el gradiente vale 1, así que tampoco se desvanece por ese lado. No es una garantía total, pero reduce el riesgo frente a activaciones como la sigmoide.
Conclusión
La función ELU es una activación pensada para entrenar redes profundas de forma más estable: conserva el gradiente unitario de ReLU en la zona positiva y añade una rama exponencial que centra las activaciones y elimina las neuronas muertas. Su único coste real es calcular la exponencial. Para situarla dentro del conjunto de herramientas matemáticas, el mejor punto de partida es el mapa de las matemáticas de las redes neuronales, y de ahí avanzar hacia las demás funciones de activación.