5 · Funciones de activación: sigmoid, tanh, ReLU y variantes
Un recorrido por las seis activaciones que importan — cómo lucen, cómo se comportan sus gradientes y cuál elegir para cada tarea.
Las activaciones inyectan no-linealidad — sin ellas las capas apiladas se colapsan en una única transformación lineal. La elección importa: sigmoid satura, ReLU muere, Leaky ReLU y GELU corrigen los casos límite.
Sin esto:
Elige la activación equivocada y tu red profunda o se desvanece (sigmoid) o muere (ReLU puro).
Una función de activación se sitúa entre cada capa lineal e introduce no-linealidad en la red. Sin ella, toda la red — sin importar cuántas capas tenga — se reduciría a una única multiplicación de matrices: W_n × W_{n-1} × … × W_1 × x. Tendrías el poder expresivo de una regresión logística.
La historia de las activaciones es casi la historia del deep learning mismo:
- 1943–1986 — step/sigmoid (la metáfora biológica: la neurona se dispara o no)
- 2011 — ReLU (Glorot et al.) hace que las redes profundas sean entrenables: simple, rápido, amigable con los gradientes
- 2012 — AlexNet demuestra que ReLU + GPU + Dropout funciona a escala de ImageNet
- 2016+ — ELU, SELU van más allá de la ReLU moribunda
- 2018+ — GELU (usado en BERT, GPT, ViT) se convierte en el estándar moderno de transformers
Cada activación es un compromiso entre expresividad, salud del gradiente y costo computacional. Esta lección mapea las seis, muestra la historia de sus derivadas y te da el manual de selección que usan los profesionales.
Python (in browser)
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Python (in browser)
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
El problema de la ReLU moribunda — y por qué Leaky ReLU / ELU / GELU lo corrigen
Python (in browser)
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Manual de selección de activaciones — qué función para cada capa y tarea
¿Cuál es el gradiente de ReLU cuando x < 0?
- Sin una activación no lineal, las capas apiladas se colapsan en una única transformación lineal — no hay aproximación universal.
- ReLU (derivada = 1 para z > 0) es la activación estándar de capas ocultas: rápida, amigable con gradientes, desbloqueó el deep learning en 2012.
- La ReLU moribunda ocurre cuando z < 0 para todos los ejemplos → gradiente = 0 → la neurona nunca se actualiza. Leaky ReLU, ELU y GELU lo corrigen con gradientes no nulos para entradas negativas.
- Regla de selección: ReLU = estándar para capas ocultas; GELU = estándar para transformers; sigmoid = solo salida binaria; softmax = salida multiclase; nunca sigmoid en capas ocultas.
Cada bloque `nn.Linear → nn.ReLU` de PyTorch usa ReLU; GELU domina los Transformers; sigmoid + BCE es la cabeza estándar de clasificación binaria.
Si lo quitas: Usarías sigmoid en todas partes y te preguntarías por qué tu red de 10 capas converge al azar — el gradiente desvanecido es invisible hasta que entiendes las activaciones.