Comprender la función de pérdida de GAN

17

Estoy luchando por comprender la función de pérdida de GAN como se proporciona en Understanding Generative Adversarial Networks (una publicación de blog escrita por Daniel Seita).

En la pérdida de entropía cruzada estándar, tenemos una salida que se ha ejecutado a través de una función sigmoidea y una clasificación binaria resultante.

Estados de Sieta

Por lo tanto, para [cada] punto de datos X1 y su etiqueta, obtenemos la siguiente función de pérdida ...

H((X1,y1),re)=-y1Iniciar sesiónre(X1)-(1-y1)Iniciar sesión(1-re(X1))

Esto es solo el registro de la expectativa, lo cual tiene sentido, pero ¿cómo podemos, en la función de pérdida de GAN, procesar los datos de la distribución verdadera y los datos del modelo generativo en la misma iteración?

tratando de aprender
fuente

Respuestas:

6

El enfoque de esta pregunta

"¿Cómo podemos ... procesar los datos de la distribución verdadera y los datos del modelo generativo en la misma iteración?

Analizando la Publicación Fundacional

En la página de referencia, Understanding Generative Adversarial Networks (2017) , el candidato doctoral Daniel Sieta hace referencia correcta a Generative Adversarial Networks, Goodfellow, Pouget-Abadie, Mirza, Xu, Warde-Farley, Ozair, Courville y Bengio, junio de 2014 . Sus estados abstractos son: "Proponemos un nuevo marco para estimar modelos generativos a través de un proceso de confrontación, en el que simultáneamente entrenamos dos modelos ..." Este documento original define dos modelos definidos como MLP (perceptrones multicapa).

  • Modelo generativo, G
  • Modelo discriminativo, D

Estos dos modelos se controlan de una manera en que uno proporciona una forma de retroalimentación negativa hacia el otro, por lo tanto, el término adversario.

  • G está entrenado para capturar la distribución de datos de un conjunto de ejemplos lo suficientemente bien como para engañar a D.
  • D está entrenado para descubrir si su entrada son simulacros de G o el conjunto de ejemplos para el sistema GAN.

(El conjunto de ejemplos para el sistema GAN a veces se denomina muestras reales, pero puede que no sean más reales que las generadas. Ambas son matrices numéricas en una computadora, una con un origen interno y la otra con una externa origen. Si los externos son de una cámara apuntando a alguna escena física no es relevante para la operación GAN).

Probablemente, engañar a D es sinónimo de maximizar la probabilidad de que D genere tantos falsos positivos y falsos negativos como categorizaciones correctas, 50% cada uno. En ciencia de la información, esto quiere decir que el límite de información que D tiene de G se aproxima a 0 cuando t se acerca al infinito. Es un proceso de maximizar la entropía de G desde la perspectiva de D, por lo tanto, el término entropía cruzada.

Cómo se logra la convergencia

Debido a que la función de pérdida reproducida de la escritura de Sieta de 2017 en la pregunta es la de D, diseñada para minimizar la entropía cruzada (o correlación) entre las dos distribuciones cuando se aplica al conjunto completo de puntos para un estado de entrenamiento dado.

H((X1,y1),re)=1re(X1)

Hay una función de pérdida separada para G, diseñada para maximizar la entropía cruzada. Observe que hay DOS niveles de granularidad de capacitación en el sistema.

  • El de los movimientos del juego en un juego de dos jugadores.
  • El de las muestras de entrenamiento

Estos producen iteraciones anidadas con la iteración externa de la siguiente manera.

  • El entrenamiento de G se realiza utilizando la función de pérdida de G.
  • Los patrones de entrada simulados se generan a partir de G en su estado actual de entrenamiento.
  • El entrenamiento de D procede usando la función de pérdida de D.
  • Repita si la entropía cruzada aún no está suficientemente maximizada, D aún puede discriminar.

Cuando D finalmente pierde el juego, hemos logrado nuestro objetivo.

  • G recuperó la distribución de datos de entrenamiento
  • D se ha reducido a ineficacia ("1/2 probabilidad en todas partes")

Por qué es necesaria la capacitación concurrente

Si los dos modelos no se entrenaron de un lado a otro para simular concurrencia, la convergencia en el plano de confrontación (la iteración externa) no se produciría en la solución única reclamada en el documento de 2014.

