Fixing Lab4
@@ -68,15 +68,14 @@ generador es
|
||||
$\lambda_{\mathrm{div}}$ esperaba que funcionara mejor? Explique el beneficio
|
||||
esperado y un posible riesgo.
|
||||
\end{enumerate}
|
||||
\answer{Antes de examinar los resultados, se esperaría que $\lambda_{\mathrm{div}}=0.5$
|
||||
ofreciera el mejor equilibrio: suficiente para inducir diversidad entre salidas del
|
||||
generador sin ser tan agresivo como $\lambda_{\mathrm{div}}=1.0$, que podría penalizar
|
||||
en exceso la similitud entre salidas y sacrificar realismo. El riesgo esperado era que
|
||||
un $\lambda_{\mathrm{div}}$ demasiado alto empujara al generador a maximizar la
|
||||
distancia píxel a píxel mediante ruido o distorsiones en lugar de generar dígitos
|
||||
genuinamente distintos --- riesgo que, como se detalla más adelante, efectivamente se
|
||||
materializó, y que además se combinó con una falla mucho más profunda del
|
||||
entrenamiento adversarial de base.}
|
||||
\answer{Antes de examinar los resultados se esperaría que
|
||||
$\lambda_{\mathrm{div}}=0.5$ ofreciera un buen equilibrio: suficiente para
|
||||
incentivar diversidad entre las muestras del generador sin ser tan agresivo
|
||||
como $\lambda_{\mathrm{div}}=1.0$, que podría distorsionar excesivamente las
|
||||
imágenes en su intento de maximizar la distancia entre pares generados. El
|
||||
riesgo esperado era que un $\lambda_{\mathrm{div}}$ demasiado alto sacrificara
|
||||
realismo visual a cambio de diversidad artificial (por ejemplo, añadiendo
|
||||
ruido o trazos distorsionados en lugar de dígitos genuinamente distintos).}
|
||||
|
||||
\section{Diagnóstico del punto de control colapsado}
|
||||
|
||||
@@ -87,50 +86,47 @@ entrenamiento adversarial de base.}
|
||||
\item ¿Qué evidencia visual sugiere colapso de modos? Distinga entre clases
|
||||
ausentes y apariencias repetidas dentro de una clase representada.
|
||||
\end{enumerate}
|
||||
\answer{La evidencia más contundente no es solo el colapso de clases sino que las 64
|
||||
muestras mostradas en \texttt{collapsed\_samples.png} son, en su totalidad, ruido
|
||||
granulado de alta frecuencia sin ninguna forma de dígito reconocible: no hay trazos,
|
||||
curvas ni contornos identificables como escritura a mano en ninguna de ellas. Desde la
|
||||
perspectiva del clasificador, \texttt{collapsed\_class\_distribution.png} muestra que el
|
||||
100\% de la masa se concentra en un único dígito predicho ("8"), es decir, colapso
|
||||
total de clases. Pero además la impresión de diagnóstico del propio notebook confirma
|
||||
\texttt{mass on [1, 7]=0.000}: el generador ni siquiera colapsó hacia los dígitos 1 y 7
|
||||
que se pretendía inducir. Aquí no se trata de "una clase repetida con variaciones": es
|
||||
que ninguna clase real está representada, y la aparente uniformidad visual entre
|
||||
muestras es simplemente ruido de textura similar, no repetición de un dígito legítimo.}
|
||||
\answer{\texttt{collapsed\_samples.png} muestra 64 imágenes, todas dígitos "1"
|
||||
o "7" perfectamente legibles y con variedad de trazo (rectos, inclinados, con
|
||||
o sin serifa horizontal); no aparece ningún otro dígito.
|
||||
\texttt{collapsed\_class\_distribution.png} confirma cuantitativamente que
|
||||
solo esas dos clases superan el umbral del 1\% (\textasciitilde49\% y
|
||||
\textasciitilde48.5\% de la masa respectivamente), con el resto prácticamente
|
||||
en cero. La evidencia distingue ambos fenómenos con claridad: hay 8 clases
|
||||
completamente ausentes (0, 2, 3, 4, 5, 6, 8, 9 por debajo del umbral),
|
||||
mientras que dentro de las dos clases representadas sí se observa variedad de
|
||||
apariencia (distintos estilos de trazo para el "1" y para el "7"); es decir,
|
||||
el colapso es entre clases, no una repetición monótona de una única imagen.}
|
||||
|
||||
\begin{enumerate}[resume]
|
||||
\item Utilice el número de modos y la entropía normalizada para describir el
|
||||
colapso entre clases. ¿Qué información aporta cada medida?
|
||||
\end{enumerate}
|
||||
\answer{El número de modos (1/10) confirma que solo una clase supera el umbral de
|
||||
frecuencia del 1\%: un colapso binario, todo-o-nada, hacia una sola clase predicha. La
|
||||
entropía normalizada (0.010, en una escala de 0 a 1 donde 0 significa que toda la masa
|
||||
recae en una sola clase y 1 significa una distribución perfectamente uniforme entre las
|
||||
10 clases) cuantifica qué tan extrema es esa concentración: un valor tan cercano a 0
|
||||
indica una distribución prácticamente degenerada, no solo "dominada" por una clase sino
|
||||
casi puntual en ella. El conteo de modos aporta una lectura binaria y fácil de
|
||||
interpretar (¿cuántas clases "cuentan"?), mientras que la entropía aporta la forma
|
||||
completa de la distribución, incluso entre las clases que sí superan el umbral;
|
||||
juntas confirman un colapso extremo y no solo parcial.}
|
||||
\answer{El número de modos (2/10) confirma que exactamente dos clases superan
|
||||
el umbral del 1\%, coincidiendo con los dígitos objetivo del colapso (1 y 7).
|
||||
La entropía normalizada (0.367) cuantifica además qué tan pareja es la masa
|
||||
entre esas clases activas: un valor tan por debajo de 1.0 refleja que, aunque
|
||||
hay 2 modos, la distribución global sigue muy alejada de la uniformidad sobre
|
||||
las 10 clases, ya que la masa está casi enteramente concentrada en ese
|
||||
subconjunto (aproximadamente 50/50 entre 1 y 7), dejando 8 clases sin
|
||||
representación. El conteo de modos aporta una lectura discreta de cobertura;
|
||||
la entropía aporta la forma continua de toda la distribución, incluyendo cuán
|
||||
desbalanceada está incluso entre las clases activas.}
|
||||
|
||||
\begin{enumerate}[resume]
|
||||
\item ¿Las muestras mostradas permiten identificar confiablemente el colapso
|
||||
dentro de cada clase? Explique qué evidencia adicional se necesita.
|
||||
\end{enumerate}
|
||||
\answer{No de forma confiable. Como ninguna de las 64 muestras colapsadas se asemeja a
|
||||
un dígito real, no existe una forma legítima de "8" (o de cualquier otro dígito) contra
|
||||
la cual comparar variedad interna; no se puede evaluar colapso \emph{dentro} de una
|
||||
clase que en realidad nunca se materializó visualmente. Además, la confianza del
|
||||
clasificador (0.981) es engañosa: el clasificador se entrenó únicamente con dígitos
|
||||
reales de MNIST y nunca vio ejemplos de ruido no estructurado, por lo que puede emitir
|
||||
predicciones muy seguras sobre entradas fuera de distribución sin que eso refleje
|
||||
ninguna semántica real. La evidencia adicional necesaria es exactamente la que se usó
|
||||
aquí para diagnosticar el problema real: inspección visual directa de las muestras, y
|
||||
las curvas de pérdida del discriminador durante el preentrenamiento (que muestran
|
||||
$D\approx0.000$ desde la época 5 de 16, evidenciando que el discriminador saturó y el
|
||||
generador dejó de recibir señal de gradiente útil mucho antes de llegar a la fase de
|
||||
colapso dirigido).}
|
||||
\answer{Sí, de forma razonablemente confiable: las imágenes en
|
||||
\texttt{collapsed\_samples.png} son dígitos "1" y "7" claramente legibles, con
|
||||
variación visible de estilo (inclinación, presencia de barra horizontal en el
|
||||
"7", grosor del trazo), por lo que se puede juzgar directamente si hay
|
||||
diversidad dentro de cada clase representada. Como evidencia adicional, la
|
||||
diversidad intra-clase cuantitativa del punto colapsado (25.954) es
|
||||
considerablemente menor que la alcanzada tras la recuperación
|
||||
(\textasciitilde37--38), lo que corrobora numéricamente que la variedad
|
||||
dentro de esas dos clases también era más limitada en el punto de partida, y
|
||||
no es solo una impresión visual.}
|
||||
|
||||
\section{Resultados de recuperación}
|
||||
|
||||
@@ -158,60 +154,73 @@ colapso dirigido).}
|
||||
alto de modos implica necesariamente una distribución equilibrada? Utilice
|
||||
la entropía como evidencia.
|
||||
\end{enumerate}
|
||||
\answer{$\lambda_{\mathrm{div}}=0.1$, $0.5$ y $1.0$ recuperan 2/10 modos cada uno
|
||||
(frente a 1/10 en "Collapsed start" y en $\lambda_{\mathrm{div}}=0$), pero un número
|
||||
más alto de modos no implica una distribución equilibrada: incluso con 2 modos, la
|
||||
entropía normalizada máxima observada es apenas 0.058 ($\lambda_{\mathrm{div}}=0.1$),
|
||||
muy lejos de 1.0 (uniforme). En \texttt{class\_distributions.png} se ve que la clase
|
||||
dominante ("8") sigue concentrando más del 95\% de la masa en las tres configuraciones
|
||||
con 2 modos, y la segunda "moda" detectada corresponde al dígito "2" --- ni siquiera a
|
||||
las clases objetivo (1 o 7) --- y apenas supera el umbral del 1\%. El conteo de modos
|
||||
por sí solo sugiere una mejora que la entropía matiza fuertemente: la distribución
|
||||
sigue siendo extremadamente desequilibrada en las cuatro configuraciones.}
|
||||
\answer{Las cuatro configuraciones de recuperación
|
||||
($\lambda_{\mathrm{div}}=0$, $0.1$, $0.5$ y $1.0$) recuperan la totalidad de
|
||||
las 10 clases (10/10 modos), frente a 2/10 en el punto de partida. Un número
|
||||
alto de modos no garantiza automáticamente una distribución perfectamente
|
||||
equilibrada, pero en este caso la entropía normalizada confirma que sí se
|
||||
logró una cobertura casi uniforme: entre 0.984 y 0.988 en las cuatro
|
||||
configuraciones, muy cerca del máximo teórico de 1.0, frente a 0.367 en el
|
||||
punto colapsado. \texttt{class\_distributions.png} corrobora visualmente que
|
||||
las cuatro configuraciones producen barras de altura similar en las 10
|
||||
clases (con una ligera sobre-representación del dígito "9" y
|
||||
sub-representación del "4" en las cuatro), consistente con una recuperación
|
||||
genuina y no solo nominal.}
|
||||
|
||||
\begin{enumerate}[resume]
|
||||
\item Compare la confianza del clasificador. Identifique cualquier compromiso
|
||||
aparente entre diversidad y calidad.
|
||||
\end{enumerate}
|
||||
\answer{La confianza del clasificador baja de forma monótona al subir
|
||||
$\lambda_{\mathrm{div}}$: 0.981 (colapsado) $\to$ 0.954 ($\lambda=0$) $\to$ 0.933
|
||||
($\lambda=0.1$) $\to$ 0.925 ($\lambda=0.5$) $\to$ 0.909 ($\lambda=1.0$). A primera
|
||||
vista esto parece el compromiso esperado "más diversidad, menos confianza/calidad".
|
||||
Sin embargo, dado que ninguna configuración produce imágenes reconocibles como
|
||||
dígitos (Pregunta 2), esta caída no debe interpretarse como una pérdida real de
|
||||
fidelidad visual respecto a un buen generador: es simplemente la reacción del
|
||||
clasificador a texturas de ruido ligeramente distintas entre configuraciones, no un
|
||||
verdadero compromiso diversidad-calidad sobre dígitos válidos.}
|
||||
\answer{La confianza del clasificador baja de 0.971 (colapsado) a un rango
|
||||
estrecho de 0.909--0.912 en las cuatro configuraciones recuperadas, sin una
|
||||
tendencia clara respecto a $\lambda_{\mathrm{div}}$ ($\lambda=0.1$ tiene la
|
||||
confianza más baja, 0.909, mientras que $\lambda=0$ y $\lambda=1.0$ empatan en
|
||||
la más alta, 0.912). Esta pequeña caída es esperable y saludable: el punto
|
||||
colapsado concentraba casi toda la probabilidad en solo 2 clases con trazos
|
||||
muy estereotipados (más fáciles de clasificar con alta confianza), mientras
|
||||
que al cubrir las 10 clases el clasificador enfrenta dígitos naturalmente más
|
||||
ambiguos entre sí (por ejemplo 4 frente a 9, o 3 frente a 8). No se observa
|
||||
aquí un compromiso fuerte entre diversidad y calidad: las cuatro
|
||||
configuraciones logran cobertura completa sin una penalización de confianza
|
||||
mayor al \textasciitilde6\% respecto al punto colapsado.}
|
||||
|
||||
\begin{enumerate}[resume]
|
||||
\item Compare la diversidad de características con la diversidad dentro de
|
||||
cada clase. ¿Qué configuraciones mejoran ambas medidas y cuáles mejoran
|
||||
principalmente una?
|
||||
\end{enumerate}
|
||||
\answer{Ambas métricas crecen de forma monótona con $\lambda_{\mathrm{div}}$:
|
||||
diversidad de características 16.117 $\to$ 16.436 $\to$ 16.687 $\to$ 17.057 $\to$
|
||||
17.288, y diversidad intra-clase 11.458 $\to$ 11.539 $\to$ 11.854 $\to$ 12.603 $\to$
|
||||
13.533 (de "Collapsed start" a $\lambda_{\mathrm{div}}=1.0$). No hay una configuración
|
||||
que mejore una medida sin la otra --- $\lambda_{\mathrm{div}}=1.0$ maximiza ambas
|
||||
simultáneamente --- pero, como se discute en la Pregunta 8, este incremento conjunto
|
||||
corresponde a generar ruido cada vez más variado, no dígitos genuinamente más
|
||||
diversos.}
|
||||
\answer{Ambas métricas suben de forma marcada respecto al punto colapsado
|
||||
(diversidad de características: 32.059 $\to$ \textasciitilde50.3--51.0;
|
||||
diversidad intra-clase: 25.954 $\to$ \textasciitilde37.3--38.1), pero entre
|
||||
las cuatro configuraciones de recuperación las diferencias son mínimas y no
|
||||
siguen un patrón monótono claro: $\lambda=0.5$ tiene la diversidad de
|
||||
características más baja (50.256) y la intra-clase más baja (37.341) de las
|
||||
cuatro, mientras que $\lambda=1.0$ tiene ambas más altas (50.829 y 38.141
|
||||
respectivamente). No hay una configuración que mejore claramente una medida
|
||||
sacrificando la otra; las cuatro se comportan de forma muy similar, lo que
|
||||
sugiere que, una vez corregido el entrenamiento adversarial, la recuperación
|
||||
de diversidad en este escenario depende más de reanudar el entrenamiento
|
||||
sobre datos completos que del peso específico de la pérdida de diversidad
|
||||
explícita.}
|
||||
|
||||
\begin{enumerate}[resume]
|
||||
\item Examine las muestras. ¿La mayor diversidad representa variaciones
|
||||
significativas o solamente ruido, distorsiones o dígitos ambiguos? Describa
|
||||
dos ejemplos concretos.
|
||||
\end{enumerate}
|
||||
\answer{Claramente lo segundo. En \texttt{recovery\_samples.png}, la fila "Collapsed
|
||||
start" y la fila $\lambda_{\mathrm{div}}=0$ muestran una textura de ruido fino de alta
|
||||
frecuencia, prácticamente indistinguible entre columnas (ejemplo 1: cualquiera de las
|
||||
primeras columnas de esas dos filas). En las filas $\lambda_{\mathrm{div}}=0.5$ y
|
||||
$\lambda_{\mathrm{div}}=1.0$ aparecen algunas manchas de menor frecuencia con un lazo
|
||||
curvo central, un poco más "gruesas" y menos granuladas que el ruido base (ejemplo 2:
|
||||
varias columnas de la fila $\lambda_{\mathrm{div}}=1.0$ muestran una forma circular
|
||||
difusa parecida a un garabato), pero ninguna de estas formas constituye un dígito
|
||||
reconocible; se trata de ruido de baja frecuencia en vez de ruido de alta frecuencia,
|
||||
no una diversidad semántica real entre dígitos.}
|
||||
\answer{En esta corrida la mayor diversidad numérica sí corresponde a
|
||||
variaciones significativas y no a ruido: en \texttt{recovery\_samples.png},
|
||||
las cuatro filas de recuperación muestran dígitos completos y reconocibles de
|
||||
múltiples clases (ejemplo 1: la tercera columna muestra un "9" con trazo
|
||||
cursivo bien formado en las cuatro configuraciones; ejemplo 2: la octava
|
||||
columna muestra una forma con un trazo diagonal marcado parecido a un rayo,
|
||||
consistente entre las cuatro configuraciones). Cabe notar que, como la
|
||||
evaluación usa la misma semilla de muestreo para las cuatro configuraciones,
|
||||
las imágenes de una misma columna son decodificaciones del mismo vector
|
||||
latente por cada generador, y por eso lucen casi idénticas entre filas de
|
||||
recuperación --lo cual es coherente con que las métricas cuantitativas
|
||||
también sean casi idénticas entre configuraciones-- y ninguna muestra manchas
|
||||
de ruido ni dígitos ambiguos.}
|
||||
|
||||
\section{Comportamiento durante el entrenamiento}
|
||||
|
||||
@@ -223,32 +232,33 @@ no una diversidad semántica real entre dígitos.}
|
||||
misma función objetivo?
|
||||
\end{enumerate}
|
||||
\answer{Porque $\mathcal{L}_G=\mathcal{L}_{\mathrm{adv}}+\lambda_{\mathrm{div}}
|
||||
\mathcal{L}_{\mathrm{div}}$ combina dos términos con escalas y objetivos distintos,
|
||||
ponderados por un $\lambda_{\mathrm{div}}$ diferente en cada configuración. Por
|
||||
construcción, un $\lambda_{\mathrm{div}}$ mayor añade una contribución adicional del
|
||||
término de diversidad, de modo que dos configuraciones con distinto
|
||||
$\lambda_{\mathrm{div}}$ no están minimizando la misma función. Comparar sus valores
|
||||
totales sin separar los componentes adversarial y de diversidad --tal como se ve en
|
||||
\texttt{recovery\_training.png}, donde $\lambda_{\mathrm{div}}=1.0$ muestra
|
||||
sistemáticamente el objetivo total más alto-- puede sugerir falsamente que ese modelo
|
||||
"entrena peor", cuando en realidad solo está pagando un término adicional que los
|
||||
demás no tienen en la misma magnitud.}
|
||||
\mathcal{L}_{\mathrm{div}}$ combina dos términos con escalas y pesos
|
||||
distintos según la configuración. En \texttt{recovery\_training.png} se
|
||||
observa que el objetivo total del generador es sistemáticamente más bajo
|
||||
cuanto mayor es $\lambda_{\mathrm{div}}$ (por ejemplo, $\lambda=1.0$ termina en
|
||||
\textasciitilde1.07 frente a \textasciitilde1.35 en $\lambda=0$), pero esto no
|
||||
significa que ese modelo entrene "mejor": $\mathcal{L}_{\mathrm{div}}$ está
|
||||
definida como una cantidad negativa (más negativa cuanto más diversas son las
|
||||
salidas), así que un $\lambda_{\mathrm{div}}$ mayor simplemente resta más de
|
||||
ese término negativo al total, sin que ello implique una pérdida adversarial
|
||||
menor. Comparar el total directamente confundiría el efecto de la
|
||||
ponderación con una diferencia real de desempeño adversarial.}
|
||||
|
||||
\begin{enumerate}[resume]
|
||||
\item ¿Las curvas de pérdida demuestran por sí solas que se resolvió el
|
||||
colapso de modos? Justifique utilizando los demás resultados.
|
||||
\end{enumerate}
|
||||
\answer{No. Las curvas muestran que la pérdida del discriminador se mantiene
|
||||
extremadamente baja (del orden de $10^{-5}$) durante toda la recuperación en las
|
||||
cuatro configuraciones, y que la pérdida del generador tiende a subir con las épocas
|
||||
--comportamiento consistente con un discriminador que domina por completo y un
|
||||
generador que no recibe gradiente útil. Esto concuerda con la evidencia visual (las
|
||||
salidas siguen siendo ruido, Pregunta 8) y con las métricas de cobertura (máximo 2/10
|
||||
modos, Pregunta 5). Si solo se miraran las curvas de pérdida, sin las imágenes
|
||||
generadas ni las métricas de cobertura, se podría malinterpretar la caída suave y
|
||||
monótona de la pérdida del discriminador como "entrenamiento estable", cuando en
|
||||
realidad refleja que el generador quedó atrapado en un mínimo degenerado desde el
|
||||
preentrenamiento inicial y nunca se recuperó.}
|
||||
\answer{No por sí solas. \texttt{recovery\_training.png} muestra que la
|
||||
pérdida del discriminador sube de forma saludable desde
|
||||
\textasciitilde0.57--0.61 hasta \textasciitilde0.90--0.98 a lo largo de las 5
|
||||
épocas de recuperación en las cuatro configuraciones, sin colapsar a 0 ni
|
||||
dispararse --un patrón consistente con un equilibrio adversarial funcional.
|
||||
Sin embargo, esta curva por sí sola solo indica que el entrenamiento es
|
||||
estable; la confirmación de que el colapso de modos realmente se resolvió
|
||||
requiere las métricas de cobertura (10/10 modos, entropía
|
||||
\textasciitilde0.98--0.99, Pregunta 5) y la inspección visual de
|
||||
\texttt{recovery\_samples.png}, que muestran dígitos reconocibles de las 10
|
||||
clases.}
|
||||
|
||||
\section{Decisión y limitaciones}
|
||||
|
||||
@@ -256,81 +266,100 @@ preentrenamiento inicial y nunca se recuperó.}
|
||||
\item Seleccione un valor de $\lambda_{\mathrm{div}}$. Defienda la elección
|
||||
con al menos dos resultados cuantitativos y dos observaciones visuales.
|
||||
\end{enumerate}
|
||||
\answer{Se recomienda $\lambda_{\mathrm{div}}=0.1$ dentro de las cuatro
|
||||
configuraciones evaluadas, con la salvedad explícita de que ninguna resolvió el
|
||||
colapso de modos de forma satisfactoria (ver limitaciones más abajo). Evidencia
|
||||
cuantitativa: (1) $\lambda_{\mathrm{div}}=0.1$ logra la entropía normalizada más alta
|
||||
de las cuatro configuraciones recuperadas (0.058, frente a 0.021 en $\lambda=0$, 0.053
|
||||
en $\lambda=0.5$ y 0.047 en $\lambda=1.0$); (2) mantiene la segunda confianza de
|
||||
clasificador más alta entre las configuraciones con diversidad activa (0.933, solo por
|
||||
detrás de $\lambda=0$ con 0.954, y por encima de 0.925 y 0.909 de $\lambda=0.5/1.0$).
|
||||
Evidencia visual: (3) en \texttt{recovery\_samples.png}, la fila $\lambda=0.1$
|
||||
conserva una textura similar a la del punto de partida colapsado, sin las manchas de
|
||||
baja frecuencia más pronunciadas visibles en las filas $\lambda=0.5$ y $\lambda=1.0$;
|
||||
(4) alcanza el mismo conteo de modos (2/10) que $\lambda=0.5$ y $\lambda=1.0$, por lo
|
||||
que no hay evidencia de que forzar más diversidad aporte cobertura adicional de
|
||||
clases, solo más textura de ruido.}
|
||||
\answer{Se recomienda $\lambda_{\mathrm{div}}=1.0$. Evidencia cuantitativa:
|
||||
(1) alcanza la entropía normalizada más alta de las cuatro configuraciones
|
||||
(0.988, frente a 0.984 en $\lambda=0$); (2) alcanza la diversidad intra-clase
|
||||
más alta (38.141) y empata en la confianza de clasificador más alta (0.912)
|
||||
junto con $\lambda=0$, sin ningún costo aparente respecto a las demás.
|
||||
Evidencia visual: (3) en \texttt{recovery\_samples.png}, la fila
|
||||
$\lambda=1.0$ muestra las mismas 16 imágenes nítidas y reconocibles que el
|
||||
resto de configuraciones, sin manchas de ruido ni distorsiones adicionales
|
||||
pese a tener el peso de diversidad más alto evaluado; (4) en
|
||||
\texttt{class\_distributions.png}, su distribución de clases es tan pareja
|
||||
como la de las demás configuraciones (mismo patrón de ligera
|
||||
sobre-representación de "9" y sub-representación de "4"). Dado que
|
||||
$\lambda_{\mathrm{div}}=1.0$ no muestra ninguna penalización visible de
|
||||
calidad frente a $\lambda_{\mathrm{div}}=0$, y sí una ligera ventaja
|
||||
consistente en las métricas de diversidad, es la opción mejor respaldada
|
||||
entre las evaluadas --con la salvedad de que las diferencias entre las
|
||||
cuatro configuraciones son pequeñas y podrían no ser robustas frente a otra
|
||||
semilla aleatoria, ya que cada una se evaluó una sola vez (Pregunta 13).}
|
||||
|
||||
\begin{enumerate}[resume]
|
||||
\item Si la fidelidad de las imágenes fuera más importante que la cobertura
|
||||
de clases, ¿cambiaría su elección? Justifique.
|
||||
\end{enumerate}
|
||||
\answer{Sí, cambiaría a $\lambda_{\mathrm{div}}=0$, que conserva la mayor confianza
|
||||
del clasificador (0.954) y la menor diversidad de características añadida respecto al
|
||||
punto de partida. En este experimento ningún valor de $\lambda_{\mathrm{div}}>0$ logra
|
||||
fidelidad visual aceptable (todas las salidas siguen siendo ruido no estructurado), y
|
||||
el único "beneficio" medible de subirlo es una cobertura de clases apenas mayor (2 vs.
|
||||
1 modos) que ni siquiera corresponde a los dígitos objetivo (1 y 7). Si la prioridad
|
||||
fuera evitar cualquier degradación adicional mientras se corrige el problema real (la
|
||||
divergencia del entrenamiento adversarial), $\lambda_{\mathrm{div}}=0$ sería el punto
|
||||
de partida más conservador para reentrenar con otros ajustes.}
|
||||
\answer{Sí cambiaría, aunque por poco: se elegiría $\lambda_{\mathrm{div}}=0$,
|
||||
que logra la confianza de clasificador empatada más alta (0.912, igual que
|
||||
$\lambda=1.0$) sin necesidad de introducir el término adicional de diversidad
|
||||
ni su costo de ajuste. Como en este experimento fidelidad y diversidad no
|
||||
muestran un compromiso fuerte entre sí (las cuatro configuraciones logran
|
||||
calidad visual y cobertura muy similares), priorizar fidelidad favorecería la
|
||||
configuración más simple ($\lambda_{\mathrm{div}}=0$) por parsimonia, ya que
|
||||
no hay evidencia de que agregar la pérdida de diversidad aporte una mejora
|
||||
de fidelidad adicional en este caso.}
|
||||
|
||||
\begin{enumerate}[resume]
|
||||
\item Indique una limitación de utilizar un clasificador de MNIST para medir
|
||||
la cobertura de la GAN y una limitación del diseño experimental.
|
||||
\end{enumerate}
|
||||
\answer{\emph{Clasificador:} se entrenó únicamente con dígitos reales de MNIST y nunca
|
||||
vio ejemplos fuera de esa distribución; frente a entradas de ruido no estructurado
|
||||
(como las de este experimento) puede emitir predicciones con alta confianza (hasta
|
||||
0.981) que no reflejan ninguna semántica real de dígito, por lo que las métricas de
|
||||
"modos" y "entropía" derivadas de sus predicciones pueden ser completamente engañosas
|
||||
cuando el generador no produce imágenes válidas, como ocurrió aquí. \emph{Diseño
|
||||
experimental:} las cuatro configuraciones de recuperación parten todas del mismo punto
|
||||
de control ya deteriorado (\texttt{mass on [1,7]=0.000}, discriminador saturado desde
|
||||
la época 5 de 16 del preentrenamiento) y solo se entrenan 5 épocas adicionales; este
|
||||
diseño no permite distinguir si $\lambda_{\mathrm{div}}$ es insuficiente o si el punto
|
||||
de partida está tan degradado que ningún valor de $\lambda_{\mathrm{div}}$ en ese rango
|
||||
podría recuperarlo en tan pocas épocas.}
|
||||
\answer{\emph{Clasificador:} se entrenó únicamente con dígitos reales de
|
||||
MNIST, por lo que su confianza y sus predicciones de clase pueden no ser
|
||||
completamente fiables frente a imágenes fuera de esa distribución; incluso en
|
||||
esta corrida corregida, la confianza no debe interpretarse como una medida
|
||||
absoluta de realismo, solo como un proxy relativo entre configuraciones.
|
||||
\emph{Diseño experimental:} cada configuración de $\lambda_{\mathrm{div}}$ se
|
||||
evaluó con una sola semilla y un solo conjunto de 5 épocas de recuperación,
|
||||
por lo que las pequeñas diferencias entre configuraciones (por ejemplo, 0.984
|
||||
frente a 0.988 de entropía) podrían no ser estadísticamente robustas frente a
|
||||
la variación aleatoria de la inicialización o el orden de los datos.
|
||||
|
||||
\emph{Nota de depuración:} durante una primera ejecución de este notebook se
|
||||
detectó que el punto de control "colapsado" y las cuatro recuperaciones
|
||||
producían únicamente ruido no estructurado, sin relación aparente con
|
||||
dígitos reales, independientemente de $\lambda_{\mathrm{div}}$. La causa era
|
||||
un error en la celda \texttt{train\_gan\_epoch}: durante el paso de
|
||||
actualización del generador, el discriminador se ponía en
|
||||
\texttt{discriminator.eval()} antes de calcular la pérdida adversarial. Como
|
||||
el discriminador incluye una capa \texttt{nn.BatchNorm2d}, el modo
|
||||
\texttt{eval()} lo hace usar estadísticas acumuladas (running mean/var) en
|
||||
lugar de las del lote actual, desincronizando el discriminador que evalúa al
|
||||
generador del discriminador que realmente se entrena, e impidiendo que el
|
||||
generador recibiera una señal de gradiente útil (el discriminador saturaba en
|
||||
la época 5 de 16 del preentrenamiento). El arreglo --cambiar esa línea a
|
||||
\texttt{discriminator.train()}-- resolvió el problema por completo: el punto
|
||||
de control colapsa correctamente hacia los dígitos 1 y 7 (97.2\% de la masa,
|
||||
Pregunta 2) y las cuatro recuperaciones alcanzan cobertura completa de las 10
|
||||
clases. Todos los resultados de este informe corresponden a la corrida ya
|
||||
corregida.}
|
||||
|
||||
\begin{enumerate}[resume]
|
||||
\item Proponga un experimento posterior que fortalezca o cuestione su
|
||||
conclusión. Indique la variable que modificaría y la evidencia que recopilaría.
|
||||
\end{enumerate}
|
||||
\answer{Se propone repetir la fase de preentrenamiento con técnicas de estabilización
|
||||
(por ejemplo, suavizado de etiquetas para el discriminador, penalización de gradiente,
|
||||
o una tasa de aprendizaje/capacidad relativa menor para el discriminador) para evitar
|
||||
que este domine desde la época 5, verificando mediante la pérdida del discriminador
|
||||
(que debería mantenerse por encima de un piso razonable, no en 0.000) y mediante
|
||||
inspección visual de \texttt{collapsed\_samples.png} que el punto de control de
|
||||
partida realmente produzca dígitos reconocibles concentrados en las clases 1 y 7 antes
|
||||
de aplicar el experimento de recuperación con $\lambda_{\mathrm{div}}$. Si, una vez
|
||||
logrado un colapso "limpio" y visualmente legible, $\lambda_{\mathrm{div}}=0.1$ sigue
|
||||
mostrando la mejor entropía sin sacrificar tanta confianza como valores mayores, esto
|
||||
confirmaría la conclusión actual; si en cambio valores más altos de
|
||||
$\lambda_{\mathrm{div}}$ logran recuperar clases adicionales reconocibles una vez
|
||||
resuelto el problema de fondo, la conclusión debería revisarse.}
|
||||
\answer{Se propone repetir las cuatro configuraciones de recuperación con al
|
||||
menos 3 semillas aleatorias distintas cada una, midiendo la media y
|
||||
desviación estándar de entropía, confianza y diversidad intra-clase por
|
||||
configuración. Dado que en esta corrida las diferencias entre
|
||||
$\lambda_{\mathrm{div}}=0$, $0.1$, $0.5$ y $1.0$ son pequeñas (por ejemplo,
|
||||
0.984 frente a 0.988 de entropía), este experimento permitiría confirmar si
|
||||
$\lambda_{\mathrm{div}}=1.0$ realmente aventaja de forma consistente a
|
||||
$\lambda_{\mathrm{div}}=0$, o si la diferencia observada aquí es ruido de una
|
||||
sola corrida; si las diferencias desaparecen bajo múltiples semillas, la
|
||||
recomendación debería simplificarse a $\lambda_{\mathrm{div}}=0$ por
|
||||
parsimonia.}
|
||||
|
||||
\section*{Recomendación final}
|
||||
|
||||
Valor recomendado: $\lambda_{\mathrm{div}}=0.1$
|
||||
Valor recomendado: $\lambda_{\mathrm{div}}=1.0$
|
||||
|
||||
Conclusión en una oración:
|
||||
\answer{Dentro de las cuatro configuraciones evaluadas, $\lambda_{\mathrm{div}}=0.1$
|
||||
ofrece el mejor equilibrio relativo entre cobertura de clases (mayor entropía) y
|
||||
confianza del clasificador, pero ninguna resolvió el colapso de modos real, ya que el
|
||||
generador quedó atrapado en un régimen de ruido no estructurado desde el
|
||||
preentrenamiento inicial (discriminador saturado), por lo que se recomienda corregir
|
||||
ese problema de entrenamiento antes de repetir la comparación de
|
||||
$\lambda_{\mathrm{div}}$.}
|
||||
\answer{Tras corregir un error de \texttt{BatchNorm}/modo \texttt{eval()} en
|
||||
el paso del generador, las cuatro configuraciones de recuperación restauran
|
||||
por completo las 10 clases de dígitos (entropía \textasciitilde0.98--0.99
|
||||
frente a 0.367 en el punto colapsado), y $\lambda_{\mathrm{div}}=1.0$ se
|
||||
recomienda por lograr la mayor entropía y diversidad intra-clase sin
|
||||
sacrificar confianza de clasificador frente a las demás configuraciones
|
||||
evaluadas.}
|
||||
|
||||
\end{document}
|
||||
|
||||
|
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 177 KiB After Width: | Height: | Size: 70 KiB |
@@ -19,5 +19,5 @@
|
||||
],
|
||||
"mode_frequency_threshold": 0.01,
|
||||
"evaluation_samples": 2500,
|
||||
"device": "cpu"
|
||||
"device": "cuda"
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
epoch,generator,adversarial,diversity,discriminator
|
||||
1,3.902446909713745,3.9426742090861002,-0.4022729824066162,4.2679691879311577e-05
|
||||
2,4.145200756327311,4.184955227152506,-0.397544775835673,1.7615805166618278e-05
|
||||
3,4.139080067443848,4.17894912923177,-0.3986907406489054,1.4372343609769207e-05
|
||||
4,4.3337121688842775,4.373950477091471,-0.40238287711143494,1.139676257832131e-05
|
||||
5,4.437606961568196,4.4788080523173015,-0.4120109644730886,9.15210223950756e-06
|
||||
1,1.9428215772191684,1.9722177728096644,-0.29396197570165,0.5681033275604248
|
||||
2,1.4548880971908569,1.4849848041216533,-0.30096709435780844,0.8620665185292562
|
||||
3,1.3750368096669514,1.4050493458429973,-0.3001254108428955,0.8815570115407307
|
||||
4,1.3534313842296601,1.3834585751533508,-0.3002719212214152,0.9456387358347574
|
||||
5,1.3344955165227255,1.3643748208999633,-0.2987930631637573,0.9085257977485657
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
epoch,generator,adversarial,diversity,discriminator
|
||||
1,3.9779018229166665,4.181639106241862,-0.4074745655536652,3.138090945431031e-05
|
||||
2,4.384994900258382,4.590004500834147,-0.410019177420934,1.108799576322781e-05
|
||||
3,4.442870346577962,4.649945588429769,-0.41415047810872396,8.148233926234146e-06
|
||||
4,4.501311336263021,4.709003438568115,-0.41538419888814293,6.7271921303472485e-06
|
||||
5,4.567720675404867,4.779216910552979,-0.42299244691530863,5.819472274743021e-06
|
||||
1,1.8402496170361837,1.9872969957669575,-0.29409476148287456,0.5767448663711547
|
||||
2,1.341480024846395,1.4922449136734008,-0.30152977444330853,0.8037996379534403
|
||||
3,1.2664997817357382,1.4169845746358236,-0.3009695855140686,0.9125254613876342
|
||||
4,1.2546948420206705,1.4045818595250448,-0.29977403044700623,0.9266978068669637
|
||||
5,1.2052594385147095,1.3549157900174458,-0.2993127013524373,0.9047481880187989
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
epoch,generator,adversarial,diversity,discriminator
|
||||
1,3.792231286239624,3.792231286239624,-0.39822079056104026,5.601679666045432e-05
|
||||
2,3.7167933046976724,3.7167933046976724,-0.38705200486183167,2.9127169354857565e-05
|
||||
3,3.774656072998047,3.774656072998047,-0.3904325690587362,2.4593643052503468e-05
|
||||
4,4.0028360649108885,4.0028360649108885,-0.39604260533650715,1.812106814662305e-05
|
||||
5,4.161207312520345,4.161207312520345,-0.404033615175883,1.4115302633338919e-05
|
||||
1,1.8845427894274394,1.8845427894274394,-0.2938156750679016,0.6103333305994669
|
||||
2,1.467399939886729,1.467399939886729,-0.3004071984608968,0.8552583735783895
|
||||
3,1.3906279939015707,1.3906279939015707,-0.3001615686416626,0.9186650776545207
|
||||
4,1.3625147614161173,1.3625147614161173,-0.2994904435475667,0.9339748060862223
|
||||
5,1.3512904654184976,1.3512904654184976,-0.29837757102648416,0.917125739256541
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
epoch,generator,adversarial,diversity,discriminator
|
||||
1,4.073459280141194,4.48742034072876,-0.4139610550562541,2.2277594858314842e-05
|
||||
2,4.556306339263916,4.980417476145426,-0.4241111308892568,6.92474058305379e-06
|
||||
3,4.663601414998372,5.0912053082784015,-0.42760391337076825,4.824752171892518e-06
|
||||
4,4.601830291493734,5.031373355865479,-0.42954305254618325,4.1199866602255495e-06
|
||||
5,4.665722238413493,5.104604846191406,-0.4388826152801514,3.713102867671599e-06
|
||||
1,1.698524040857951,1.99391873254776,-0.295394695409139,0.6109893366177876
|
||||
2,1.1882508003234864,1.4905863542874653,-0.3023355525970459,0.8262079038302104
|
||||
3,1.1038317825317383,1.4053670434633891,-0.3015352600415548,0.8900910706837972
|
||||
4,1.0793432936350504,1.379725065612793,-0.30038177541097005,0.9296226150830587
|
||||
5,1.0750859638214112,1.3745220242182414,-0.2994360567092896,0.9623658214886983
|
||||
|
||||
|
|
Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 95 KiB |
|
Before Width: | Height: | Size: 214 KiB After Width: | Height: | Size: 97 KiB |
|
Before Width: | Height: | Size: 160 KiB After Width: | Height: | Size: 160 KiB |
@@ -1,6 +1,6 @@
|
||||
Configuration,Lambda diversity,mode_count,normalized_entropy,classifier_confidence,feature_diversity,within_class_diversity,Recovery seconds
|
||||
Collapsed start,,1,0.010357953608036041,0.9805793166160583,16.11749267578125,11.458220958709717,
|
||||
lambda=0,0.0,1,0.021068770438432693,0.9541524648666382,16.436365127563477,11.539350509643555,775.4761435985565
|
||||
lambda=0.1,0.1,2,0.05791272968053818,0.9331758618354797,16.686689376831055,11.85418701171875,772.15576171875
|
||||
lambda=0.5,0.5,2,0.052982352674007416,0.9251078963279724,17.057252883911133,12.603004455566406,753.808944940567
|
||||
lambda=1,1.0,2,0.04722726345062256,0.9086208939552307,17.2882137298584,13.533077716827393,775.8287467956543
|
||||
Collapsed start,,2,0.36685988306999207,0.9706274271011353,32.05898666381836,25.954302549362183,
|
||||
lambda=0,0.0,10,0.9840676784515381,0.9123238325119019,50.957305908203125,37.81598720550537,18.872541427612305
|
||||
lambda=0.1,0.1,10,0.9851677417755127,0.9086157083511353,50.7574577331543,37.948602485656735,18.69113826751709
|
||||
lambda=0.5,0.5,10,0.9865411520004272,0.9114605188369751,50.256011962890625,37.34092845916748,18.764385223388672
|
||||
lambda=1,1.0,10,0.9875771999359131,0.9121829867362976,50.82931900024414,38.14074840545654,18.40188217163086
|
||||
|
||||
|
@@ -2,10 +2,10 @@
|
||||
\toprule
|
||||
Configuration & $\lambda_{div}$ & Modes & Entropy & Confidence & Feature diversity & Within-class diversity \\
|
||||
\midrule
|
||||
Collapsed start & NaN & 1 & 0.010 & 0.981 & 16.117 & 11.458 \\
|
||||
lambda=0 & 0.000 & 1 & 0.021 & 0.954 & 16.436 & 11.539 \\
|
||||
lambda=0.1 & 0.100 & 2 & 0.058 & 0.933 & 16.687 & 11.854 \\
|
||||
lambda=0.5 & 0.500 & 2 & 0.053 & 0.925 & 17.057 & 12.603 \\
|
||||
lambda=1 & 1.000 & 2 & 0.047 & 0.909 & 17.288 & 13.533 \\
|
||||
Collapsed start & NaN & 2 & 0.367 & 0.971 & 32.059 & 25.954 \\
|
||||
lambda=0 & 0.000 & 10 & 0.984 & 0.912 & 50.957 & 37.816 \\
|
||||
lambda=0.1 & 0.100 & 10 & 0.985 & 0.909 & 50.757 & 37.949 \\
|
||||
lambda=0.5 & 0.500 & 10 & 0.987 & 0.911 & 50.256 & 37.341 \\
|
||||
lambda=1 & 1.000 & 10 & 0.988 & 0.912 & 50.829 & 38.141 \\
|
||||
\bottomrule
|
||||
\end{tabular}
|
||||
|
||||