Randomized ReLU (RReLU)

Introduciendo aleatoriedad para mejorar la generalización

La Randomized ReLU (RReLU) es una variante de ReLU donde la pendiente en la región negativa no es fija ni aprendida, sino que se elige aleatoriamente durante el entrenamiento.

👉 Su objetivo principal es actuar como una forma de regularización, reduciendo el sobreajuste.

Definición corta

La RReLU usa una pendiente negativa aleatoria en cada paso de entrenamiento.

Definición matemática

f(x)={axx<0xx0f(x)=\begin{cases}a x & x<0 \\ x & x\ge 0\end{cases}

👉 donde aaa se elige aleatoriamente:aU(l,u)a \sim \mathcal{U}(l, u)

Intuición

RReLU responde:

👉 “Cada vez que entreno, uso una pendiente diferente para negativos”

Negativos → pendiente variable  
Positivos → igual que ReLU

Interpretación geométrica

  • región positiva → lineal
  • región negativa → línea con pendiente aleatoria

Comparación conceptual

ReLU → pendiente 0  
Leaky ReLU → pendiente fija
PReLU → pendiente aprendida
RReLU → pendiente aleatoria

Diferencia clave

FunciónPendiente negativa
ReLU0
Leaky ReLUfija
PReLUaprendida
RReLUaleatoria

¿Por qué usar aleatoriedad?

👉 Introduce ruido en el entrenamiento:

  • mejora generalización
  • reduce overfitting
  • actúa como regularizador

Ejemplo conceptual

Entrenamiento  

Pendiente cambia

Modelo más robusto

Comportamiento en entrenamiento vs inferencia

🔹 Entrenamiento

  • pendiente aleatoria

🔹 Inferencia

  • pendiente fija (media de lll y uuu)

👉 comportamiento estable en producción.


📊 Ejemplo conceptual

Train → aleatorio  
Test → promedio

Ventajas

  • reduce sobreajuste
  • mejora robustez
  • introduce diversidad en activación

Desventajas

  • comportamiento menos predecible
  • poco usado en práctica moderna
  • no siempre mejora rendimiento

RReLU vs Dropout

  • ambos introducen aleatoriedad
  • RReLU → en activaciones
  • Dropout → en neuronas

Ejemplo conceptual

Aleatoriedad  

Variabilidad

Generalización

Cuándo usar RReLU

Usa RReLU cuando:

  • tienes overfitting
  • modelos pequeños o medianos
  • quieres experimentar con regularización

Evítala cuando:

  • necesitas comportamiento determinista
  • modelos críticos en producción
  • arquitecturas modernas estándar

Ejemplo en Python (conceptual)

Python
import numpy as np
def rrelu(x, l=0.01, u=0.1):
a = np.random.uniform(l, u)
return np.where(x > 0, x, a * x)
x = np.array([-2, -1, 0, 1, 2])
print(rrelu(x))

Ejemplo en PyTorch

import torch
import torch.nn as nn
rrelu = nn.RReLU(lower=0.01, upper=0.1)
x = torch.tensor([-2.0, -1.0, 0.0, 1.0, 2.0])
print(rrelu(x))

Ejemplo en modelo

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

🧠 Qué muestra este ejemplo

  • activación estocástica
  • variabilidad en entrenamiento
  • regularización implícita

Errores comunes

Usarla en producción sin entender inferencia

Puede generar inconsistencias.

Pensar que siempre mejora generalización

No siempre.

Ignorar alternativas

Dropout, BatchNorm suelen ser más comunes.

Ejemplo conceptual en ML

Modelo  

Activación aleatoria

Variabilidad

Mejor generalización

Interpretación profunda

RReLU introduce una idea importante:

👉 La aleatoriedad puede ser beneficiosa en el aprendizaje

Permite:

  • evitar soluciones rígidas
  • explorar más el espacio de funciones
  • mejorar robustez

Conclusión

La Randomized ReLU introduce una pendiente negativa aleatoria para mejorar la generalización mediante regularización implícita.

👉 Es una alternativa interesante, aunque menos utilizada en modelos modernos.

Related Concepts