Neural Network Training Labs
Laboratorio 17 · Central · 18 / 31

📐 Activaciones y funciones de pérdida

Activaciones y funciones de pérdida

Objetivo

Comparar ReLU, GELU, Tanh y pérdidas apropiadas en clases desbalanceadas.

Dataset real

Muestras reales de vinho verde con análisis fisicoquímico y evaluación sensorial.

Fundamento matemático

Derivadas, saturación y sensibilidad de CrossEntropy/Focal Loss.

Protocolo experimental

  1. Descargar y verificar la procedencia.
  2. Conservar o crear una partición reproducible.
  3. Ajustar transformaciones únicamente con train.
  4. Seleccionar modelo e hiperparámetros usando validation.
  5. Evaluar test una sola vez tras congelar la decisión.
  6. Comparar con la línea base: Regresión ordinal y Random Forest.
  7. Guardar configuración, entorno, métricas, predicciones, gráficos y modelo.

Ejecución

python labs/17_activations_and_losses/train.py --quick
python labs/17_activations_and_losses/train.py --config improved

Preparar únicamente el dataset:

python -m neural_labs.cli dataset --lab 17_activations_and_losses

Inferencia y exportación:

neural-labs predict --lab 17_activations_and_losses --run latest --input sample.json
neural-labs export --lab 17_activations_and_losses --run latest --format onnx --verify

Métricas

accuracy, balanced_accuracy, macro_f1.

Archivos

Ejercicios

Material formativo v3

Comandos profesionales

neural-labs quality --lab 17_activations_and_losses --quick
neural-labs benchmark --lab 17_activations_and_losses --quick --split-seed 42 --training-seeds 41 42 43
neural-labs leaderboard

Sellado del experimento

La partición se controla con split_seed; la inicialización y el entrenamiento con training_seed. El conjunto test se abre solamente después de seleccionar el checkpoint mediante validación y escribir experiment.lock.json.

🧠 Teoría

Teoría — Activaciones y funciones de pérdida

Propósito

Comparar ReLU, GELU, Tanh y pérdidas apropiadas en clases desbalanceadas.

Idea central

Este laboratorio estudia comparación controlada de activaciones y pérdidas usando wine_quality, un dataset público real procedente de UCI. Dos decisiones de diseño gobiernan cómo aprende una red: qué función de activación introduce la no linealidad entre capas y qué función de pérdida define qué significa equivocarse. El laboratorio las aísla y las compara de forma controlada, cambiando una variable a la vez para atribuir con honestidad las diferencias de desempeño.

Sobre las activaciones: sin no linealidad, apilar capas lineales colapsa en una sola transformación lineal, incapaz de modelar fronteras complejas. Tanh satura en ambos extremos (su derivada tiende a 0 para entradas grandes), lo que frena el aprendizaje en redes profundas por gradientes que se desvanecen. ReLU evita esa saturación en el lado positivo manteniendo la derivada en 1, lo que acelera el entrenamiento y favorece representaciones dispersas, aunque puede "morir" si una neurona queda siempre en la zona negativa. GELU es una alternativa suave que pondera la entrada por su probabilidad bajo una gaussiana, combinando parte de la no saturación de ReLU con una transición diferenciable.

Sobre las pérdidas: el dataset de calidad de vino está desbalanceado (hay muchas más muestras de calidad media que de los extremos). La entropía cruzada estándar trata todos los ejemplos por igual y tiende a optimizar la clase mayoritaria, ignorando las minoritarias. La Focal Loss reescala la pérdida para bajar el peso de los ejemplos ya bien clasificados y concentrar el aprendizaje en los difíciles. La pregunta crítica —si la conclusión se mantiene en varias semillas— recuerda que en comparaciones finas la diferencia entre dos activaciones puede ser menor que el ruido de entrenamiento.

Fundamento matemático

Una activación transforma cada preactivación z de forma no lineal. Sus definiciones y derivadas explican su comportamiento:

Tanh: σ(z) = (eᶻ − e⁻ᶻ)/(eᶻ + e⁻ᶻ), σ′(z) = 1 − σ(z)²

ReLU: σ(z) = max(0, z), σ′(z) = 1 si z > 0, 0 si z < 0

GELU: σ(z) = z · Φ(z), con Φ la función de distribución acumulada de la normal estándar

