Parametric ReLU

Una Leaky ReLU donde la pendiente negativa se aprende

La Parametric ReLU (PReLU) es una variante de ReLU en la que la pendiente para valores negativos no es fija, sino que se aprende durante el entrenamiento.

👉 Es una evolución directa de Leaky ReLU, diseñada para adaptarse automáticamente a los datos.

Definición corta

La PReLU es una función de activación donde el parámetro negativo α\alphaα es aprendible.


Definición matemática

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


👉 a diferencia de Leaky ReLU, α\alphaα no es constante

Intuición

PReLU responde:

👉 “Aprendo cuánto dejar pasar de los valores negativos”


ReLU → corta negativos  
Leaky ReLU → fija la pendiente
PReLU → la aprende automáticamente

📐 Interpretación geométrica

  • región positiva → igual que ReLU
  • región negativa → línea con pendiente adaptable

Comparación conceptual

Leaky ReLU → pendiente fija  
PReLU → pendiente ajustable

Diferencia clave

PropiedadLeaky ReLUPReLU
αfijoaprendible
Flexibilidadmediaalta
Adaptaciónno
Complejidadbajamayor

¿Por qué aprender α?

Porque:

  • cada neurona puede necesitar diferente comportamiento
  • mejora representación
  • adapta la no linealidad

Ejemplo conceptual

Datos  

Entrenamiento

α ajustado automáticamente

Impacto en el gradiente

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

👉 pero ahora α\alphaα se optimiza.

Ventajas

  • mayor flexibilidad
  • evita neuronas muertas
  • mejor adaptación a datos
  • mejora rendimiento en algunos modelos

Desventajas

  • más parámetros
  • riesgo de overfitting
  • mayor coste computacional

PReLU vs ReLU

  • ReLU → simple
  • PReLU → adaptable

PReLU vs Leaky ReLU

  • Leaky → fijo
  • PReLU → aprendido

📊 Cuándo usar PReLU

Usa PReLU cuando:

  • necesitas mayor flexibilidad
  • modelos complejos
  • quieres mejorar rendimiento

Evítala cuando:

  • necesitas simplicidad
  • riesgo de overfitting
  • modelos pequeños

Ejemplo en Python (conceptual)

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

Ejemplo en PyTorch

import torch
import torch.nn as nn
prelu = nn.PReLU()
x = torch.tensor([-2.0, -1.0, 0.0, 1.0, 2.0])
print(prelu(x))

Ejemplo en modelo

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

Qué muestra este ejemplo

  • parámetro aprendible
  • activación adaptable
  • mejora potencial en rendimiento

Errores comunes

Usarla sin necesidad

Puede sobrecomplicar el modelo.

No controlar overfitting

Más parámetros = más riesgo.


Pensar que siempre mejora el rendimiento

Depende del problema.

Ejemplo conceptual en ML

Entrada  

PReLU

Pendiente ajustada

Mejor adaptación

Interpretación profunda

PReLU introduce un concepto clave:

👉 Las funciones de activación también pueden ser aprendidas

Esto acerca las activaciones a:

  • modelos más flexibles
  • aprendizaje más adaptativo
  • optimización más rica

Conclusión

La PReLU es una extensión de ReLU donde la pendiente negativa se aprende automáticamente, ofreciendo mayor flexibilidad y potencialmente mejor rendimiento.

👉 Es una evolución natural hacia activaciones adaptativas.

Related Concepts