La Red de Conocimientos Pedagógicos - Currículum vitae - Entendiendo a Gan

Entendiendo a Gan

El generador (G) es el fabricante de moneda falsificada y el discriminador (D) es responsable de identificar la moneda falsificada. El primero intenta salir del paso y el segundo intenta identificar si la moneda es genuina (de la muestra original) o falsa (de la muestra generada por el generador). El juego izquierda-derecha entre los dos finalmente llega a un equilibrio: el generador puede ser falso o verdadero (o la muestra generada no es peor que la muestra original), mientras que el discriminador adivina con una probabilidad de 1/2.

La estructura principal de GAN incluye el generador G (generador) y el discriminador D (discriminador).

Escribamos un ejemplo para explorar más a fondo la estructura de GAN.

Ahora tenemos una gran cantidad de conjuntos de datos de dígitos escritos a mano y esperamos generar algunas imágenes escritas a mano a través de GAN. Consta principalmente de las dos partes siguientes:

Comprensión de la función objetivo:

La tarea del discriminador D es maximizar la función de la derecha y la tarea del generador G es minimizar la función en la función correcta.

Primero descomponga la siguiente fórmula, que incluye principalmente: D(x), (1-D(G(z))).

D(x) es el discriminador D pensando que la muestra proviene del original La probabilidad de la distribución, D(G(z)), es la probabilidad de que el discriminador D identifique erróneamente una muestra falsa del generador G como verdadera. Entonces la tarea de D es maximizar. D(x) y minimizar D(G(z). ))(Es decir, maximizar 1-D(G(z)), por lo que es una maximización integral de D(x)(1-D(G(z) )), sin cambios en el aumento o la disminución, lo cual es conveniente para el registro.

G debe ser lo suficientemente similar, es decir, D(G(z)) es lo suficientemente grande y logD(x) tiene; no tiene impacto en sí mismo, por lo que su función de medida puede ser solo min{log(1-D(z)) }, también puedes agregarle una constante para cambiarla

La derivación y el origen de. función objetivo

El discriminador aquí es un clasificador, que se utiliza para distinguir la autenticidad de las muestras, por lo que a menudo usamos entropía cruzada para determinar la similitud de las distribuciones. La fórmula de entropía cruzada es la siguiente:

La suma en la fórmula es la distribución de la muestra real y la distribución generada por el generador

En el caso del modelo actual, el discriminador es un problema de clasificación binaria, por lo que la entropía cruzada básica puede ser ampliado más específicamente de la siguiente manera:

Para la distribución de muestra correcta, entonces el () correspondiente es la muestra generada. La distribución de d representa el discriminador, que representa la probabilidad de juzgar la muestra correctamente, que corresponde a. la probabilidad de juzgar incorrectamente la muestra.

Después de extender la fórmula anterior a n muestras, se agregan las n muestras correspondientes. La fórmula es la siguiente:

Hasta ahora, todavía es. una clasificación binaria básica. Agreguemos algunas características especiales de GAN.

Para los puntos de muestra en GAN, corresponden a dos fuentes, ya sea de muestras reales o de muestras generadas por el generador (aquí, el ruido). prevalecerá la distribución arrojada al generador)

Entre ellas, las muestras del mundo real deben considerarse como la distribución correcta. A partir de la muestra generada, debemos juzgar que es una distribución de error (). la forma esperada de la distribución de probabilidad para escribir más la fórmula anterior (para representar la situación de muestra infinita, que es equivalente a la situación de suma de muestra infinita), sea 1/2 y use el método de representación para generar muestras de la siguiente manera :

De hecho, es la misma que la receta original.

Dada la distribución de los datos de una muestra y la distribución de los datos generados, GAN espera encontrar un conjunto de parámetros. minimiza la distancia entre la distribución y, es decir, encuentra un conjunto de parámetros del generador que permite al generador generar imágenes muy realistas.

Ahora podemos extraer un conjunto de imágenes reales del conjunto de entrenamiento para entrenar. parámetros de distribución en, acercándola a la distribución verdadera. Por lo tanto, ahora extraemos una muestra verdadera {} de la muestra y, para cada muestra verdadera, podemos calcular la probabilidad de que esta muestra aparezca en la distribución generada determinada por. nosotros La función de probabilidad se puede construir:

A partir de la función de probabilidad, podemos saber que los valores de probabilidad de todas las muestras reales que extraemos de la distribución se pueden expresar como l Y porque si la distribución y. las distribuciones son similares, entonces es probable que los datos reales aparezcan en la distribución, por lo que la probabilidad de que todas las muestras aparezcan en la distribución será alta.

A continuación, podemos maximizar la función de verosimilitud L y encontrar la distribución generacional más cercana a la distribución verdadera (es decir, el parámetro óptimo θ):