La clave está en la derivada, porque es el factor por el que backpropagation multiplica el gradiente al atravesar la capa. Para Tanh, σ′(z) = 1 − σ(z)² tiende a 0 cuando |z| es grande: la neurona satura y el gradiente se desvanece. Para ReLU, σ′(z) = 1 en toda la región activa: el gradiente pasa sin atenuarse, lo que combate el desvanecimiento pero deja gradiente nulo (neuronas muertas) cuando z < 0. GELU suaviza esa transición, evitando el corte brusco en z = 0.

Para la salida de clasificación se usa softmax, ŷₖ = e^{zₖ} / Σⱼ e^{zⱼ}, y sobre él se define la pérdida. La entropía cruzada para la clase verdadera es:

CE = −Σₖ yₖ · log ŷₖ

La Focal Loss añade un factor modulador (1 − p_t)^γ, donde p_t es la probabilidad asignada a la clase correcta y γ ≥ 0 controla cuánto se atenúan los ejemplos fáciles:

FL = −α_t · (1 − p_t)^γ · log(p_t)

Cuando el modelo ya acierta con confianza, p_t → 1, el factor (1 − p_t)^γ → 0 y ese ejemplo casi no contribuye al gradiente; los ejemplos difíciles (p_t bajo) conservan casi toda su pérdida. Con γ = 0 la Focal Loss se reduce a la entropía cruzada ponderada. Por eso ayuda en clases desbalanceadas: reorienta la señal de aprendizaje ∇ hacia las clases minoritarias mal clasificadas en vez de reforzar la mayoría ya resuelta. Todo se optimiza con descenso de gradiente, θ ← θ − η · ∇_θ ℒ. La formulación conecta cuatro elementos: representación de entrada, función del modelo (con su activación), función de pérdida (CE o Focal) y regla de actualización (SGD con ∇). El notebook muestra las dimensiones de los tensores y conserva la misma implementación que el script de terminal.

Protocolo científico

Riesgos de interpretación

Muestras reales de vinho verde con análisis fisicoquímico y evaluación sensorial.

El dataset refleja su proceso de recolección y no representa automáticamente otros períodos, países o poblaciones. Una asociación predictiva no demuestra causalidad.

Pregunta crítica

¿La conclusión se mantiene en varias semillas?

🔗 Referencias

Las referencias apuntan a las obras; no se reproduce su contenido, la redacción es original.

🔬 Experimentos

Plan de experimentos — Activaciones y funciones de pérdida

Hipótesis principal

Comparar ReLU, GELU, Tanh y pérdidas apropiadas en clases desbalanceadas. La hipótesis debe aceptarse o rechazarse comparando el modelo con Regresión ordinal y Random Forest y no solo observando que la pérdida disminuye.

Experimento mínimo

  1. Ejecutar baseline.yaml con tres semillas.
  2. Ejecutar improved.yaml con las mismas semillas.
  3. Mantener fija la partición de datos dentro de cada semilla.
  4. Elegir la variante con validation.
  5. Comparar la variante elegida contra la línea base en test.
  6. Revisar intervalos de confianza, errores y costo computacional.

Experimento específico

Mantener semilla, datos y arquitectura constantes.

Variables controladas

Tabla que debe completarse

Variante Semilla Métrica validation Métrica test Tiempo Parámetros Observación
baseline 41
baseline 42
baseline 43
improved 41
improved 42
improved 43

Criterio de conclusión

La conclusión debe declarar magnitud de la mejora, incertidumbre, costo adicional, errores relevantes y condiciones bajo las cuales el resultado podría no repetirse.

📝 Evaluación

Evaluación — Activaciones y funciones de pérdida

Evidencias obligatorias

Preguntas

  1. Explique con sus palabras: Derivadas, saturación y sensibilidad de CrossEntropy/Focal Loss.
  2. ¿Qué información del dataset solo puede utilizarse durante entrenamiento?
  3. ¿Por qué la línea base Regresión ordinal y Random Forest es una comparación razonable?
  4. ¿La conclusión se mantiene en varias semillas?
  5. ¿Qué cambiaría antes de usar este modelo fuera del laboratorio?

Rúbrica

Criterio Insuficiente Adecuado Excelente Peso
Integridad de datos mezcla particiones separación correcta auditoría, hashes y justificación 20%
Implementación no ejecuta entrena y evalúa código claro, reusable y probado 20%
Diseño experimental resultado aislado comparación controlada multi-semilla e incertidumbre 20%
Análisis repite métricas interpreta errores identifica sesgos, límites y costo 25%
Comunicación incompleta reporte entendible model card y conclusiones verificables 15%

La aprobación exige al menos 70% y cero errores críticos de fuga de datos.