Objetivo: elegir una activación y entender saturación, gradientes y salida.
| Activación | Expresión/idea | Uso y vigilancia |
|---|---|---|
| ReLU | max(0, z) | simple, rápida; posibles neuronas muertas |
| LeakyReLU | pendiente pequeña si z<0 | reduce las unidades definitivamente nulas |
| tanh | salida [-1, 1] | centrada, pero satura en los extremos |
| sigmoid | salida [0, 1] | sobre todo salida binaria; saturación |
| GELU | modulación suave | frecuente en los Transformers |
La derivada de ReLU vale 1 para z>0 y 0 para z<0. Una unidad que recibe siempre
preactivaciones negativas deja de transmitir gradiente: está «muerta».
BCEWithLogitsLoss.CrossEntropyLoss.softmax(z_i) = exp(z_i) / Σ_j exp(z_j) transforma K logits en números positivos cuya
suma vale 1. Añadir una constante idéntica a todos los logits no cambia las
probabilidades. Las implementaciones estables restan el máximo antes de la exponencial.
Utiliza ReLU como baseline para un MLP/CNN, GELU para un Transformer, y coloca una activación de salida únicamente si la pérdida o la interfaz lo exigen explícitamente.
¿Por qué las activaciones deben ser no lineales? ¿Qué activación produce probabilidades exclusivas?
De lo contrario toda la red se reduce a una transformación afín. Softmax produce una distribución sobre clases exclusivas.
Calcula ReLU y sigmoide para z = {-2, 0, 2}, y luego el softmax estable de [1000, 1001, 999]. Asocia después una salida a cuatro tareas: binaria, multiclase, multietiqueta y
regresión no acotada. Éxito: ninguna doble activación antes de una pérdida sobre logits.
Lectura: la función de pérdida dicta a menudo el formato numérico esperado. Con las pérdidas estables que reciben logits, la sigmoide o el softmax sirven para la interpretación, no para la entrada de la pérdida. La trampa principal es por tanto la doble activación, que deteriora los gradientes y puede dar probabilidades engañosas.