Articulo de referencia

GAN de Wasserstein

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 ap...

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 la búsqueda 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 aprende distribuciones en espacios de muy alta dimensionalidad.

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.(Ω,B,μrmiF){\displaystyle (\Omega,{\mathcal {B}},\mu _ {ref})}El conjunto de estrategias del generador es el conjunto de todas las medidas de probabilidad.μGRAMO{\displaystyle \mu _{G}}en(Ω,B){\displaystyle (\Omega,{\mathcal {B}})}y el conjunto de estrategias del discriminador es el conjunto de funciones medibles.D:Ω[0,1]{\displaystyle D:\Omega \to [0,1]}.

El objetivo del juego esL(μGRAMO,D):=miincógnitaμrmiF[lnD(incógnita)]+miincógnitaμGRAMO[ln(1D(incógnita))].{\displaystyle L(\mu _{G},D):=\mathbb {E} _{x\sim \mu _{ref}}[\ln D(x)]+\mathbb {E} _{x\sim \mu _{G}}[\ln(1-D(x))].} El generador pretende minimizarlo, y el discriminador pretende maximizarlo.

Un teorema básico del juego GAN establece que

Teorema (el discriminador óptimo calcula la divergencia de Jensen-Shannon) Para cualquier estrategia de generador fijo μGRAMO{\displaystyle \mu _{G}}, sea la respuesta óptimaD=argmáximoDL(μGRAMO,D){\displaystyle D^{*}=\arg \max _{D}L(\mu _{G},D)}, entonces

D(incógnita)=dμrmiFd(μrmiF+μGRAMO)L(μGRAMO,D)=2DJS(μrmiF;μGRAMO)2ln2,{\displaystyle {\begin{aligned}D^{*}(x)&={\frac {d\mu _{ref}}{d(\mu _{ref}+\mu _{G})}}\\L(\mu _{G},D^{*})&=2D_{JS}(\mu _{ref};\mu _{G})-2\ln 2,\end{aligned}}}

donde la derivada es la derivada de Radon-Nikodym , yDJS{\displaystyle D_{JS}}es la divergencia de Jensen-Shannon .

Repite el juego GAN muchas veces, cada vez con el generador moviéndose primero y el discriminador moviéndose segundo. Cada vez el generadorμGRAMO{\displaystyle \mu _{G}}cambios, el discriminador debe adaptarse acercándose al idealD(incógnita)=dμrmiFd(μrmiF+μGRAMO).{\displaystyle D^{*}(x)={\frac {d\mu _{ref}}{d(\mu _{ref}+\mu _{G})}}.} Dado que estamos realmente interesados ​​enμrmiF{\displaystyle \mu _{ref}}, la función discriminadoraD{\displaystyle D}es en sí mismo bastante poco interesante. Simplemente registra la razón de verosimilitud entre la distribución del generador y la distribución de referencia. En equilibrio, el discriminador simplemente está generando12{\displaystyle {\frac {1}{2}}}constantemente, habiendo renunciado a intentar percibir alguna diferencia. [ nota 1 ]

Concretamente, en el juego GAN, vamos a arreglar un generador.μGRAMO{\displaystyle \mu _{G}}y mejorar el discriminador paso a paso, conμD,t{\displaystyle \mu _{D,t}}ser el discriminador en el pasot{\displaystyle t}Entonces (idealmente) tenemosL(μGRAMO,μD,1)L(μGRAMO,μD,2)máximoμDL(μGRAMO,μD)=2DJS(μrmiFμGRAMO)2ln2,{\displaystyle L(\mu _{G},\mu _{D,1})\leq L(\mu _{G},\mu _{D,2})\leq \cdots \leq \max _{\mu _{D}}L(\mu _{G},\mu _{D})=2D_{JS}(\mu _{ref}\|\mu _{G})-2\ln 2,}Así vemos que el discriminador en realidad está limitando por debajo.DJS(μrmiFμGRAMO){\displaystyle D_{JS}(\mu _{ref}\|\mu _{G})}.

Distancia de Wasserstein

Así, vemos que la función del discriminador es principalmente la de un crítico que proporciona retroalimentación al generador sobre "cuán lejos está de la perfección", donde "lejos" se define como la divergencia de Jensen-Shannon.

Naturalmente, esto abre la posibilidad de utilizar un criterio de lejanía diferente. Hay muchas divergencias posibles para 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 la hace altamente eficiente para calcular:

Teorema (dualidad de Kantorovich-Rubenstein) Cuando el espacio de probabilidad Ω{\displaystyle \Omega }es un espacio métrico, entonces para cualquier fijoK>0{\displaystyle K>0},W1(μ,ν)=1KsorberFLKmiincógnitaμ[F(incógnita)]miyν[F(y)]{\displaystyle W_{1}(\mu ,\nu )={\frac {1}{K}}\sup _{\|f\|_{L}\leq K}\mathbb {E} _{x\sim \mu }[f(x)]-\mathbb {E} _{y\sim \nu }[f(y)]} dóndeL{\displaystyle \|\cdot \|_{L}}es la norma de Lipschitz .

La demostración se puede encontrar en la página principal sobre la métrica de Wasserstein .

Definición

Según la dualidad de Kantorovich-Rubenstein, la definición de Wasserstein GAN es clara:

Un juego GAN de Wasserstein se define mediante un espacio de probabilidad(Ω,B,μrmiF){\displaystyle (\Omega,{\mathcal {B}},\mu _ {ref})}, dóndeΩ{\displaystyle \Omega }es un espacio métrico y una constanteK>0{\displaystyle K>0}.

Hay dos jugadores: el generador y el discriminador (también llamado "crítico").

El conjunto de estrategias del generador es el conjunto de todas las medidas de probabilidad.μGRAMO{\displaystyle \mu _{G}}en(Ω,B){\displaystyle (\Omega,{\mathcal {B}})}.

El conjunto de estrategias del discriminador es el conjunto de funciones medibles de tipoD:ΩR{\displaystyle D:\Omega \to \mathbb {R} }con norma de Lipschitz acotada:DLK{\displaystyle \|D\|_{L}\leq K}.

El juego GAN de Wasserstein es un juego de suma cero , con función objetivoLWGRAMOAnorte(μGRAMO,D):=miincógnitaμGRAMO[D(incógnita)]miincógnitaμrmiF[D(incógnita)].{\displaystyle L_{WGAN}(\mu _{G},D):=\mathbb {E} _{x\sim \mu _{G}}[D(x)]-\mathbb {E} _{x\sim \mu _{ref}}[D(x)].}

El generador actúa primero y el discriminador después. El generador busca minimizar la función objetivo, y el discriminador busca maximizarla:minμGRAMOmáximoDLWGRAMOAnorte(μGRAMO,D).{\displaystyle \min _{\mu _{G}}\max _{D}L_{WGAN}(\mu _{G},D).}

Por la dualidad de Kantorovich-Rubenstein, para cualquier estrategia generadoraμGRAMO{\displaystyle \mu _{G}}La respuesta óptima del discriminador esD{\displaystyle D^{*}}, de tal manera queLWGRAMOAnorte(μGRAMO,D)=KW1(μGRAMO,μrmiF).{\displaystyle L_{WGAN}(\mu _{G},D^{*})=K\cdot W_{1}(\mu _{G},\mu _{ref}).}En consecuencia, si el discriminador es bueno, el generador se vería constantemente presionado para minimizarW1(μGRAMO,μrmiF){\displaystyle W_{1}(\mu _{G},\mu _{ref})}y la estrategia óptima para el generador es simplementeμGRAMO=μrmiF{\displaystyle \mu _{G}=\mu _{ref}}, como debe ser.

Comparación con GAN

En el juego GAN de Wasserstein, el discriminador proporciona un gradiente mejor que en el juego GAN.

Consideremos, por ejemplo, un juego en la recta real donde ambosμGRAMO{\displaystyle \mu _{G}}yμrmiF{\displaystyle \mu _{ref}}son gaussianas. Entonces el crítico de Wasserstein óptimoDWGRAMOAnorte{\displaystyle D_{WGAN}}y el discriminador GAN óptimoD{\displaystyle D}se representan gráficamente como se muestra a continuación:

El crítico óptimo de WassersteinDWGRAMOAnorte{\displaystyle D_{WGAN}}y el discriminador GAN óptimoD{\displaystyle D}para una distribución de referencia fijaμrmiF{\displaystyle \mu _{ref}}y distribución de generadoresμGRAMO{\displaystyle \mu _{G}}Tanto el crítico de Wasserstein como el crítico de WassersteinDWGRAMOAnorte{\displaystyle D_{WGAN}}y el discriminador GAND{\displaystyle D}se reducen de tamaño para ajustarse al gráfico.