Más información

Más allá de la pregunta, el siguiente elemento de interés en el artículo de Sieta es que "un diseño deficiente de la función de pérdida del generador" puede conducir a valores de gradiente insuficientes para guiar el descenso y producir lo que a veces se denomina saturación. La saturación es simplemente la reducción de la señal de retroalimentación que guía el descenso en la retropropagación al ruido caótico que surge del redondeo de coma flotante. El término proviene de la teoría de la señal.

Sugiero estudiar el artículo de 2014 de Goodfellow et alia (los investigadores experimentados) para aprender sobre la tecnología GAN en lugar de la página de 2017.

Douglas Daseeco
fuente
3

Empecemos desde el principio. Las GAN son modelos que pueden aprender a crear datos similares a los que les proporcionamos.

Al entrenar un modelo generativo que no sea una GAN, la función de pérdida más fácil de encontrar es probablemente el error cuadrático medio (MSE).

Permítanme darles un ejemplo (Permítanme Trickot L 2017 ):

Ahora suponga que desea generar gatos; Puede dar a su modelo ejemplos de gatos específicos en fotos. Su elección de la función de pérdida significa que su modelo tiene que reproducir cada gato exactamente para evitar ser castigado.

¡Pero eso no es necesariamente lo que queremos! Solo desea que su modelo genere gatos, cualquier gato lo hará siempre que sea un gato plausible. Por lo tanto, debe cambiar su función de pérdida.

Sin embargo, ¿qué función podría ignorar los píxeles concretos y centrarse en detectar gatos en una foto?

Esa es una red neuronal. Este es el papel del discriminador en la GAN. El trabajo del discriminador es evaluar cuán plausible es una imagen.

El documento que cita, Comprender las redes adversarias generativas (Daniel S 2017) enumera dos ideas principales.

Perspectiva principal 1: la función de pérdida del discriminador es la función de pérdida de entropía cruzada.

Major Insight 2: comprender cómo la saturación de gradiente puede o no afectar negativamente al entrenamiento. La saturación de gradiente es un problema general cuando los gradientes son demasiado pequeños (es decir, cero) para realizar cualquier aprendizaje.

Para responder a su pregunta, necesitamos profundizar en la segunda idea principal.

En el contexto de las GAN, la saturación de gradiente puede ocurrir debido al diseño deficiente de la función de pérdida del generador, por lo que esta "visión importante" ... se basa en la comprensión de las compensaciones entre las diferentes funciones de pérdida para el generador.

El diseño implementado en el documento resuelve el problema de la función de pérdida al tener una función muy específica (discriminar entre dos clases). La mejor manera de hacerlo es mediante el uso de entropía cruzada (Insight 1). Como dice la publicación del blog:

La entropía cruzada es una gran función de pérdida, ya que está diseñada en parte para acelerar el aprendizaje y evitar la saturación de gradiente solo cuando el clasificador es correcto.

Como se aclara en los comentarios de la publicación del blog:

La expectativa [en la función de entropía cruzada] proviene de las sumas. Si observa la definición de expectativa para una variable aleatoria discreta, verá que necesita sumar diferentes valores posibles de la variable aleatoria, sopesando cada uno de ellos por su probabilidad. Aquí, las probabilidades son solo 1/2 para cada una, y podemos tratarlas como provenientes del generador o discriminador.

Seth Simba
fuente
La pregunta no preguntaba qué era más fácil de usar como una función de pérdida para los ANN. Los detalles de las matemáticas no estaban claros para @tryingtolearn y citar al estudiante de posgrado sin proporcionar ninguna aclaración no aclara.
FauChristian
1

Puede tratar una combinación de zentrada y xentrada como una sola muestra, y evalúa qué tan bien el discriminador realizó la clasificación de cada una de ellas.

Esta es la razón por la post más adelante en un solo separa yen E(p~data)e E(z)- Básicamente, usted tiene diferentes expectativas (y s) para cada una de las entradas del discriminador y hay que medir dos cosas al mismo tiempo para evaluar qué tan bien el discriminador está realizando.

Es por eso que la función de pérdida se concibe como una combinación de la clasificación positiva de la entrada real y la clasificación negativa de la entrada negativa.

Alfa
fuente