La proximidad de la puntuación inicial como criterio de evaluación

Introducción

En los últimos años, las Redes Generativas Adversarias (GAN) han logrado resultados notables en la síntesis automática de imágenes. Sin embargo, evaluar objetivamente la calidad de los datos generados sigue siendo un desafío abierto. A diferencia de los modelos discriminativos, para los cuales existen métricas establecidas, los modelos generativos requieren criterios de evaluación capaces de medir tanto la calidad visual como la diversidad de las muestras producidas.

Una de las primeras métricas utilizadas fue el Inception Score (IS). Basado en las predicciones de una red Inception previamente entrenada, Inception Score proporciona una estimación cuantitativa de la capacidad de un modelo generativo para producir imágenes realistas y semánticamente significativas.

En este artículo analizamos la idea detrás de este parámetro y una forma de entender su validez, analizando las limitaciones que han llevado al uso de otras métricas de evaluación.

1. ¿Qué es una red generativa adversa (GAN)?

La red se puede definir como un framework de Deep Learning que, dada una distribución de datos inicial (Training Set), permite generar nuevos datos (datos sintéticos) con características similares a la distribución inicial.

Por lo general, para abstraer el concepto de GAN, podemos referirnos a la metáfora del “falsificador y crítico de arte”. El falsificador (Generador) tiene como objetivo pintar cuadros (datos sintéticos) que sean lo más similares posible a los auténticos (Conjunto de entrenamiento). Por otro lado, el crítico de arte (Discriminador) pretende distinguir qué cuadros fueron pintados por el falsificador y cuáles son auténticos. Como puedes imaginar, el objetivo final del falsificador es engañar al crítico de arte, o mejor dicho, pintar cuadros que el crítico de arte reconozca como auténticos.

En las primeras etapas, el falsificador no sabe cómo engañar al crítico, por lo que le resultará relativamente fácil reconocer las falsificaciones. Pero paso a paso, gracias a la retroalimentación de la crítica, el falsificador podrá comprender sus errores y mejorar, hasta lograr su objetivo.

Traduciendo esta metáfora a términos prácticos, una GAN consta de dos agentes:

Imagen del autor

Generador (G): se encarga de reproducir los datos sintéticos. Recibe un vector de ruido z como entrada, generalmente extraído de una distribución normal N(0,1) con una media de 0 y una varianza de 1. Este vector pasará a través del generador, que devolverá una “Imagen generada”. La forma de embudo del generador no es aleatoria. De hecho, G realiza un proceso de muestreo ascendente: supongamos que z tiene un tamaño [1,300]; a medida que pasa por las distintas capas del generador, su tamaño aumenta hasta convertirse en una imagen con dimensiones [64,64,3]. Discriminatore (D): discrimina o más bien clasifica qué datos pertenecen a la distribución real y cuáles son datos sintéticos. A diferencia del Generador, el discriminador realiza un proceso de muestreo descendente: supongamos que la imagen de entrada tiene dimensiones [64,64,3]; el discriminador extraerá características como bordes, colores, etc., hasta que devuelva un valor de 0 (imagen falsa) o 1 (imagen real)

El vector z juega un papel importante. De hecho, una propiedad del generador es que produce imágenes con características diferentes. En otras palabras, no queremos que G produzca siempre la misma pintura o similares (modo colapso).

Para que esto suceda, necesito que mi vector z tenga valores diferentes. Estos activarán los pesos del generador de manera diferente, produciendo diferentes características de salida.

2. Puntuación inicial (IS)

Una de las mejores “métricas” para evaluar una red GAN es sin duda el ojo humano. Pero… ¿qué parámetros utilizamos para evaluar una red generativa? Los parámetros importantes son ciertamente la calidad y diversidad de las imágenes generadas: (i) La calidad se refiere a qué tan buena es una imagen. Por ejemplo, si hemos entrenado nuestro generador para que produzca imágenes de perros, el ojo humano debe reconocer la presencia de un perro en la imagen producida. (ii) La diversidad se refiere a la capacidad de la red para producir diferentes imágenes. Siguiendo con nuestro ejemplo, los perros deben estar representados en diferentes ambientes, con diferentes razas y poses.

