Cómo elegir una función de activación (comparativa)
Índice de contenidos
- Puntos clave
- Tabla comparativa de funciones de activación
- Capas ocultas: ReLU y familia
- Capa de salida: sigmoide, softmax, lineal
- Transformers y LLMs: GELU y SiLU
- Reglas prácticas de elección
- Preguntas frecuentes
- ¿Qué función de activación debo usar por defecto?
- ¿Cuándo conviene usar GELU o SiLU en lugar de ReLU?
- ¿Qué activación va en la capa de salida?
- Conclusión
- Fuentes
Elegir una función de activación es sencillo con una regla base: usa ReLU en las capas ocultas, GELU o SiLU en transformers y reserva la salida para softmax en clasificación multiclase, sigmoide en problemas binarios y una activación lineal en regresión. Esta comparativa reúne fórmulas, rangos y casos de uso.
No existe una única función de activación perfecta: existe la adecuada para cada capa. Acertar con esa elección acelera el entrenamiento y evita problemas clásicos como el gradiente que se desvanece o las neuronas muertas. Esta comparativa reúne las funciones más usadas, con sus fórmulas y rangos, y ofrece una regla práctica para cada caso. Si prefieres el inglés, tienes la versión en inglés. Para el contexto completo, consulta el mapa de las matemáticas de las redes neuronales y el artículo sobre qué es una función de activación.
Puntos clave
- Para las capas ocultas, ReLU es la opción por defecto desde 2010: es rápida de calcular y funciona bien en la mayoría de redes.
- En transformers y grandes modelos de lenguaje se prefieren GELU y SiLU, versiones suaves de ReLU que suelen mejorar la convergencia.
- La capa de salida depende de la tarea: sigmoide para clasificación binaria, softmax para multiclase y activación lineal para regresión.
- Los problemas de neuronas muertas o de gradiente que se desvanece casi siempre se corrigen cambiando la activación o eligiendo una variante.
- Empieza siempre por ReLU y cámbiala solo si mides una mejora real: el equipo que propuso Swish midió apenas un 0,9 % de ganancia frente a ReLU en ImageNet.
Tabla comparativa de funciones de activación
Esta tabla resume las ocho activaciones más habituales, con su fórmula, el rango de valores que devuelve y su uso principal. Todas operan sobre la suma ponderada $\mathbf{z} = \mathbf{W}\mathbf{x}+\mathbf{b}$ y producen la activación $a = f(z)$.
| Función | Fórmula | Rango | Uso principal |
|---|---|---|---|
| Sigmoide | $\dfrac{1}{1+e^{-z}}$ | $(0, 1)$ | Salida binaria y puertas de LSTM |
| Tanh | $\dfrac{e^z-e^{-z}}{e^z+e^{-z}}$ | $(-1, 1)$ | Capas ocultas clásicas y redes recurrentes |
| ReLU | $\max(0, z)$ | $[0, \infty)$ | Capas ocultas por defecto (CNN, MLP) |
| Leaky ReLU | $\max(\alpha z, z)$ | $(-\infty, \infty)$ | Evitar neuronas muertas |
| GELU | $z \cdot \Phi(z)$ | $(\approx-0{,}17, \infty)$ | Transformers como BERT y GPT |
| SiLU/Swish | $z \cdot \sigma(z)$ | $(\approx-0{,}28, \infty)$ | Redes profundas y visión (EfficientNet) |
| Softmax | $\dfrac{e^{z_i}}{\sum_j e^{z_j}}$ | $(0, 1)$, suma 1 | Capa de salida multiclase |
| Lineal | $z$ | $(-\infty, \infty)$ | Capa de salida en regresión |
Regla base: empieza siempre por ReLU en las capas ocultas y cambia de activación solo cuando midas una mejora real en validación, no por moda.
Capas ocultas: ReLU y familia
En las capas ocultas, la elección por defecto es la función ReLU. Su definición, $\max(0, z)$, es tan barata de calcular que domina desde el trabajo de Nair y Hinton de 2010, y evita la saturación que sufrían la sigmoide y la tanh en redes profundas.
Su único punto débil son las neuronas muertas: una unidad cuya entrada es siempre negativa deja de aprender porque su gradiente vale $0$. Cuando eso ocurre, conviene pasar a la función Leaky ReLU, que deja pasar una pequeña pendiente $\alpha$ (por ejemplo $0{,}01$) para las entradas negativas. Otras variantes de la misma familia son ELU y SELU, útiles cuando buscas una normalización más estable.
Capa de salida: sigmoide, softmax, lineal
La activación de la última capa no se elige por gusto, sino por la forma de la respuesta. Para una clasificación binaria (spam o no spam) se usa la función sigmoide, que comprime cualquier número en el intervalo (0, 1) y se lee como una probabilidad.
Para clasificar entre varias categorías mutuamente excluyentes, la salida es la función softmax: convierte un vector de números en una distribución que suma exactamente 1. Y si el objetivo es un valor continuo, como un precio o una temperatura, la última capa no lleva activación: una salida lineal deja pasar el número tal cual.
Transformers y LLMs: GELU y SiLU
Las arquitecturas modernas suavizan la esquina de ReLU. La función GELU, propuesta en 2016, multiplica la entrada por la probabilidad acumulada de una normal, $z \cdot \Phi(z)$, y es la activación estándar de BERT y de la familia GPT. La función SiLU, también llamada Swish, sigue la misma idea con $z \cdot \sigma(z)$ y aparece en redes de visión como EfficientNet. Frente a ReLU, aportan un gradiente continuo que ayuda a entrenar redes muy profundas.
La mejora es real pero moderada. Como concluyó el equipo de Google Brain que presentó Swish en 2017, «basta con sustituir las ReLU por unidades Swish para mejorar la precisión top-1 en ImageNet en un 0,9 %». Por eso la recomendación práctica es reservar GELU y SiLU para transformers y redes grandes, donde ese margen compensa el coste extra de cálculo.
Reglas prácticas de elección
- Empieza por ReLU en todas las capas ocultas.
- Si aparecen neuronas muertas, cambia a Leaky ReLU o ELU.
- En un transformer o un modelo de lenguaje, usa GELU o SiLU.
- En la salida, elige por tarea: sigmoide (binaria), softmax (multiclase) o lineal (regresión).
- Cambia una activación solo cuando midas una mejora en validación, no por moda.
Preguntas frecuentes
¿Qué función de activación debo usar por defecto?
ReLU en las capas ocultas. Es rápida, estable y el punto de partida recomendado en casi cualquier red convolucional o perceptrón multicapa. Solo deberías cambiarla si detectas neuronas muertas o si trabajas con un transformer.
¿Cuándo conviene usar GELU o SiLU en lugar de ReLU?
En redes muy profundas y, sobre todo, en transformers y grandes modelos de lenguaje. GELU es la activación estándar de BERT y GPT, y SiLU brilla en redes de visión. Su gradiente suave mejora la convergencia, aunque la ganancia medida suele quedar por debajo del 1 %.
¿Qué activación va en la capa de salida?
Depende de la tarea: sigmoide para clasificación binaria, softmax para clasificación multiclase y ninguna activación (salida lineal) para regresión. La regla es que la forma de la salida debe coincidir con la forma de la respuesta que esperas.
Conclusión
Elegir una función de activación se reduce a dos preguntas: qué capa estás definiendo y qué tarea resuelve la red. Para las ocultas, ReLU es el punto de partida y GELU o SiLU el paso siguiente en modelos grandes; para la salida, manda la tarea. Con esa comparativa en la cabeza, la decisión deja de ser intuición y se convierte en método. Un buen siguiente paso es repasar la función softmax y su papel en la clasificación.