Antecedentes: ¿Qué es un modelo generativo?

¿Qué significa «generativo» en el nombre «Generative Adversarial Network»? «Generativo» describe una clase de modelos estadísticos que contrasta con los modelos discriminatorios.

Informalmente:

  • Los modelos generativos pueden generar nuevas instancias de datos.
  • Los modelos discriminativos discriminan entre diferentes tipos de instancias de datos.

Un modelo generativo podría generar nuevas fotos de animales que se parecen a los animales reales, mientras que un modelo discriminativo podría distinguir un perro de un gato. Los GAN son sólo un tipo de modelo generativo.

Más formalmente, dado un conjunto de instancias de datos X y un conjunto de etiquetas Y:

  • Los modelos generativos capturan la probabilidad conjunta p(X, Y), o simplementep(X) si no hay etiquetas.
  • Los modelos discriminativos capturan la probabilidad condicional p(Y | X).

Un modelo generativo incluye la distribución de los datos en sí, y le dice qué probabilidad tiene un ejemplo dado. Por ejemplo, los modelos que predicen la siguiente palabra en una secuencia son típicamente modelos generativos (normalmente mucho más simples que los GAN) porque pueden asignar una probabilidad a una secuencia de palabras.

Un modelo discriminativo ignora la cuestión de si una instancia dada es probable, y sólo le dice la probabilidad de que una etiqueta se aplique a la instancia.

Nótese que ésta es una definición muy general. Hay muchos tipos de modelos generativos. Los GAN son sólo un tipo de modelo generativo.

Modelación de probabilidades

Ningún tipo de modelo tiene que devolver un número que represente la aprobación. Se puede modelar la distribución de los datos imitando esa distribución.

Por ejemplo, un clasificador discriminativo como un árbol de decisión puede etiquetar una instancia sin asignar una probabilidad a esa etiqueta. Dicho clasificador seguiría siendo un modelo porque la distribución de todas las etiquetas predichas modelaría la distribución real de las etiquetas en los datos.

De forma similar, un modelo generativo puede modelar una distribución produciendo datos «falsos» convincentes que parecen extraídos de esa distribución.

Los modelos generativos son difíciles

Los modelos generativos abordan una tarea más difícil que los modelos discriminatorios análogos. Los modelos generativos tienen que modelar más.

Un modelo generativo para imágenes podría capturar correlaciones como «las cosas que se parecen a los barcos probablemente van a aparecer cerca de las cosas que se parecen al agua» y «es poco probable que los ojos aparezcan en las frentes». Se trata de distribuciones muy complicadas.

En cambio, un modelo discriminativo podría aprender la diferencia entre «velero» y «no velero» con sólo buscar unos pocos patrones reveladores. Podría ignorar muchas de las correlaciones que el modelo generativo debe acertar.

Los modelos discriminativos tratan de trazar límites en el espacio de datos, mientras que los modelos generativos tratan de modelar cómo se colocan los datos en todo el espacio. Por ejemplo, el siguiente diagrama muestra los modelos discriminativo y generativo de los dígitos manuscritos:

Dos gráficos, uno etiquetado como

Figura 1: Modelos discriminativo y generativo de los dígitos escritos a mano.

El modelo discriminativo trata de diferenciar entre los 0 y los 1 escritos a mano trazando una línea en el espacio de datos. Si acierta con la línea, puede distinguir los 0 de los 1 sin tener que modelar exactamente dónde se sitúan las instancias en el espacio de datos a cada lado de la línea.

En cambio, el modelo generativo intenta producir 1 y 0 convincentes generando dígitos que se acerquen a sus homólogos reales en el espacio de datos. Tiene que modelar la distribución en todo el espacio de datos.

Los GAN ofrecen una forma eficaz de entrenar estos modelos ricos para que se parezcan a una distribución real. Para entender cómo funcionan, tendremos que comprender la estructura básica de un GAN.

Comprueba tu comprensión: Modelos Generativos vs. Discriminativos

Tienes las puntuaciones de CI de 1000 personas. Usted modela la distribución de las puntuaciones de CI con el siguiente procedimiento:

  1. Lanza tres dados de seis caras.
  2. Multiplica la tirada por una constante w.
  3. Repítelo 100 veces y toma la media de todos los resultados.

Prueba diferentes valores de w hasta que el resultado de tu procedimiento sea igual a la media de las puntuaciones reales de CI. Es tu modelo un modelo generativo o un modelo discriminativo?

Modelo generativo
Correcto: con cada tirada estás generando efectivamente el CI de una persona imaginaria. Además, tu modelo generativo recoge el hecho de que las puntuaciones de CI se distribuyen normalmente (es decir, en una curva de campana).

Modelo discriminativo
Incorrecto: un modelo discriminativo análogo trataría de discriminar entre diferentes tipos de puntuaciones de CI. Por ejemplo, un modelo discriminativo podría intentar clasificar un CI como falso o real.

No hay suficiente información para saberlo.
Este modelo sí se ajusta a la definición de uno de nuestros dos tipos de modelos.

Un modelo devuelve una probabilidad cuando se le da una instancia de datos. Es este modelo un modelo generativo o un modelo discriminativo?
Modelo generativo
Un modelo generativo puede estimar la probabilidad de la instancia, y también la probabilidad de una etiqueta de clase.

Modelo discriminativo
Un modelo discriminativo puede estimar la probabilidad de que una instancia pertenezca a una clase.

No hay suficiente información para saberlo.
Tanto los modelos generativos como los discriminativos pueden estimar probabilidades (pero no tienen por qué hacerlo).

Leave a Reply