Una introducción amigable a las redes adversarias generativas

Hasta ahora, hemos estado hablando de modelos discriminativos cual asignar características de entrada x a etiquetas y y P(y/x) aproximada – Ley de Baye.

modelos generativos hacen lo contrario, intentan predecir características de entrada dadas las etiquetas. Suponiendo que la etiqueta dada es y, ¿cuál es la probabilidad de que veamos ciertas características x? Ellos aproximar la probabilidad conjunta de P(x e y).


Una introduccion amigable a las redes adversarias generativas





Redes adversarias generativas (GAN)

gan schema

fuente: O’Reilly

GANs

Componentes de una GAN:

1. Generador – Esta es una CNN inversa, en lugar de comprimir información a medida que avanzamos en una cadena de CNN y extraer características en la salida, esta red toma ruido aleatorio como características de entrada y genera una imagen en su salida.

2. Discriminador – El discriminador es una CNN que analiza las imágenes tanto del conjunto de entrenamiento como de la salida del Generador y las clasifica como reales (1) o falsas (0).

En general, tanto el generador como el discriminador tienen funciones inversas para optimizar. Donde el discriminador está tratando de minimizar la pérdida de entropía cruzada al predecir correctamente la imagen real frente a la falsa. El generador está tratando de maximizar esta pérdida (tratando de engañar al discriminador).

Analicemos algunas matemáticas simples de cómo el Generador y el Discriminador compiten entre sí:

Una introduccion amigable a las redes adversarias generativas

Observa la función de pérdida del Discriminador –

1. el primer termino es la salida del discriminador para una imagen de conjunto de entrenamiento (x) – desea que la salida del discriminador D(x) sea 1. Examinemos esto con el aspecto de la pérdida de registro:

1683523980 288 Una introduccion amigable a las redes adversarias generativas

log(D(x) o 1) es 0. Entonces, para la clasificación correcta de la imagen del conjunto de entrenamiento, la pérdida de registro será 0. Sin embargo, para el caso inverso – D(x) = 0 para una imagen del conjunto de entrenamiento , la pérdida será infinito negativo.

2. el segundo termino – log(1-D(G(z)), desea que el discriminador pueda identificar la imagen generada G(z) y la salida D(G(z)) = 0. En este caso, la pérdida será 0 Sin embargo, si se equivoca y considera que la imagen generada es real, log(0) es -ve infinito.

3. La red es fuertemente penalizada por clasificación incorrecta en ambos casos.

El discriminador está tratando de minimizar su pérdida por clasificación errónea al mismo tiempo, el generador está tratando de maximizar la pérdida del discriminador para su salida generada. Por lo tanto, el concepto está estrechamente relacionado con un juego min-max.

¿Qué está tratando de hacer aquí el discriminador?

Una introduccion amigable a las redes adversarias generativas

Fuente: Ian Goodfellow ’16 Presentación de OpenAI

  • El objetivo del discriminador se define en la diapositiva anterior (la relación), el discriminador está esencialmente tratando de diferenciar entre la entrada generada por el modelo y la entrada del conjunto de entrenamiento real.
  • Entonces, si pdata(x) = pmodel(x), entonces D(x) es 0.5. El discriminador no puede diferenciar entre falso y real. Este es el objetivo de la optimización aquí.
  • Nota: Al mismo tiempo, el generador intenta mover el modelo y la distribución de datos lo más cerca posible.

Mantente sintonizado para más..

Referencias:

https://skymind.ai/wiki/generative-adversarial-network-gan
https://medium.com/@jonathan_hui/gan-whats-generative-adversarial-networks-and-its-application-f39ed278ef09

Fuente del artículo

Deja un comentario