El ingrediente que convierte una pila de sumas en algo capaz de aprender curvas, no solo líneas rectas. Sin esto, una red de 100 capas valdría lo mismo que una sola.
En la lección 1 la neurona producía z = w₁x₁ + w₂x₂ + b. Eso es una operación
lineal (una recta / un plano). Y aquí viene el detalle clave:
La función de activación es una función no lineal que se aplica a
z después de la suma. Rompe la linealidad y le da a la red el poder de doblar,
curvar y separar datos que una recta jamás podría.
La palabra "activación" se usa para dos cosas distintas. Aquí están los tres términos exactos:
| Término | Qué es | En el ejemplo |
|---|---|---|
| Pre-activación (z) | El número que sale de la suma ponderada w·x + b, antes de aplicar la función. Aún no está "activado". | z = 0.10 |
| Función de activación | La operación que aplicas (sigmoid, ReLU, tanh). Es el "cómo". | σ( · ) |
| Activación (a) | El resultado de pasar z por la función. Es la salida real de la neurona. | a = σ(0.10) = 0.5250 |
💡 Dicho de otra forma: "aplicar la activación" es hacer el cálculo con la función; "la activación" (a secas) es el número que obtienes. Antes de aplicar la función, ese número se llama pre-activación, no activación.
Aplasta cualquier número al rango (0, 1). Perfecta para interpretar la salida como una probabilidad. La usaremos en XOR.
Si es negativo → 0; si es positivo → se queda igual. Simple y baratísima. Es la reina en redes modernas (incluido el Transformer).
Como la sigmoid pero centrada en 0, rango (−1, 1). Útil cuando quieres salidas con signo.
Toma cualquier número (de −∞ a +∞) y lo aplasta suavemente al rango (0, 1).
z = 0 vale exactamente 0.5; números muy grandes tienden a 1, muy negativos tienden a 0.σ'(z) = a·(1−a). Para nuestro z=0.10: 0.5250·0.4750 = 0.2494.z es muy grande o muy pequeño, la curva se aplana y su derivada se acerca a 0. Eso hace que el gradiente casi desaparezca y la red aprenda lento ("gradiente que se desvanece"). Es su talón de Aquiles.
La más simple de todas: si z es negativo lo pone en 0; si es positivo lo deja igual.
z = 0.max) y su derivada es 1 para z > 0, así que no desvanece el gradiente en la zona positiva. Por eso es la activación estándar en capas ocultas de redes profundas, incluido el Transformer.1 si z > 0, y 0 si z < 0. Sencillísima.z < 0, su salida y su gradiente son siempre 0 → deja de aprender para siempre. Variantes como Leaky ReLU (deja pasar un poquito lo negativo) lo solucionan.Es como la sigmoid, pero centrada en 0: aplasta al rango (−1, 1).
(0, 0) en vez de (0, 0.5). Da salidas negativas y positivas.tanh'(z) = 1 − tanh²(z). En z = 0 vale 1 (su punto más empinado).
La neurona h₁ nos había dado z = 0.10. Le aplicamos sigmoid (la que usa
nuestra red) y obtenemos su activación real:
a = σ(z) = 1 / (1 + e^(-z)) a = σ(0.10) = 1 / (1 + e^(-0.10)) = 1 / (1 + 0.904837) = 1 / 1.904837 = 0.524979
Y la segunda neurona oculta, h₂, que daba z = −0.10:
a = σ(-0.10) = 0.475021 Nota: σ(0.10) y σ(-0.10) suman 1. La sigmoid es simétrica alrededor de z=0, donde vale exactamente 0.5.
Mueve z y mira cómo responde cada función. La línea vertical marca tu z.
| Función | Rango | Uso típico | Cuidado |
|---|---|---|---|
| Sigmoid | (0, 1) | Salida de probabilidad (clasificación binaria) | Se "satura" en los extremos → gradiente diminuto |
| ReLU | [0, ∞) | Capas ocultas de redes profundas | Puede "morir" si siempre da 0 |
| tanh | (−1, 1) | Capas ocultas, salidas con signo | También se satura |