ELU (Exponential Linear Unit)

Activación suave que reduce el sesgo y mejora el aprendizaje

La ELU (Exponential Linear Unit) es una función de activación que combina una parte lineal para valores positivos con una parte exponencial suave para valores negativos.

👉 Fue diseñada para mejorar el flujo de gradiente y reducir el sesgo en activaciones, superando limitaciones de ReLU.

Definición corta

La ELU es una función que:

  • mantiene valores positivos lineales
  • transforma valores negativos suavemente con una función exponencial

Definición matemática

f(x)={xx0α(ex1)x<0f(x)=\begin{cases}x & x\ge 0 \\ \alpha(e^x-1) & x<0\end{cases}

👉 donde α\alphaα controla la pendiente en la región negativa (típicamente 1).

Intuición

ELU responde:

👉 “Los valores negativos no se eliminan, sino que se suavizan”


ReLU → corta negativos  
ELU → los suaviza progresivamente

Interpretación geométrica

  • región positiva → igual que ReLU
  • región negativa → curva exponencial suave

Comparación visual conceptual

ReLU:
/
----/ELU:
/
---/
)

Diferencia clave con ReLU

PropiedadReLUELU
Negativos0valores negativos suaves
Gradiente negativo0≠ 0
Suavidadno
Centrado en ceronoparcialmente

Ventaja principal

👉 ELU produce activaciones con media cercana a 0

Ejemplo conceptual

Activaciones positivas y negativas  

Media ≈ 0

Entrenamiento más estable

Impacto en el gradiente

🔹 ReLU

  • gradiente = 0 en negativos

🔹 ELU

f(x)=αex(x<0)f'(x) = \alpha e^x \quad (x < 0)

👉 mantiene flujo de gradiente.

Interpretación

ELU → evita neuronas muertas  
ReLU → puede bloquear neuronas

Ventajas

  • reduce el Dying ReLU
  • activaciones centradas
  • transición suave
  • mejor convergencia en algunos casos

Desventajas

  • más costosa (exponencial)
  • puede saturar en negativos extremos
  • menos eficiente que ReLU

Cuándo usar ELU

Usa ELU cuando:

  • necesitas estabilidad
  • tienes problemas de gradiente
  • modelos más pequeños o medianos

Evítala cuando:

  • necesitas máxima velocidad
  • trabajas con hardware limitado

Ejemplo en Python

Python
import numpy as np
def elu(x, alpha=1.0):
return np.where(x >= 0, x, alpha * (np.exp(x) - 1))
x = np.array([-2, -1, 0, 1, 2])
print(elu(x))

Ejemplo en PyTorch

Python
import torch
import torch.nn as nn
elu = nn.ELU(alpha=1.0)
x = torch.tensor([-2.0, -1.0, 0.0, 1.0, 2.0])
print(elu(x))

Ejemplo en modelo

Python
import torch.nn as nn
model = nn.Sequential(
nn.Linear(10, 20),
nn.ELU(),
nn.Linear(20, 1)
)

Qué muestra este ejemplo

  • activación suave
  • flujo continuo de gradiente
  • alternativa a ReLU

Errores comunes

Pensar que ELU reemplaza siempre a ReLU

No siempre es necesario.

Ignorar coste computacional

Puede ser relevante en producción.

No ajustar α

Puede afectar comportamiento.

Ejemplo conceptual en ML

Entrada  

Activación ELU

Flujo de gradiente continuo

Entrenamiento estable

Interpretación profunda

ELU representa un cambio importante:

👉 De funciones “bruscas” (ReLU) a funciones “suaves” que:

  • mantienen información
  • mejoran estabilidad
  • favorecen aprendizaje profundo

Conclusión

La ELU mejora sobre ReLU al introducir suavidad y mantener gradientes en valores negativos, lo que puede llevar a un entrenamiento más estable.

👉 Es un paso intermedio clave hacia activaciones modernas como GELU y Swish.

Related Concepts

  • ReLU
  • Leaky ReLU
  • GELU
  • Función de activación
  • Desvanecimiento del gradiente