Para un discriminador fijo, el generador necesita minimizar los siguientes objetivos:

  • Para GAN,miincógnitaμGRAMO[ln(1D(incógnita))]{\displaystyle \mathbb {E} _{x\sim \mu _{G}}[\ln(1-D(x))]}.
  • Para Wasserstein GAN,miincógnitaμGRAMO[DWGRAMOAnorte(incógnita)]{\displaystyle \mathbb {E} _{x\sim \mu _{G}}[D_{WGAN}(x)]}.

DejarμGRAMO{\displaystyle \mu _{G}}ser parametrizado porθ{\displaystyle \theta }, entonces podemos realizar un descenso de gradiente estocástico utilizando dos estimadores insesgados del gradiente:θmiincógnitaμGRAMO[ln(1D(incógnita))]=miincógnitaμGRAMO[ln(1D(incógnita))θlnρμGRAMO(incógnita)]{\displaystyle \nabla _{\theta }\mathbb {E} _{x\sim \mu _{G}}[\ln(1-D(x))]=\mathbb {E} _{x\sim \mu _{G}}[\ln(1-D(x))\cdot \nabla _{\theta }\ln \rho _{\mu _{G}}(x)]}θmiincógnitaμGRAMO[DWGRAMOAnorte(incógnita)]=miincógnitaμGRAMO[DWGRAMOAnorte(incógnita)θlnρμGRAMO(incógnita)]{\displaystyle \nabla _{\theta }\mathbb {E} _{x\sim \mu _{G}}[D_{WGAN}(x)]=\mathbb {E} _{x\sim \mu _{G}}[D_{WGAN}(x)\cdot \nabla _{\theta }\ln \rho _{\mu _{G}}(x)]}donde utilizamos el truco de reparametrización . [ nota 2 ]

La misma gráfica, pero con el discriminador GAN.D{\displaystyle D}reemplazado porln(1D){\displaystyle \ln(1-D)}(y reducido para ajustarse al gráfico)

Como se muestra, el generador en GAN está motivado para dejar que suμGRAMO{\displaystyle \mu _{G}}"deslizarse por la cima" deln(1D(incógnita)){\displaystyle \ln(1-D(x))}. Lo mismo ocurre con el generador en Wasserstein GAN.

Para Wasserstein GAN,DWGRAMOAnorte{\displaystyle D_{WGAN}}tiene gradiente 1 en casi todas partes, mientras que para GAN,ln(1D){\displaystyle \ln(1-D)}tiene un gradiente plano en el medio y un gradiente pronunciado en el resto. Como resultado, la varianza del estimador en GAN suele ser mucho mayor que la de Wasserstein GAN. Véase también la Figura 3 de [ 1 ] .

