Propuesta de variante de red generativa antagónica
La red generativa antagónica de Wasserstein (WGAN) es una variante de la red generativa antagónica (GAN) propuesta en 2017 que tiene como objetivo "mejorar la estabilidad del aprendizaje, eliminar problemas como el colapso de modos y proporcionar curvas de aprendizaje significativas útiles para la depuración y las búsquedas de hiperparámetros". [1] [2]
En comparación con el discriminador GAN original, el discriminador GAN de Wasserstein proporciona una mejor señal de aprendizaje al generador. Esto permite que el entrenamiento sea más estable cuando el generador está aprendiendo distribuciones en espacios de dimensiones muy altas.
Motivación
El juego GAN
El método GAN original se basa en el juego GAN, un juego de suma cero con 2 jugadores: generador y discriminador. El juego se define sobre un espacio de probabilidad , el conjunto de estrategias del generador es el conjunto de todas las medidas de probabilidad en , y el conjunto de estrategias del discriminador es el conjunto de funciones mensurables .
El objetivo del juego es que
el generador intente minimizarlo y el discriminador intente maximizarlo.
Teorema (el discriminador óptimo calcula la divergencia de Jensen-Shannon) : para cualquier estrategia de generador fija , sea la respuesta óptima , entonces
Repita el juego GAN muchas veces, cada vez con el generador moviéndose primero y el discriminador moviéndose segundo. Cada vez que el generador cambia, el discriminador debe adaptarse acercándose al ideal .
Como estamos realmente interesados en , la función discriminadora es en sí misma bastante poco interesante. Simplemente realiza un seguimiento de la relación de verosimilitud entre la distribución del generador y la distribución de referencia. En el equilibrio, el discriminador simplemente produce constantemente, habiendo renunciado a intentar percibir cualquier diferencia. [nota 1]
Concretamente, en el juego GAN, arreglemos un generador y mejoremos el discriminador paso a paso, siendo el discriminador en el paso . Entonces (idealmente) tenemos por lo que vemos que el discriminador es en realidad de límite inferior .
Distancia de Wasserstein
De este modo, vemos que el objetivo del discriminador es principalmente servir de crítico para proporcionar retroalimentación al generador sobre "qué tan lejos está de la perfección", donde "lejos" se define como la divergencia de Jensen-Shannon.
Naturalmente, esto conlleva la posibilidad de utilizar un criterio de lejanía diferente. Hay muchas divergencias posibles entre las que elegir, como la familia de divergencias f , que daría lugar a la f-GAN. [3]
La GAN de Wasserstein se obtiene utilizando la métrica de Wasserstein , que satisface un "teorema de representación dual" que hace que sea altamente eficiente calcular:
Teorema (dualidad de Kantorovich-Rubenstein) : Cuando el espacio de probabilidad es un espacio métrico, entonces, para cualquier fijo ,
donde es la norma de Lipschitz .
El conjunto de estrategias del discriminador es el conjunto de funciones mensurables de tipo con norma de Lipschitz acotada: .
El juego GAN de Wasserstein es un juego de suma cero , con función objetivo
El generador va primero y el discriminador después. El generador tiene como objetivo minimizar el objetivo y el discriminador tiene como objetivo maximizar el objetivo:
Por la dualidad Kantorovich-Rubenstein, para cualquier estrategia de generador , la respuesta óptima del discriminador es , tal que En consecuencia, si el discriminador es bueno, el generador se vería constantemente impulsado a minimizar , y la estrategia óptima para el generador es simplemente , como debería.
Comparación con GAN
En el juego GAN de Wasserstein, el discriminador proporciona un mejor gradiente que en el juego GAN.
Consideremos, por ejemplo, un juego en la línea real donde tanto como son gaussianos. Entonces, el crítico de Wasserstein óptimo y el discriminador GAN óptimo se representan gráficamente de la siguiente manera:
Para el discriminador fijo, el generador debe minimizar los siguientes objetivos:
Como se muestra, el generador en GAN está motivado para dejar que su "deslizamiento hacia abajo del pico" de . Lo mismo ocurre con el generador en Wasserstein GAN.
En el caso de la GAN de Wasserstein, el gradiente es 1 en casi todas partes, mientras que en el caso de la GAN, el gradiente es plano en el medio y pronunciado en el resto. Como resultado, la varianza del estimador en la GAN suele ser mucho mayor que en la GAN de Wasserstein. Véase también la Figura 3 de [1] .
El problema con es mucho más grave en situaciones reales de aprendizaje automático. Considere entrenar una GAN para generar ImageNet , una colección de fotos de tamaño 256 por 256. El espacio de todas esas fotos es , y la distribución de imágenes ImageNet, , se concentra en una variedad de dimensión mucho menor en él. En consecuencia, cualquier estrategia de generador casi seguramente estaría completamente disjunta de , lo que hace que . Por lo tanto, un buen discriminador puede distinguir casi perfectamente de , así como cualquier cerca de . Por lo tanto, el gradiente , no crea ninguna señal de aprendizaje para el generador.
Se pueden encontrar teoremas detallados en [4] .
Entrenamiento de GAN de Wasserstein
El entrenamiento del generador en Wasserstein GAN es simplemente un descenso de gradiente , igual que en GAN (o la mayoría de los métodos de aprendizaje profundo), pero el entrenamiento del discriminador es diferente, ya que el discriminador ahora está restringido a tener una norma de Lipschitz acotada. Hay varios métodos para esto.
Limitación superior de la norma de Lipschitz
Sea la función discriminadora que se va a implementar mediante un perceptrón multicapa : donde , y es una función de activación fija con . Por ejemplo, la función tangente hiperbólica satisface el requisito.
Entonces, para cualquier , sea , tenemos por la regla de la cadena : Por lo tanto, la norma de Lipschitz de está limitada superiormente por donde es la norma del operador de la matriz, es decir, el valor singular más grande de la matriz, es decir, el radio espectral de la matriz (estos conceptos son los mismos para las matrices, pero diferentes para los operadores lineales generales ).
Como , tenemos , y en consecuencia el límite superior: Por lo tanto, si podemos limitar superiormente las normas del operador de cada matriz, podemos limitar superiormente la norma de Lipschitz de .
Recorte de peso
Dado que para cualquier matriz , sea , tenemos que al recortar todas las entradas de a dentro de algún intervalo , tenemos que podemos limitar .
Éste es el método de recorte de peso propuesto en el artículo original. [1]
Normalización espectral
El radio espectral se puede calcular eficientemente mediante el siguiente algoritmo:
Matriz de ENTRADA y estimación inicial
Iterar hasta la convergencia . Este es el vector propio de con valor propio .
DEVOLVER
Al reasignar después de cada actualización del discriminador, podemos establecer un límite superior y, por lo tanto, un límite superior .
El algoritmo se puede acelerar aún más mediante la memorización : en el paso , almacenar . Luego, en el paso , utilizar como estimación inicial para el algoritmo. Dado que está muy cerca de , entonces está cerca de , por lo que esto permite una convergencia rápida.
Este es el método de normalización espectral. [5]
Penalización por gradiente
En lugar de limitar estrictamente , podemos simplemente agregar un término de "penalización de gradiente" para el discriminador, de la forma donde es una distribución fija utilizada para estimar cuánto ha violado el discriminador el requisito de la norma de Lipschitz. El discriminador, al intentar minimizar la nueva función de pérdida, naturalmente se acercaría a en todas partes, haciendo así .
Éste es el método de penalización de gradiente. [6]
Lectura adicional
De GAN a WGAN
GAN de Wasserstein y la dualidad Kantorovich-Rubinstein
^ abc Arjovsky, Martin; Chintala, Soumith; Bottou, Léon (17 de julio de 2017). "Redes generativas adversarias de Wasserstein". Conferencia internacional sobre aprendizaje automático . PMLR: 214–223.
^ Weng, Lilian (18 de abril de 2019). "De GAN a WGAN". arXiv : 1904.08994 [cs.LG].
^ Nowozin, Sebastian; Cseke, Botond; Tomioka, Ryota (2016). "f-GAN: Entrenamiento de muestreadores neuronales generativos mediante minimización de divergencia variacional". Avances en sistemas de procesamiento de información neuronal . 29 . Curran Associates, Inc. arXiv : 1606.00709 .
^ Arjovsky, Martin; Bottou, Léon (1 de enero de 2017). "Hacia métodos basados en principios para el entrenamiento de redes generativas antagónicas". arXiv : 1701.04862 .{{cite journal}}: Requiere citar revista |journal=( ayuda )
^ Miyato, Takeru; Kataoka, Toshiki; Koyama, Masanori; Yoshida, Yuichi (16 de febrero de 2018). "Normalización espectral para redes generativas adversarias". arXiv : 1802.05957 [cs.LG].
^ Gulrajani, Ishaan; Ahmed, Faruk; Arjovsky, Martin; Dumoulin, Vincent; Courville, Aaron C (2017). "Entrenamiento mejorado de las GAN de Wasserstein". Avances en sistemas de procesamiento de información neuronal . 30 . Curran Associates, Inc.
Notas
^ En la práctica, el generador nunca podría alcanzar una imitación perfecta, por lo que el discriminador tendría motivación para percibir la diferencia, lo que le permite ser utilizado para otras tareas, como realizar la clasificación ImageNet sin supervisión .
^ En la práctica no es así como se hace, pues en general es intratable, pero teóricamente resulta esclarecedor.