Leaky ReLU

Evitando neuronas muertas con un pequeño flujo negativo

La Leaky ReLU es una variante de ReLU que permite un pequeño valor en la región negativa en lugar de anularla completamente.

👉 Fue diseñada para resolver el problema del Dying ReLU, donde algunas neuronas dejan de aprender.

Definición corta

La Leaky ReLU permite que los valores negativos pasen con una pequeña pendiente.

Definición matemática

f(x)={αxx<0xx0f(x)=\begin{cases}\alpha x & x<0 \\ x & x\ge 0\end{cases}

👉 donde α\alpha es un valor pequeño (por ejemplo, 0.01).

Intuición

Leaky ReLU responde:

👉 “No elimino completamente los valores negativos, solo los reduzco”


ReLU → 0 en negativos  
Leaky ReLU → pequeño valor negativo

Interpretación geométrica

  • región positiva → igual que ReLU
  • región negativa → línea con pendiente pequeña

Comparación visual conceptual

ReLU:
/
----/Leaky ReLU:
/
---/
/

Diferencia clave con ReLU

PropiedadReLULeaky ReLU
Negativos0αx
Gradiente negativo0≠ 0
Dying ReLUposiblemenos probable
Complejidadmínimabaja

Problema que resuelve

🔹 Dying ReLU

x<0f(x)=0x < 0 \Rightarrow f(x) = 0

👉 la neurona deja de actualizarse.

Solución

f(x)=αxf(x) = \alpha x

👉 mantiene el gradiente activo.

Ejemplo conceptual

Entrada negativa  

Salida pequeña

Gradiente ≠ 0

Sigue aprendiendo

Impacto en el gradiente

  • positivos → gradiente = 1
  • negativos → gradiente = α\alphaα

👉 evita gradiente cero.

Ventajas

  • evita neuronas muertas
  • mantiene flujo de gradiente
  • mejora estabilidad
  • simple de implementar

Desventajas

  • α fijo (no adaptativo)
  • puede introducir sesgo negativo
  • menos usada que ReLU en algunos casos

Variantes relacionadas

  • PReLU → α aprendible
  • RReLU → α aleatorio
  • ELU → suaviza negativos

Cuándo usar Leaky ReLU

Usa Leaky ReLU cuando:

  • observas neuronas muertas
  • redes profundas
  • entrenamiento inestable

Evítala cuando:

  • necesitas máxima simplicidad
  • el modelo ya funciona bien con ReLU

Ejemplo en Python

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

Ejemplo en PyTorch

Python
import torch
import torch.nn as nn
leaky = nn.LeakyReLU(0.01)
x = torch.tensor([-2.0, -1.0, 0.0, 1.0, 2.0])
print(leaky(x))

Ejemplo en modelo

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

Qué muestra este ejemplo

  • flujo continuo de gradiente
  • activación robusta
  • alternativa directa a ReLU

Errores comunes

Usar α demasiado alto

Reduce no linealidad.

Pensar que elimina todos los problemas

No evita saturación completa.

Ignorar otras alternativas

ELU, GELU pueden ser mejores.

Ejemplo conceptual en ML

Entrada  

Leaky ReLU

Gradiente continuo

Aprendizaje estable

Interpretación profunda

Leaky ReLU representa una mejora simple pero poderosa:

👉 Pequeños cambios en funciones de activación pueden tener gran impacto en el aprendizaje

Conclusión

La Leaky ReLU es una mejora directa de ReLU que evita neuronas muertas al permitir un pequeño flujo negativo.

👉 Es una solución simple y efectiva para mejorar estabilidad.

Related Concepts

  • ReLU
  • PReLU
  • ELU
  • Desvanecimiento del gradiente
  • Función de activación