El problema conDJS{\displaystyle D_{JS}}es mucho más severo en situaciones reales de aprendizaje automático. Consideremos entrenar una GAN para generar ImageNet , una colección de fotos de tamaño 256 por 256. El espacio de todas esas fotos esR2562{\displaystyle \mathbb {R} ^{256^{2}}}y la distribución de imágenes de ImageNet,μrmiF{\displaystyle \mu _{ref}}, se concentra en una variedad de dimensión mucho menor en ella. En consecuencia, cualquier estrategia generadoraμGRAMO{\displaystyle \mu _{G}}casi con toda seguridad estaría completamente desvinculado deμrmiF{\displaystyle \mu _{ref}}, haciendoDJS(μGRAMOμrmiF)=+{\displaystyle D_{JS}(\mu _{G}\|\mu _{ref})=+\infty }Por lo tanto, un buen discriminador puede distinguir casi perfectamente.μrmiF{\displaystyle \mu _{ref}}deμGRAMO{\displaystyle \mu _{G}}, así como cualquierμGRAMO{\displaystyle \mu _{G}'}cerca deμGRAMO{\displaystyle \mu _{G}}Por lo tanto, el gradienteμGRAMOL(μGRAMO,D)0{\displaystyle \nabla _{\mu _{G}}L(\mu _{G},D)\approx 0}, sin generar ninguna señal de aprendizaje para el generador.

Los teoremas detallados se pueden encontrar en [ 4 ] .

Entrenamiento de GANs de Wasserstein

El entrenamiento del generador en Wasserstein GAN se basa simplemente en el descenso de gradiente , al igual que en GAN (o en la mayoría de los métodos de aprendizaje profundo), pero el entrenamiento del discriminador es diferente, ya que este último ahora está restringido a tener una norma de Lipschitz limitada. Existen varios métodos para ello.

Límite superior de la norma de Lipschitz

Sea la función discriminadoraD{\displaystyle D}que se implementará mediante un perceptrón multicapa :D=DnorteDnorte1D1{\displaystyle D=D_{n}\circ D_{n-1}\circ \cdots \circ D_{1}}dóndeDi(incógnita)=h(Wiincógnita){\displaystyle D_{i}(x)=h(W_{i}x)}, yh:RR{\displaystyle h:\mathbb {R} \to \mathbb {R} }es una función de activación fija consorberincógnita|h(incógnita)|1{\displaystyle \sup _{x}|h'(x)|\leq 1}Por ejemplo, la función tangente hiperbólicah=tanh{\displaystyle h=\tanh }Satisface el requisito.

Entonces, para cualquierincógnita{\displaystyle x}, dejarincógnitai=(DiDi1D1)(incógnita){\displaystyle x_{i}=(D_{i}\circ D_{i-1}\circ \cdots \circ D_{1})(x)}, tenemos por la regla de la cadena :dD(incógnita)=diagramo(h(Wnorteincógnitanorte1))Wnortediagramo(h(Wnorte1incógnitanorte2))Wnorte1diagramo(h(W1incógnita))W1dincógnita{\displaystyle dD(x)=diag(h'(W_{n}x_{n-1}))\cdot W_{n}\cdot diag(h'(W_{n-1}x_{n-2}))\cdot W_{n-1}\cdots diag(h'(W_{1}x))\cdot W_{1}\cdot dx}Así, la norma de Lipschitz deD{\displaystyle D}está limitado superiormente porDLsorberincógnitadiagramo(h(Wnorteincógnitanorte1))Wnortediagramo(h(Wnorte1incógnitanorte2))Wnorte1diagramo(h(W1incógnita))W1F{\displaystyle \|D\|_{L}\leq \sup _{x}\|diag(h'(W_{n}x_{n-1}))\cdot W_{n}\cdot diag(h'(W_{n-1}x_{n-2}))\cdot W_{n-1}\cdots diag(h'(W_{1}x))\cdot W_{1}\|_{F}}dóndes{\displaystyle \|\cdot \|_{s}}es la norma del operador de la matriz, es decir, el mayor valor singular de la matriz, es decir, el radio espectral de la matriz (estos conceptos son los mismos para matrices, pero diferentes para operadores lineales generales ).

Desdesorberincógnita|h(incógnita)|1{\displaystyle \sup _{x}|h'(x)|\leq 1}, tenemosdiagramo(h(Wiincógnitai1))s=máximoj|h(Wiincógnitai1,j)|1{\displaystyle \|diag(h'(W_{i}x_{i-1}))\|_{s}=\max _{j}|h'(W_{i}x_{i-1,j})|\leq 1}y, en consecuencia, el límite superior:DLi=1norteWis{\displaystyle \|D\|_{L}\leq \prod _{i=1}^{n}\|W_{i}\|_{s}}Por lo tanto, si podemos acotar superiormente las normas de los operadoresWis{\displaystyle \|W_{i}\|_{s}}de cada matriz, podemos acotar superiormente la norma de Lipschitz deD{\displaystyle D}.

Recorte de peso

Dado que para cualquiermetro×l{\displaystyle m\times l}matrizW{\displaystyle W}, dejardo=máximoi,j|Wi,j|{\displaystyle c=\max _{i,j}|W_{i,j}|}, tenemosWs2=sorberincógnita2=1Wincógnita22=sorberincógnita2=1i(jWi,jincógnitaj)2=sorberincógnita2=1i,j,kWijWikincógnitajincógnitakdo2metrol2{\displaystyle \|W\|_{s}^{2}=\sup _{\|x\|_{2}=1}\|Wx\|_{2}^{2}=\sup _{\|x\|_{2}=1}\sum _{i}\left(\sum _{j}W_{i,j}x_{j}\right)^{2}=\sup _{\|x\|_{2}=1}\sum _{i,j,k}W_{ij}W_{ik}x_{j}x_{k}\leq c^{2}ml^{2}}recortando todas las entradas deW{\displaystyle W}dentro de algún intervalo[do,do]{\displaystyle [-c,c]}, podemos vincularnosWs{\displaystyle \|W\|_{s}}.

Este es el método de recorte de peso propuesto en el artículo original. [ 1 ]

Normalización espectral

El radio espectral se puede calcular de manera eficiente mediante el siguiente algoritmo:

Matriz de ENTRADAW{\displaystyle W}y suposición inicialincógnita{\displaystyle x}

Iterarincógnita1Wincógnita2Wincógnita{\displaystyle x\mapsto {\frac {1}{\|Wx\|_{2}}}Wx}a la convergenciaincógnita{\displaystyle x^{*}}Este es el vector propio deW{\displaystyle W}con valor propioWs{\displaystyle \|W\|_{s}}.

DEVOLVERincógnita,Wincógnita2{\displaystyle x^{*},\|Wx^{*}\|_{2}}

Al reasignarWiWiWis{\displaystyle W_{i}\leftarrow {\frac {W_{i}}{\|W_{i}\|_{s}}}}Después de cada actualización del discriminador, podemos establecer un límite superior.Wis1{\displaystyle \|W_{i}\|_{s}\leq 1}y por lo tanto límite superiorDL{\displaystyle \|D\|_{L}}.

El algoritmo puede acelerarse aún más mediante la memorización : En el pasot{\displaystyle t}, almacenarincógnitai(t){\displaystyle x_{i}^{*}(t)}. Luego en el pasot+1{\displaystyle t+1}, usarincógnitai(t){\displaystyle x_{i}^{*}(t)}como la suposición inicial para el algoritmo. Dado queWi(t+1){\displaystyle W_{i}(t+1)}está muy cerca deWi(t){\displaystyle W_{i}(t)}, así esincógnitai(t){\displaystyle x_{i}^{*}(t)}cerca deincógnitai(t+1){\displaystyle x_{i}^{*}(t+1)}, por lo que esto permite una rápida convergencia.

Este es el método de normalización espectral. [ 5 ]

penalización de gradiente

En lugar de limitar estrictamenteDL{\displaystyle \|D\|_{L}}, podemos simplemente agregar un término de "penalización de gradiente" para el discriminador, de la formamiincógnitaμ^[(D(incógnita)2a)2]{\displaystyle \mathbb {E} _{x\sim {\hat {\mu }}}[(\|\nabla D(x)\|_{2}-a)^{2}]}dóndeμ^{\displaystyle {\hat {\mu }}}es una distribución fija que se utiliza 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 traeríaD(incógnita){\displaystyle \nabla D(x)}cerca dea{\displaystyle a}en todas partes, haciendo asíDLa{\displaystyle \|D\|_{L}\approx a}.

Este es el método de penalización de gradiente. [ 6 ]

Lecturas adicionales

  • De GAN a WGAN
  • La GAN de Wasserstein y la dualidad de Kantorovich-Rubinstein
  • Aprendizaje en profundidad: GAN de Wasserstein

Véase también

Referencias

  1. 1 2 3 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 .
  2. ^ Weng, Lilian (18 de abril de 2019). "De GAN a WGAN". arXiv : 1904.08994 [ cs.LG ].
  3. Nowozin, Sebastian; Cseke, Botond; Tomioka, Ryota (2016). "f-GAN: Entrenamiento de muestreadores neuronales generativos mediante minimización de la divergencia variacional" . Advances in Neural Information Processing Systems . 29. Curran Associates, Inc. arXiv : 1606.00709 .
  4. Arjovsky, Martin; Bottou, Léon (2017-01-01). "Hacia métodos basados ​​en principios para el entrenamiento de redes generativas adversarias" . arXiv : 1701.04862 .{{cite journal}}: Para citar una revista se requiere |journal=( ayuda )
  5. 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 ].
  6. Gulrajani, Ishaan; Ahmed, Faruk; Arjovsky, Martin; Dumoulin, Vincent; Courville, Aaron C (2017). "Entrenamiento mejorado de GAN de Wasserstein" . Avances en sistemas de procesamiento de información neuronal . 30. Curran Associates, Inc.

Notas

  1. 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 de ImageNet sin supervisión .
  2. En realidad, no es así como se hace en la práctica, ya que θlnρμGRAMO(incógnita){\displaystyle \nabla _{\theta }\ln \rho _{\mu _{G}}(x)} En general es un problema intratable, pero teóricamente resulta esclarecedor.
Obtenido de " https://en.wikipedia.org/w/index.php?title=Wasserstein_GAN&oldid=1337581376 "