En la derivación anterior, esperamos Maximizar la función de probabilidad l. Si la función de probabilidad es logarítmica, entonces el producto acumulativo ∏ se puede convertir en σ acumulativo. Este proceso no cambiará los resultados de la optimización.

Por lo tanto, podemos transformar la estimación de máxima verosimilitud en θ que maximiza la expectativa, y la expectativa se puede expandir a una forma integral en Integral con θ. Después de sumar esta integral, podemos combinar las dos integrales para construir una forma similar a la divergencia KL. El proceso es el siguiente:

Esta integral es la forma integral de divergencia KL. Por lo tanto, si necesitamos parámetros θ que hagan que la distribución generada sea lo más cercana posible a la distribución verdadera, entonces solo necesitamos parámetros θ que minimicen la divergencia KL. Si se obtienen los parámetros óptimos θ, las imágenes producidas por el generador parecerán muy realistas.

El siguiente paso es demostrar que el problema de optimización tiene una solución única G*, y la solución única satisface. Sin embargo, antes de comenzar a derivar el discriminador óptimo y el generador óptimo, debemos comprender las opiniones de Scott Rome sobre la derivación del artículo original. Creía que el artículo original ignoraba la condición de reversibilidad, por lo que la derivación de la solución óptima estaba incompleta.

En el artículo original de Gan, hay una idea que es diferente de muchos otros métodos, es decir, el generador g no necesita satisfacer la condición de reversibilidad. Scott Roman cree que esto es muy importante porque en la práctica G es irreversible. Sin embargo, muchas notas de prueba ignoran este punto y utilizan erróneamente la fórmula de sustitución integral en la prueba, y la sustitución integral se basa precisamente en la condición reversible de g. Scott cree que la prueba solo puede basarse en la siguiente ecuación:

Esta ecuación proviene del teorema de Radon-Nikodym en la teoría de la medida, que se muestra en la Proposición 1 del artículo original y se expresa como la siguiente ecuación:

Vemos que la fórmula de sustitución integral es utilizado en las notas de clase, pero las sustituciones integrales deben calcularse y no se supone que exista la inversa de G. En la práctica de las redes neuronales, esto no existe. Quizás este enfoque sea tan común en la literatura sobre aprendizaje automático y estadística que lo ignoramos.

En el primer paso del juego maximin, dado el generador G, el discriminador óptimo D se obtiene maximizando V(D, G). Maximice V(D,G) para calcular la diferencia o distancia entre P_G y P_data. Porque en el artículo original, la función de valor se puede escribir como una integral en x, es decir, la expectativa matemática se expande a una forma integral:

De hecho, encontrar el valor máximo de la integral puede ser transformado para encontrar el valor máximo de la función integrando. El propósito de encontrar el valor máximo del integrando es encontrar el discriminador óptimo D, por lo que cualquier término que no involucre al discriminador puede considerarse como un término constante. Como se muestra en la figura siguiente, P_data(x) y P_G(x) son escalares, por lo que el integrando se puede expresar como D(x)+b log(1-D(x)).

Si el discriminador D(x) es igual a y, entonces el integrando se puede escribir como:

Para encontrar el punto extremo óptimo, si a+b≠0, podemos usar lo siguiente Usa la primera derivada para resolver:

Si continuamos buscando la segunda derivada de la expresión f(y) en el punto estacionario:

donde a, b∈(0, 1). Como la primera derivada es igual a cero y la segunda derivada es menor que cero, sabemos que a/(a+b) es el valor máximo. Si a=P_data(x) y b=P_G(x) se sustituyen en este valor extremo, entonces el discriminador óptimo d(x)= P _ data(x)/(P _ ​​​​data(x)+P _ G (x) )).

Finalmente, podemos escribir la expresión de la función de valor como:

Si dejamos que D(x)=P_data/(P_data+p_G), entonces podemos maximizar la función de valor V( G, D). Debido a que f(y) tiene un valor máximo único en el dominio de definición, el D óptimo también es único y ningún otro D puede alcanzar el valor máximo.

De hecho, la d óptima no es calculable en la práctica, pero es muy importante en matemáticas. No conocemos P_data(x) a priori, por lo que nunca se utilizará en el entrenamiento. Por otro lado, su existencia nos permite demostrar la existencia del G óptimo, sólo necesitamos aproximar D durante el entrenamiento.

Por supuesto, el objetivo del proceso GAN es hacer que P_G=P_data. ¿Qué significa esto para D óptimo? Podemos sustituir esta ecuación en la expresión de D_G*:

Esto significa que el discriminador está completamente confundido y no puede diferenciar en absoluto entre P_data y P_G. Es decir, la probabilidad de juzgar que viene la muestra. de P_data y P_G es 1/2. Basándose en este punto de vista, el autor Gan demostró que G es la solución de juegos máximos y mínimos.

El teorema es el siguiente:

“Si y sólo si P_G=P_data, se puede alcanzar el punto mínimo global del estándar de entrenamiento C(G)=maxV(G, D)”.

