Neural Network Training Labs
Laboratorio 28 · Avanzada · 29 / 31

🖌️ WGAN-GP sobre Fashion-MNIST

WGAN-GP sobre Fashion-MNIST

Objetivo

Estudiar estabilidad generativa y gradient penalty con imágenes reales.

Dataset público real

Los datos se descargan desde el proveedor oficial mediante los adaptadores del repositorio. Los archivos grandes no se incluyen en Git.

Modelo y fundamento

Protocolo

  1. Crear particiones con split_seed o conservar los splits oficiales.
  2. Entrenar y seleccionar exclusivamente con train y validation.
  3. Guardar best_model.pt y escribir experiment.lock.json.
  4. Abrir test una sola vez después del congelamiento.
  5. Registrar métricas, configuración, procedencia y limitaciones.

Ejecución

neural-labs train-advanced --track 28_wgan_gp --quick
neural-labs train-advanced --track 28_wgan_gp --split-seed 42 --training-seed 43

Métricas

wasserstein_estimate, energy_distance_proxy, diversity, training_stability.

Cuadernos

Limitación principal

Las métricas generativas aproximadas no sustituyen evaluación humana ni validación del uso previsto.

🧠 Teoría

Teoría — WGAN-GP sobre Fashion-MNIST

Distancia Wasserstein, crítico sin sigmoide y restricción Lipschitz mediante gradient penalty.

Fundamento matemático

Una GAN enfrenta dos redes: un generador G que transforma ruido z ∼ p_z (típicamente z ∼ 𝒩(0, I)) en muestras G(z), y un discriminador/crítico que juzga qué tan reales parecen. La GAN clásica minimiza una divergencia de Jensen-Shannon entre la distribución real p_r y la generada p_g. El problema es que cuando ambas distribuciones tienen soportes casi disjuntos —lo habitual al inicio— la JS es constante y su gradiente se anula, provocando entrenamiento inestable y colapso de modos. La WGAN cambia el objetivo por la distancia de Wasserstein-1 (o "earth mover"):

W(p_r, p_g) = inf_(γ ∈ Π(p_r, p_g)) 𝔼_((x,y)∼γ) ‖x − y‖,

que mide el "coste mínimo de transporte" para convertir una distribución en la otra. A diferencia de la JS, W varía suavemente aunque los soportes no se solapen, dando un gradiente útil en todo momento.

Calcular ese ínfimo es intratable, así que se usa la dualidad de Kantorovich-Rubinstein:

W(p_r, p_g) = sup_(‖f‖L ≤ 1) [ 𝔼(x∼p_r) f(x) − 𝔼_(x̃∼p_g) f(x̃) ],

donde el supremo se toma sobre todas las funciones 1-Lipschitz f. Aquí f es el crítico (no un clasificador): a diferencia del discriminador clásico, no lleva sigmoide final ni produce una probabilidad, sino un valor escalar real. El generador se entrena para maximizar 𝔼 f(G(z)), es decir, para que sus muestras reciban puntuaciones altas del crítico. El nombre "crítico" en vez de "discriminador" subraya que estima una distancia, no clasifica real/falso.

La condición 1-Lipschitz (‖∇f‖ ≤ 1 en todo punto) es la clave y también la dificultad. La WGAN original la imponía recortando los pesos (weight clipping), lo que degrada la capacidad de la red y provoca gradientes que explotan o desaparecen. La mejora WGAN-GP (Gulrajani et al.) la sustituye por una penalización de gradiente: como una función 1-Lipschitz diferenciable tiene norma de gradiente ≤ 1, se penaliza que se aleje de 1 en puntos interpolados x̂ = ε·x + (1−ε)·x̃, con ε ∼ U[0,1] entre una muestra real x y una generada x̃. La pérdida del crítico queda

ℒ_crítico = 𝔼_(x̃∼p_g) f(x̃) − 𝔼_(x∼p_r) f(x) + λ · 𝔼_(x̂) [ (‖∇_x̂ f(x̂)‖₂ − 1)² ],

donde λ (habitualmente 10) pesa el término de penalización. Este regularizador impone la restricción de forma suave y local, estabilizando el entrenamiento y permitiendo arquitecturas más profundas. En la práctica se actualiza el crítico varias veces por cada paso del generador, para que su estimación de W sea buena antes de mover G. La línea base DCGAN convolucional (GAN clásica con sigmoide y pérdida JS) sirve de contraste directo para apreciar la ganancia en estabilidad y cobertura de modos.

Visualización específica

Muestras por época, interpolación latente, pérdidas y cobertura de clases mediante clasificador externo. La curva de pérdida del crítico aproxima la distancia de Wasserstein y, a diferencia de la GAN clásica, correlaciona con la calidad visual; la interpolación en z revela si el espacio latente es suave; el clasificador externo estima si se cubren todas las clases o hay colapso de modos.

Riesgo de interpretación

Las métricas generativas aproximadas no sustituyen evaluación humana ni validación del uso previsto. El estimador de Wasserstein y los proxies de diversidad son indicadores, no garantías de fidelidad; muestras nítidas pueden coexistir con clases faltantes, y clases cubiertas con artefactos sutiles.

🔗 Referencias

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

🔬 Experimentos

Experimentos — WGAN-GP sobre Fashion-MNIST

Hipótesis principal

Comparar DCGAN y WGAN-GP con igual presupuesto de actualizaciones.

Variables controladas

Reporte mínimo

Media, desviación estándar, costo de entrenamiento, latencia y análisis de errores.

📝 Evaluación

Evaluación

Criterio Puntos
Procedencia y auditoría del dataset 15
Protocolo sin fuga de test 20
Implementación del modelo 20
Métricas y comparación con baseline 20
Análisis de errores y riesgos 15
Reproducibilidad y documentación 10

Total: 100 puntos.