Evidentemente, evaluar “a mano” todas las imágenes posibles producidas por un generador se vuelve difícil. La puntuación inicial (IS) viene en nuestra ayuda. El IS es una métrica utilizada para determinar la calidad de una red GAN en la generación de imágenes. Su nombre deriva del uso de la red de clasificación Inception desarrollada por Google y previamente entrenada en el conjunto de datos ImageNet (1000 clases). En particular, el SI considera tanto las propiedades de calidad como de diversidad mencionadas anteriormente, a través de dos tipos de probabilidad. Las dos distribuciones de probabilidad se obtienen considerando un lote de aproximadamente 50.000 imágenes generadas y los resultados de la última capa de clasificación de la red.

Probabilidad condicional (Pc): La probabilidad condicional se refiere a la capacidad de G para generar imágenes con sujetos bien definidos, es decir, a la calidad de la imagen. Las imágenes se clasifican como fuertemente pertenecientes a una clase específica. Aquí, la entropía es baja (efecto sorpresa bajo), o más bien, la distribución de clasificación se concentra en una sola clase. Las dimensiones de la PC son [batch,1000]. Probabilidad marginal (Pm): La probabilidad marginal nos permite entender si el generador es capaz de generar imágenes con diferentes características. Si este no fuera el caso, podríamos tener un síntoma de colapso modal, es decir, el generador siempre produce imágenes idénticas entre sí. La probabilidad marginal se obtiene considerando Pc y calculando el promedio en el eje 0 (para lo cual calculamos el promedio en el lote). En este caso, la distribución de clasificación debe ser una distribución uniforme. Las dimensiones de Pm son [1,1000].

En la imagen se muestra un ejemplo de lo explicado.

Imagen del autor

El último paso es combinar las dos probabilidades. Esta fase se lleva a cabo calculando la distancia KL (Kullback-Leibler) entre Pc y Pm y promediando el número de ejemplos utilizados. En otras palabras, considerando i-ésimo el i-ésimo vector de Pc, vemos cuánto se desvía la probabilidad condicional de la i-ésima imagen del promedio.

El resultado deseado es que esta distancia sea alta. De hecho:

Suponiendo que el generador produce imágenes consistentes, entonces, para cada imagen, la probabilidad condicional se concentra en una sola clase. Si el generador no presenta colapso modal, las imágenes se clasifican en diferentes clases.

Y aquí surge una pregunta: ¿Alto comparado con qué?

3. Barrio de datos sintéticos

Sea ISᵣₑₐₗ la puntuación inicial calculada en el conjunto de datos de prueba y ISₛ​ la calculada en los datos generados. Un modelo generativo puede considerarse satisfactorio cuando:

o mejor cuando la puntuación inicial de los datos sintéticos es cercana a la de los datos reales, lo que sugiere que el modelo reproduce correctamente la distribución de etiquetas y la complejidad visual del conjunto de datos original.

3.1. Limitaciones

La introducción de la vecindad de datos sintéticos tiene como objetivo proporcionar un punto de referencia para interpretar el valor obtenido. Esto puede ser particularmente significativo en los casos en los que el generador G está capacitado para producir imágenes que pertenecen a las 1000 clases en las que se entrenó la red Inception.

De hecho, dado que la red Inception utilizada para calcular el Inception Score se entrenó en el conjunto de datos ImageNet, que consta de 1000 clases genéricas, es posible que la distribución de las clases aprendidas por el generador G no esté representada directamente dentro de ese espacio semántico. Este aspecto puede limitar la interpretabilidad del puntaje inicial en el contexto específico del problema bajo consideración. En particular, la red Inception podría clasificar tanto las imágenes en el conjunto de datos de entrenamiento como las generadas por el modelo como pertenecientes a las mismas clases ImageNet, produciendo valores que no son consistentes (colapso de modo).

En otros escenarios, el puntaje inicial aún puede proporcionar una indicación preliminar de la calidad de los datos generados, pero aún es necesario combinar el puntaje inicial con otras métricas cuantitativas para obtener una evaluación más completa y confiable del desempeño del modelo generativo.