El teorema anterior es el segundo paso del juego maximin, que consiste en encontrar el generador G que minimice V (G, D) (donde G representa el discriminador óptimo). La razón por la que la función de valor se puede minimizar cuando P_G (x) = P_data (x) es porque el JSD (p_data (x) || p_g (x)) de las dos distribuciones es igual a cero en este momento. Este proceso se explica en detalle a continuación.

El teorema del artículo original es una afirmación de "si y sólo si", por lo que debe demostrarse desde dos direcciones. Primero acerque y pruebe el valor de C (G) desde la dirección inversa, y luego utilice el nuevo conocimiento obtenido en la dirección inversa para probarlo desde la dirección directa. Suponiendo P_G=P_data (lo contrario significa conocer las condiciones óptimas de antemano y derivarlas), podemos deducir a la inversa:

Este valor es un valor candidato para el mínimo global porque solo aparece cuando P_G=P_data. Ahora necesitamos demostrar positivamente que este valor es a menudo el valor mínimo, es decir, satisface las condiciones "si" y "sólo si". Ahora abandonemos la suposición de que P_G=P_data, para cualquier G, podemos sustituir el discriminador óptimo D* obtenido en el paso anterior en C(G)=maxV(G, D):

Porque -log4 Ya Conociendo el candidato mínimo global, queremos construir un valor tal que log2 aparezca en la ecuación. Entonces podemos sumar o restar log2 a cada integral y luego multiplicar por la densidad de probabilidad. Esta es una técnica de prueba matemática muy común que no cambia la ecuación porque esencialmente solo estamos sumando 0 a la ecuación.

El objetivo principal de adoptar esta técnica es construir un formulario con divergencia log2 y JS. Después de simplificar la fórmula anterior, se puede obtener la siguiente expresión:

Debido a la definición de densidad de probabilidad, la integral de P_G y P_data en su dominio integral es igual a 1, es decir:

Además, según Para la definición de número, tenemos:

Entonces, sustituyendo esta ecuación, podemos escribir:

Ahora, si el lector lee divergencia KL (Kullback -Divergencia de Leibler), entonces encontraremos que cada punto es exactamente lo que es. Específicamente:

La divergencia KL no es negativa, por lo que podemos ver inmediatamente que -log4 es el mínimo global de C(G).

Si demostramos además que solo un G puede alcanzar este valor, ¿porque P_G=P_data se convertirá en C(G)=? El único punto de log4, para que se pueda completar toda la prueba.

Como se puede ver en el artículo anterior, la divergencia de KL es asimétrica, por lo que los dos términos de KL(P_data || (P_data+P_G)/2) en C(G) no se pueden intercambiar. se agrega otro término KL(P_G || (P_data+P_G)/2 al mismo tiempo, su suma puede convertirse en un término simétrico. La suma de estas dos divergencias KL se puede expresar como grado de divergencia JS (divergencia de Jenson-Shannon)) :

Supongamos que hay dos distribuciones P y Q, y la distribución promedio de estas dos distribuciones M = (P+Q)/2, entonces la divergencia JS entre las dos distribuciones es P y La divergencia KL entre M más la divergencia KL entre Q y M se divide por 2.

El valor de la divergencia JS es 0 a log2. Si las dos distribuciones son completamente independientes, entonces JS El valor máximo de la divergencia es log2; si las dos distribuciones son exactamente iguales, entonces el valor mínimo de la divergencia JS es 0.

Por lo tanto, según la definición de divergencia JS, C(G) se puede reescribir como:< /p. >

Esta divergencia es en realidad el cuadrado de la medida de distancia de Jensen-Shannon. Según sus propiedades: cuando P_G=P_data, JSD(P_data||P_G) es 0. En resumen, si y solo si El generador óptimo puede. se puede obtener solo cuando la distribución de generación es igual a la distribución de datos real.

Probamos que P_G=P_data es la mejor ventaja de MiNv(G,D). Además, el artículo original también lo demostró. Dados suficientes datos de entrenamiento y el entorno correcto, el proceso de entrenamiento convergerá al g óptimo.

Se demuestra que si V(G, D) = U(pg, D) se considera como una función de. pg, entonces. U es la función convexa de pg, y el subdiferencial de su supremo debe incluir la derivada en el valor máximo de esta función.

Por lo tanto, dado D, cuando se utiliza el algoritmo de descenso de gradiente para actualizar pg para optimizar G, PG definitivamente convergerá al valor óptimo. Anteriormente se demostró que la función objetivo tiene una sola solución óptima global, por lo que pg convergerá a pdata.

De hecho, al optimizar G, se actualiza θg en lugar de pg.

Enlace de referencia:

Generar una anti-red

Entendimiento popular de generar un artículo contra la red

El ingenio de GitHub Proyecto: Gan Derivación e implementación teórica completa, ¡perfecto!

Red adversarial generativa para la lectura en papel