Generative Adversarial Networks/paper/es

    From Marovi AI
    This page is a translated version of the page Generative Adversarial Networks/paper and the translation is 100% complete.
    Other languages:
    SummarySource
    Research Paper
    Authors Ian J. Goodfellow; Jean Pouget-Abadie; Mehdi Mirza; Bing Xu; David Warde-Farley; Sherjil Ozair; Aaron Courville; Yoshua Bengio
    Year 2014
    Topic area Machine Learning
    Difficulty Research
    arXiv 1406.2661
    PDF Download PDF

    Redes Generativas Adversarias

    Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley,
    Sherjil Ozair, Aaron Courville, Yoshua Bengio
    Département d’informatique et de recherche opérationnelle
    Université de Montréal
    Montréal, QC H3C 3J7
    Jean Pouget-Abadie está visitando la Université de Montréal desde la Ecole Polytechnique. Sherjil Ozair está visitando la Université de Montréal desde el Indian Institute of Technology Delhi. Yoshua Bengio es CIFAR Senior Fellow.

    Resumen

    Proponemos un nuevo marco para estimar modelos generativos mediante un proceso adversario, en el que entrenamos simultáneamente dos modelos: un modelo generativo $ {\textstyle G} $ que captura la distribución de los datos, y un modelo discriminativo $ {\textstyle D} $ que estima la probabilidad de que una muestra provenga de los datos de entrenamiento en lugar de $ {\textstyle G} $. El procedimiento de entrenamiento para $ {\textstyle G} $ consiste en maximizar la probabilidad de que $ {\textstyle D} $ cometa un error. Este marco corresponde a un juego minimax de dos jugadores. En el espacio de funciones arbitrarias $ {\textstyle G} $ y $ {\textstyle D} $, existe una solución única, con $ {\textstyle G} $ recuperando la distribución de los datos de entrenamiento y $ {\textstyle D} $ igual a $ {\textstyle \frac{1}{2}} $ en todas partes. En el caso en que $ {\textstyle G} $ y $ {\textstyle D} $ se definen mediante perceptrones multicapa, todo el sistema puede entrenarse con retropropagación. No es necesario utilizar cadenas de Markov ni redes de inferencia aproximada desplegadas durante el entrenamiento o la generación de muestras. Los experimentos demuestran el potencial del marco mediante la evaluación cualitativa y cuantitativa de las muestras generadas.

    1 Introducción

    La promesa del aprendizaje profundo es descubrir modelos jerárquicos y ricos [2] que representen distribuciones de probabilidad sobre los tipos de datos encontrados en aplicaciones de inteligencia artificial, como imágenes naturales, formas de onda de audio que contienen habla y símbolos en corpus de lenguaje natural. Hasta ahora, los éxitos más notables del aprendizaje profundo han involucrado modelos discriminativos, generalmente aquellos que asignan una entrada sensorial rica y de alta dimensión a una etiqueta de clase [14, 22]. Estos éxitos notables se han basado principalmente en los algoritmos de retropropagación y dropout, utilizando unidades lineales por tramos [19, 9, 10] que tienen un gradiente particularmente bien comportado. Los modelos generativos profundos han tenido menos impacto, debido a la dificultad de aproximar muchas computaciones probabilísticas intratables que surgen en la estimación de máxima verosimilitud y estrategias relacionadas, y debido a la dificultad de aprovechar los beneficios de las unidades lineales por tramos en el contexto generativo. Proponemos un nuevo procedimiento de estimación de modelos generativos que esquiva estas dificultades. 111Todo el código y los hiperparámetros están disponibles en http://www.github.com/goodfeli/adversarial

    En el marco propuesto de redes adversarias, el modelo generativo se enfrenta a un adversario: un modelo discriminativo que aprende a determinar si una muestra proviene de la distribución del modelo o de la distribución de los datos. El modelo generativo puede pensarse como análogo a un equipo de falsificadores que intenta producir billetes falsos y usarlos sin ser detectados, mientras que el modelo discriminativo es análogo a la policía que intenta detectar la moneda falsificada. La competencia en este juego impulsa a ambos equipos a mejorar sus métodos hasta que las falsificaciones sean indistinguibles de los artículos genuinos.

    Este marco puede dar lugar a algoritmos de entrenamiento específicos para muchos tipos de modelos y algoritmos de optimización. En este artículo exploramos el caso especial en que el modelo generativo genera muestras pasando ruido aleatorio a través de un perceptrón multicapa, y el modelo discriminativo es también un perceptrón multicapa. Nos referimos a este caso especial como redes adversarias. En este caso, podemos entrenar ambos modelos utilizando únicamente los altamente exitosos algoritmos de retropropagación y dropout [17] y muestrear del modelo generativo usando solo propagación hacia adelante. No son necesarias inferencia aproximada ni cadenas de Markov.

    2 Trabajo relacionado

    Una alternativa a los modelos gráficos dirigidos con variables latentes son los modelos gráficos no dirigidos con variables latentes, como las máquinas de Boltzmann restringidas (RBM) [27, 16], las máquinas de Boltzmann profundas (DBM) [26] y sus numerosas variantes. Las interacciones dentro de estos modelos se representan como el producto de funciones potenciales no normalizadas, normalizadas mediante una sumación/integración global sobre todos los estados de las variables aleatorias. Esta cantidad (la función de partición) y su gradiente son intratables salvo para las instancias más triviales, aunque pueden estimarse mediante métodos de Monte Carlo con cadenas de Markov (MCMC). El mezclado plantea un problema significativo para los algoritmos de aprendizaje que dependen de MCMC [3, 5].

    Las redes de creencia profundas (DBN) [16] son modelos híbridos que contienen una única capa no dirigida y varias capas dirigidas. Si bien existe un criterio de entrenamiento por capas rápido y aproximado, las DBN incurren en las dificultades computacionales asociadas tanto con los modelos no dirigidos como con los dirigidos.

    También se han propuesto criterios alternativos que no aproximan ni acotan la log-verosimilitud, como el ajuste de puntuación (score matching) [18] y la estimación contrastiva con ruido (NCE) [13]. Ambos requieren que la densidad de probabilidad aprendida se especifique analíticamente salvo una constante de normalización. Nótese que en muchos modelos generativos interesantes con varias capas de variables latentes (como las DBN y las DBM), no es siquiera posible derivar una densidad de probabilidad no normalizada tratable. Algunos modelos como los autoencoders de eliminación de ruido (denoising auto-encoders) [30] y los autoencoders contractivos tienen reglas de aprendizaje muy similares al ajuste de puntuación aplicado a las RBM. En NCE, como en este trabajo, se emplea un criterio de entrenamiento discriminativo para ajustar un modelo generativo. Sin embargo, en lugar de ajustar un modelo discriminativo separado, el propio modelo generativo se utiliza para discriminar los datos generados de muestras de una distribución de ruido fija. Debido a que NCE utiliza una distribución de ruido fija, el aprendizaje se ralentiza drásticamente después de que el modelo ha aprendido incluso una distribución aproximadamente correcta sobre un pequeño subconjunto de las variables observadas.

    Por último, algunas técnicas no implican definir una distribución de probabilidad de manera explícita, sino que entrenan una máquina generativa para extraer muestras de la distribución deseada. Este enfoque tiene la ventaja de que tales máquinas pueden diseñarse para ser entrenadas mediante retropropagación. Trabajos recientes destacados en esta área incluyen el marco de la red estocástica generativa (GSN) [5], que extiende los autoencoders de eliminación de ruido generalizados [4]: ambos pueden verse como la definición de una cadena de Markov parametrizada, es decir, se aprenden los parámetros de una máquina que realiza un paso de una cadena de Markov generativa. En comparación con las GSN, el marco de las redes adversarias no requiere una cadena de Markov para el muestreo. Dado que las redes adversarias no requieren bucles de retroalimentación durante la generación, pueden aprovechar mejor las unidades lineales por tramos [19, 9, 10], que mejoran el rendimiento de la retropropagación pero presentan problemas con activaciones no acotadas cuando se utilizan en un bucle de retroalimentación. Ejemplos más recientes de entrenamiento de una máquina generativa mediante retropropagación incluyen trabajos recientes sobre auto-encoding variational Bayes [20] y retropropagación estocástica [24].

    3 Redes adversarias

    El marco de modelado adversario es más sencillo de aplicar cuando ambos modelos son perceptrones multicapa. Para aprender la distribución del generador $ {\textstyle p_{g}} $ sobre los datos $ {\textstyle \mathbf{x}} $, definimos un prior sobre las variables de ruido de entrada $ {\textstyle p_{\mathbf{z}}\hspace{0pt}{({\mathbf{z}})}} $, y luego representamos un mapeo al espacio de los datos como $ {\textstyle G\hspace{0pt}{({\mathbf{z}};\theta_{g})}} $, donde $ {\textstyle G} $ es una función diferenciable representada por un perceptrón multicapa con parámetros $ {\textstyle \theta_{g}} $. También definimos un segundo perceptrón multicapa $ {\textstyle D\hspace{0pt}{({\mathbf{x}};\theta_{d})}} $ que produce un único escalar. $ {\textstyle D\hspace{0pt}{({\mathbf{x}})}} $ representa la probabilidad de que $ {\textstyle \mathbf{x}} $ provenga de los datos en lugar de $ {\textstyle p_{g}} $. Entrenamos $ {\textstyle D} $ para maximizar la probabilidad de asignar la etiqueta correcta tanto a los ejemplos de entrenamiento como a las muestras de $ {\textstyle G} $. Simultáneamente, entrenamos $ {\textstyle G} $ para minimizar $ {\textstyle \log{({1 - {D\hspace{0pt}{({G\hspace{0pt}{({\mathbf{z}})}})}}})}} $:

    En otras palabras, $ {\textstyle D} $ y $ {\textstyle G} $ juegan el siguiente juego minimax de dos jugadores con función de valor $ {\textstyle V\hspace{0pt}{(G,D)}} $:

    $ {\displaystyle {{{\min\limits_{G}{\max\limits_{D}V}}\hspace{0pt}{(D,G)}} = {{{\mathbb{E}}_{{\mathbf{x}} \sim {p_{\text{data}}\hspace{0pt}{({\mathbf{x}})}}}\hspace{0pt}{\lbrack{{\log D}\hspace{0pt}{({\mathbf{x}})}}\rbrack}} + {{\mathbb{E}}_{{\mathbf{z}} \sim {p_{\mathbf{z}}\hspace{0pt}{({\mathbf{z}})}}}\hspace{0pt}{\lbrack{\log{({1 - {D\hspace{0pt}{({G\hspace{0pt}{({\mathbf{z}})}})}}})}}\rbrack}}}}.} $ (1)

    En la siguiente sección presentamos un análisis teórico de las redes adversarias, mostrando esencialmente que el criterio de entrenamiento permite recuperar la distribución generadora de los datos cuando $ {\textstyle G} $ y $ {\textstyle D} $ tienen suficiente capacidad, es decir, en el límite no paramétrico. Véase la Figura 1 para una explicación menos formal y más pedagógica del enfoque. En la práctica, debemos implementar el juego utilizando un enfoque iterativo y numérico. Optimizar $ {\textstyle D} $ hasta su completitud en el bucle interior del entrenamiento es computacionalmente prohibitivo, y en conjuntos de datos finitos resultaría en sobreajuste. En su lugar, alternamos entre $ {\textstyle k} $ pasos de optimización de $ {\textstyle D} $ y un paso de optimización de $ {\textstyle G} $. Esto resulta en que $ {\textstyle D} $ se mantenga cerca de su solución óptima, siempre que $ {\textstyle G} $ cambie con suficiente lentitud. Esta estrategia es análoga a la forma en que el entrenamiento SML/PCD [31, 29] mantiene muestras de una cadena de Markov de un paso de aprendizaje al siguiente para evitar el quemado (burn-in) de una cadena de Markov como parte del bucle interior del aprendizaje. El procedimiento se presenta formalmente en el Algoritmo 1.

    En la práctica, la ecuación 1 puede no proporcionar suficiente gradiente para que $ {\textstyle G} $ aprenda bien. Al inicio del aprendizaje, cuando $ {\textstyle G} $ es deficiente, $ {\textstyle D} $ puede rechazar muestras con alta confianza porque son claramente diferentes de los datos de entrenamiento. En este caso, $ {\textstyle \log{({1 - {D\hspace{0pt}{({G\hspace{0pt}{({\mathbf{z}})}})}}})}} $ se satura. En lugar de entrenar a $ {\textstyle G} $ para minimizar $ {\textstyle \log{({1 - {D\hspace{0pt}{({G\hspace{0pt}{({\mathbf{z}})}})}}})}} $, podemos entrenar a $ {\textstyle G} $ para maximizar $ {\textstyle {\log D}\hspace{0pt}{({G\hspace{0pt}{({\mathbf{z}})}})}} $. Esta función objetivo resulta en el mismo punto fijo de la dinámica de $ {\textstyle G} $ y $ {\textstyle D} $, pero proporciona gradientes mucho más fuertes en las primeras etapas del aprendizaje.

    Refer to caption Refer to caption Refer to caption Refer to caption
    (a) (b) (c) (d)
     para el número de iteraciones de entrenamiento, hacer      para $ {\textstyle k} $ pasos, hacer         $ {\textstyle \bullet} $ Muestrear un minibatch de $ {\textstyle m} $ muestras de ruido $ {\textstyle \{{\mathbf{z}}^{(1)},\ldots,{\mathbf{z}}^{(m)}\}} $ del prior de ruido $ {\textstyle p_{g}\hspace{0pt}{({\mathbf{z}})}} $.         $ {\textstyle \bullet} $ Muestrear un minibatch de $ {\textstyle m} $ ejemplos $ {\textstyle \{{\mathbf{x}}^{(1)},\ldots,{\mathbf{x}}^{(m)}\}} $ de la distribución generadora de datos $ {\textstyle p_{\text{data}}\hspace{0pt}{({\mathbf{x}})}} $.         $ {\textstyle \bullet} $ Actualizar el discriminador ascendiendo por su gradiente estocástico:
    
    $ {\displaystyle {{\nabla_{\theta_{d}}\frac{1}{m}}\hspace{0pt}{\sum\limits_{i = 1}^{m}\left\lbrack {{{\log D}\hspace{0pt}\left( {\mathbf{x}}^{(i)} \right)} + {\log\left( {1 - {D\hspace{0pt}\left( {G\hspace{0pt}\left( {\mathbf{z}}^{(i)} \right)} \right)}} \right)}} \right\rbrack}}.} $
        fin para      $ {\textstyle \bullet} $ Muestrear un minibatch de $ {\textstyle m} $ muestras de ruido $ {\textstyle \{{\mathbf{z}}^{(1)},\ldots,{\mathbf{z}}^{(m)}\}} $ del prior de ruido $ {\textstyle p_{g}\hspace{0pt}{({\mathbf{z}})}} $.      $ {\textstyle \bullet} $ Actualizar el generador descendiendo por su gradiente estocástico:
    
    $ {\displaystyle {{\nabla_{\theta_{g}}\frac{1}{m}}\hspace{0pt}{\sum\limits_{i = 1}^{m}{\log\left( {1 - {D\hspace{0pt}\left( {G\hspace{0pt}\left( {\mathbf{z}}^{(i)} \right)} \right)}} \right)}}}.} $
     fin forLas actualizaciones basadas en gradiente pueden utilizar cualquier regla de aprendizaje basada en gradiente estándar. En nuestros experimentos utilizamos momento.
    

    4 Resultados teóricos

    El generador $ {\textstyle G} $ define implícitamente una distribución de probabilidad $ {\textstyle p_{g}} $ como la distribución de las muestras $ {\textstyle G\hspace{0pt}{({\mathbf{z}})}} $ obtenidas cuando $ {\textstyle {\mathbf{z}} \sim p_{\mathbf{z}}} $. Por lo tanto, queremos que el Algoritmo 1 converja a un buen estimador de $ {\textstyle p_{\text{data}}} $, dada suficiente capacidad y tiempo de entrenamiento. Los resultados de esta sección se realizan en un contexto no paramétrico, es decir, representamos un modelo con capacidad infinita estudiando la convergencia en el espacio de las funciones de densidad de probabilidad.

    Mostraremos en la sección 4.1 que este juego minimax tiene un óptimo global para $ {\textstyle p_{g} = p_{\text{data}}} $. Luego mostraremos en la sección 4.2 que el Algoritmo 1 optimiza la Eq. 1, obteniendo así el resultado deseado.

    4.1 Optimalidad global de p_{g} = p_{\text{data}}

    Consideramos primero el discriminador óptimo $ {\textstyle D} $ para cualquier generador $ {\textstyle G} $ dado.

    Proposición 1.

    Para $ {\textstyle G} $ fijo, el discriminador óptimo $ {\textstyle D} $ es

    $ {\displaystyle {D_{G}^{\ast}\hspace{0pt}{({\mathbf{x}})}} = \frac{p_{\text{data}}\hspace{0pt}{({\mathbf{x}})}}{{p_{\text{data}}\hspace{0pt}{({\mathbf{x}})}} + {p_{g}\hspace{0pt}{({\mathbf{x}})}}}} $ (2)

    Demostración.

    El criterio de entrenamiento para el discriminador D, dado cualquier generador $ {\textstyle G} $, consiste en maximizar la cantidad $ {\textstyle V\hspace{0pt}{(G,D)}} $

    $ {\textstyle {V\hspace{0pt}{(G,D)}} =} $ $ {\textstyle {\int_{\mathbf{x}}{p_{\text{data}}\hspace{0pt}{({\mathbf{x}})}\hspace{0pt}{\log{({D\hspace{0pt}{({\mathbf{x}})}})}}\hspace{0pt}{dx}}} + {\int_{z}{p_{\mathbf{z}}\hspace{0pt}{({\mathbf{z}})}\hspace{0pt}{\log{({1 - {D\hspace{0pt}{({g\hspace{0pt}{({\mathbf{z}})}})}}})}}\hspace{0pt}{dz}}}} $
    $ {\textstyle =} $ $ {\textstyle {\int_{\mathbf{x}}{p_{\text{data}}\hspace{0pt}{({\mathbf{x}})}\hspace{0pt}{\log{({D\hspace{0pt}{({\mathbf{x}})}})}}}} + {p_{g}\hspace{0pt}{({\mathbf{x}})}\hspace{0pt}{\log{({1 - {D\hspace{0pt}{({\mathbf{x}})}}})}}\hspace{0pt}d\hspace{0pt}x}} $ (3)

    Para cualquier $ {\textstyle {(a,b)} \in {{\mathbb{R}}^{2} \smallsetminus {\{ 0,0\}}}} $, la función $ {\textstyle y\rightarrow{{a\hspace{0pt}{\log{(y)}}} + {b\hspace{0pt}{\log{({1 - y})}}}}} $ alcanza su máximo en $ {\textstyle \lbrack 0,1\rbrack} $ en $ {\textstyle \frac{a}{a + b}} $. El discriminador no necesita estar definido fuera de $ {\textstyle {S\hspace{0pt}u\hspace{0pt}p\hspace{0pt}p\hspace{0pt}{(p_{\text{data}})}} \cup {S\hspace{0pt}u\hspace{0pt}p\hspace{0pt}p\hspace{0pt}{(p_{g})}}} $, lo que concluye la demostración. ∎

    Nótese que el objetivo de entrenamiento para $ {\textstyle D} $ puede interpretarse como la maximización de la log-verosimilitud para estimar la probabilidad condicional $ {\textstyle P\hspace{0pt}{({Y = \left. y \middle| {\mathbf{x}} \right.})}} $, donde $ {\textstyle Y} $ indica si $ {\textstyle \mathbf{x}} $ proviene de $ {\textstyle p_{\text{data}}} $ (con $ {\textstyle y = 1} $) o de $ {\textstyle p_{g}} $ (con $ {\textstyle y = 0} $). El juego minimax de la Eq. 1 puede ahora reformularse como:

    $ {\textstyle {C\hspace{0pt}{(G)}} =} $ $ {\textstyle {\max\limits_{D}V}\hspace{0pt}{(G,D)}} $
    $ {\textstyle =} $ $ {\textstyle {{\mathbb{E}}_{{\mathbf{x}} \sim p_{\text{data}}}\hspace{0pt}{\lbrack{{\log D_{G}^{\ast}}\hspace{0pt}{({\mathbf{x}})}}\rbrack}} + {{\mathbb{E}}_{{\mathbf{z}} \sim p_{\mathbf{z}}}\hspace{0pt}{\lbrack{\log{({1 - {D_{G}^{\ast}\hspace{0pt}{({G\hspace{0pt}{({\mathbf{z}})}})}}})}}\rbrack}}} $ (4)
    $ {\textstyle =} $ $ {\textstyle {{\mathbb{E}}_{{\mathbf{x}} \sim p_{\text{data}}}\hspace{0pt}{\lbrack{{\log D_{G}^{\ast}}\hspace{0pt}{({\mathbf{x}})}}\rbrack}} + {{\mathbb{E}}_{{\mathbf{x}} \sim p_{g}}\hspace{0pt}{\lbrack{\log{({1 - {D_{G}^{\ast}\hspace{0pt}{({\mathbf{x}})}}})}}\rbrack}}} $
    $ {\textstyle =} $ $ {\textstyle {{\mathbb{E}}_{{\mathbf{x}} \sim p_{\text{data}}}\hspace{0pt}\left\lbrack {\log\frac{p_{\text{data}}\hspace{0pt}{({\mathbf{x}})}}{{P_{\text{data}}\hspace{0pt}{({\mathbf{x}})}} + {p_{g}\hspace{0pt}{({\mathbf{x}})}}}} \right\rbrack} + {{\mathbb{E}}_{{\mathbf{x}} \sim p_{g}}\hspace{0pt}\left\lbrack {\log\frac{p_{g}\hspace{0pt}{({\mathbf{x}})}}{{p_{\text{data}}\hspace{0pt}{({\mathbf{x}})}} + {p_{g}\hspace{0pt}{({\mathbf{x}})}}}} \right\rbrack}} $

    Teorema 1.

    El mínimo global del criterio de entrenamiento virtual $ {\textstyle C\hspace{0pt}{(G)}} $ se alcanza si y solo si $ {\textstyle p_{g} = p_{\text{data}}} $. En ese punto, $ {\textstyle C\hspace{0pt}{(G)}} $ alcanza el valor $ {\textstyle - {\log 4}} $.

    Demostración.

    Para $ {\textstyle p_{g} = p_{\text{data}}} $, $ {\textstyle {D_{G}^{\ast}\hspace{0pt}{({\mathbf{x}})}} = \frac{1}{2}} $, (consideremos la Eq. 2). Por lo tanto, al inspeccionar la Eq. 4.1 en $ {\textstyle {D_{G}^{\ast}\hspace{0pt}{({\mathbf{x}})}} = \frac{1}{2}} $, encontramos $ {\textstyle {C\hspace{0pt}{(G)}} = {{\log\frac{1}{2}} + {\log\frac{1}{2}}} = {- {\log 4}}} $. Para ver que este es el mejor valor posible de $ {\textstyle C\hspace{0pt}{(G)}} $, alcanzado solo para $ {\textstyle p_{g} = p_{\text{data}}} $, observe que

    $ {\displaystyle {{{\mathbb{E}}_{{\mathbf{x}} \sim p_{\text{data}}}\hspace{0pt}\left\lbrack {- {\log 2}} \right\rbrack} + {{\mathbb{E}}_{{\mathbf{x}} \sim p_{g}}\hspace{0pt}\left\lbrack {- {\log 2}} \right\rbrack}} = {- {\log 4}}} $

    y que, restando esta expresión de $ {\textstyle {C\hspace{0pt}{(G)}} = {V\hspace{0pt}{(D_{G}^{\ast},G)}}} $, obtenemos:

    $ {\displaystyle {C\hspace{0pt}{(G)}} = {{- {\log{(4)}}} + {K\hspace{0pt}L\hspace{0pt}\left( p_{\text{data}}\parallel\frac{p_{\text{data}} + p_{g}}{2} \right)} + {K\hspace{0pt}L\hspace{0pt}\left( p_{g}\parallel\frac{p_{\text{data}} + p_{g}}{2} \right)}}} $ (5)

    donde KL es la divergencia de Kullback–Leibler. Reconocemos en la expresión anterior la divergencia de Jensen–Shannon entre la distribución del modelo y el proceso generador de los datos:

    $ {\displaystyle {C\hspace{0pt}{(G)}} = {{- {\log{(4)}}} + {{2 \cdot J}\hspace{0pt}S\hspace{0pt}D\hspace{0pt}\left( p_{\text{data}}\parallel p_{g} \right)}}} $ (6)

    Dado que la divergencia de Jensen–Shannon entre dos distribuciones siempre es no negativa y solo es cero cuando son iguales, hemos demostrado que $ {\textstyle C^{\ast} = {- {\log{(4)}}}} $ es el mínimo global de $ {\textstyle C\hspace{0pt}{(G)}} $ y que la única solución es $ {\textstyle p_{g} = p_{\text{data}}} $, es decir, el modelo generativo replica perfectamente el proceso generador de datos. ∎

    <span id="convergence-of-algorithm-1">

    4.2 Convergencia del Algoritmo 1

    Proposición 2.

    Si $ {\textstyle G} $ y $ {\textstyle D} $ tienen suficiente capacidad, y en cada paso del Algoritmo 1 se permite que el discriminador alcance su óptimo dado $ {\textstyle G} $, y $ {\textstyle p_{g}} $ se actualiza para mejorar el criterio

    $ {\displaystyle {{\mathbb{E}}_{{\mathbf{x}} \sim p_{\text{data}}}\hspace{0pt}{\lbrack{{\log D_{G}^{\ast}}\hspace{0pt}{({\mathbf{x}})}}\rbrack}} + {{\mathbb{E}}_{{\mathbf{x}} \sim p_{g}}\hspace{0pt}{\lbrack{\log{({1 - {D_{G}^{\ast}\hspace{0pt}{({\mathbf{x}})}}})}}\rbrack}}} $

    entonces $ {\textstyle p_{g}} $ converge a $ {\textstyle p_{\text{data}}} $

    Demostración.

    Considere $ {\textstyle {V\hspace{0pt}{(G,D)}} = {U\hspace{0pt}{(p_{g},D)}}} $ como una función de $ {\textstyle p_{g}} $ según se hizo en el criterio anterior. Note que $ {\textstyle U\hspace{0pt}{(p_{g},D)}} $ es convexa en $ {\textstyle p_{g}} $. Las subderivadas de un supremo de funciones convexas incluyen la derivada de la función en el punto donde se alcanza el máximo. En otras palabras, si $ {\textstyle {f\hspace{0pt}{(x)}} = {\sup_{\alpha \in \mathcal{A}}{f_{\alpha}\hspace{0pt}{(x)}}}} $ y $ {\textstyle f_{\alpha}\hspace{0pt}{(x)}} $ es convexa en $ {\textstyle x} $ para cada $ {\textstyle \alpha} $, entonces $ {\textstyle {\partial{f_{\beta}\hspace{0pt}{(x)}}} \in {\partial f}} $ si $ {\textstyle \beta = {\arg\hspace{0pt}{\sup_{\alpha \in \mathcal{A}}{f_{\alpha}\hspace{0pt}{(x)}}}}} $. Esto equivale a calcular una actualización de descenso por gradiente para $ {\textstyle p_{g}} $ en el $ {\textstyle D} $ óptimo dado el correspondiente $ {\textstyle G} $. $ {\textstyle \sup_{D}{U\hspace{0pt}{(p_{g},D)}}} $ es convexa en $ {\textstyle p_{g}} $ con un único óptimo global, como se demuestra en el Thm 1, por lo tanto, con actualizaciones suficientemente pequeñas de $ {\textstyle p_{g}} $, $ {\textstyle p_{g}} $ converge a $ {\textstyle p_{x}} $, lo que concluye la demostración. ∎

    En la práctica, las redes adversarias representan una familia limitada de distribuciones $ {\textstyle p_{g}} $ mediante la función $ {\textstyle G\hspace{0pt}{({\mathbf{z}};\theta_{g})}} $, y optimizamos $ {\textstyle \theta_{g}} $ en lugar de $ {\textstyle p_{g}} $. Usar un perceptrón multicapa para definir $ {\textstyle G} $ introduce múltiples puntos críticos en el espacio de parámetros. Sin embargo, el excelente desempeño de los perceptrones multicapa en la práctica sugiere que son un modelo razonable a utilizar a pesar de la falta de garantías teóricas.

    5 Experimentos

    Entrenamos redes adversarias en un rango de conjuntos de datos que incluyen MNIST [23], la Toronto Face Database (TFD) [28] y CIFAR-10 [21]. Las redes generadoras utilizaron una mezcla de activaciones lineales rectificadas [19, 9] y activaciones sigmoidales, mientras que la red discriminadora utilizó activaciones maxout [10]. Se aplicó dropout [17] al entrenar la red discriminadora. Si bien nuestro marco teórico permite el uso de dropout y otro ruido en capas intermedias del generador, utilizamos ruido como entrada solo en la capa más baja de la red generadora.

    Estimamos la probabilidad de los datos de prueba bajo $ {\textstyle p_{g}} $ ajustando una ventana de Parzen gaussiana a las muestras generadas con $ {\textstyle G} $ y reportando la log-verosimilitud bajo esta distribución. El parámetro $ {\textstyle \sigma} $ de las gaussianas se obtuvo mediante validación cruzada en el conjunto de validación. Este procedimiento fue introducido en Breuleux et al. [8] y utilizado para varios modelos generativos para los que la verosimilitud exacta no es tratable [25, 3, 5]. Los resultados se presentan en la Tabla 1. Este método de estimación de la verosimilitud tiene una varianza algo elevada y no funciona bien en espacios de alta dimensión, pero es el mejor método disponible en nuestro conocimiento. Los avances en modelos generativos que pueden muestrear pero no estimar directamente la verosimilitud motivan más investigación sobre cómo evaluar tales modelos.

    Modelo MNIST TFD
    DBN [3] $ {\textstyle 138 \pm 2} $ $ {\textstyle 1909 \pm 66} $
    Stacked CAE [3] $ {\textstyle 121 \pm 1.6} $ $ {\textstyle \mathbf{2}\mathbf{1}\mathbf{1}\mathbf{0} \pm \mathbf{5}\mathbf{0}} $
    Deep GSN [6] $ {\textstyle 214 \pm 1.1} $ $ {\textstyle 1890 \pm 29} $
    Redes adversarias $ {\textstyle \mathbf{2}\mathbf{2}\mathbf{5} \pm \mathbf{2}} $ $ {\textstyle \mathbf{2}\mathbf{0}\mathbf{5}\mathbf{7} \pm \mathbf{2}\mathbf{6}} $

    En las Figuras 2 y 3 mostramos muestras extraídas de la red generadora después del entrenamiento. Aunque no afirmamos que estas muestras sean mejores que las generadas por métodos existentes, creemos que son al menos competitivas con los mejores modelos generativos de la literatura y resaltan el potencial del marco adversario.

    Refer to caption Refer to caption
    a) b)
    Refer to caption Refer to caption
    c) d)

    Refer to caption Refer to caption

    Modelos gráficos dirigidos profundos Modelos gráficos no dirigidos profundos Autoencoders generativos Modelos adversarios
    Entrenamiento Inferencia necesaria durante el entrenamiento. Inferencia necesaria durante el entrenamiento. Se requiere MCMC para aproximar el gradiente de la función de partición. Compromiso forzoso entre el mezclado y el poder de reconstrucción/generación Sincronizar el discriminador con el generador. Helvetica.
    Inferencia Inferencia aproximada aprendida Inferencia variacional Inferencia basada en MCMC Inferencia aproximada aprendida
    Muestreo Sin dificultades Requiere cadena de Markov Requiere cadena de Markov Sin dificultades
    Evaluación de $ {\textstyle p\hspace{0pt}{(x)}} $ Intratable, puede aproximarse con AIS Intratable, puede aproximarse con AIS No representada explícitamente, puede aproximarse mediante estimación de densidad de Parzen No representada explícitamente, puede aproximarse mediante estimación de densidad de Parzen
    Diseño del modelo Casi todos los modelos enfrentan dificultades extremas Diseño cuidadoso necesario para garantizar múltiples propiedades Cualquier función diferenciable está teóricamente permitida Cualquier función diferenciable está teóricamente permitida

    6 Ventajas y desventajas

    Este nuevo marco trae ventajas y desventajas en relación con los marcos de modelado anteriores. Las desventajas son principalmente que no hay una representación explícita de $ {\textstyle p_{g}\hspace{0pt}{({\mathbf{x}})}} $, y que $ {\textstyle D} $ debe estar bien sincronizado con $ {\textstyle G} $ durante el entrenamiento (en particular, $ {\textstyle G} $ no debe entrenarse demasiado sin actualizar $ {\textstyle D} $, para evitar el “escenario Helvetica” en el que $ {\textstyle G} $ colapsa demasiados valores de $ {\textstyle \mathbf{z}} $ al mismo valor de $ {\textstyle \mathbf{x}} $ como para tener suficiente diversidad para modelar $ {\textstyle p_{\text{data}}} $), de manera muy parecida a cómo las cadenas negativas de una máquina de Boltzmann deben mantenerse actualizadas entre pasos de aprendizaje. Las ventajas son que nunca se necesitan cadenas de Markov, solo se utiliza la retropropagación (backprop) para obtener gradientes, no se necesita inferencia durante el aprendizaje, y se puede incorporar una amplia variedad de funciones al modelo. La Tabla 2 resume la comparación de las redes generativas adversarias con otros enfoques de modelado generativo.

    Las ventajas mencionadas son principalmente computacionales. Los modelos adversarios también pueden obtener cierta ventaja estadística al no actualizar la red generadora directamente con los ejemplos de datos, sino solo con los gradientes que fluyen a través del discriminador. Esto significa que los componentes de la entrada no se copian directamente a los parámetros del generador. Otra ventaja de las redes adversarias es que pueden representar distribuciones muy nítidas, incluso degeneradas, mientras que los métodos basados en cadenas de Markov requieren que la distribución sea algo borrosa para que las cadenas puedan mezclarse entre modos.

    7 Conclusiones y trabajo futuro

    Este marco admite muchas extensiones directas:

    1. 1.

      Se puede obtener un modelo generativo condicional $ {\textstyle p\hspace{0pt}{({{\mathbf{x}} \mid {\mathbf{c}}})}} $ añadiendo $ {\textstyle \mathbf{c}} $ como entrada tanto a $ {\textstyle G} $ como a $ {\textstyle D} $.

    2. 2.

      Se puede realizar una inferencia aproximada aprendida entrenando una red auxiliar para predecir $ {\textstyle \mathbf{z}} $ dado $ {\textstyle \mathbf{x}} $. Esto es similar a la red de inferencia entrenada por el algoritmo wake-sleep [15] pero con la ventaja de que la red de inferencia puede entrenarse para una red generadora fija después de que la red generadora haya terminado de entrenarse.

    3. 3.

      Se pueden modelar aproximadamente todos los condicionales $ {\textstyle p\hspace{0pt}{({{\mathbf{x}}_{S} \mid {\mathbf{x}}_{\mathit{S\not{}}}})}} $ donde $ {\textstyle S} $ es un subconjunto de los índices de $ {\textstyle \mathbf{x}} $ entrenando una familia de modelos condicionales que comparten parámetros. Esencialmente, se pueden usar redes adversarias para implementar una extensión estocástica de la MP-DBM determinista [11].

    4. 4.

      Aprendizaje semisupervisado: las características del discriminador o la red de inferencia podrían mejorar el rendimiento de los clasificadores cuando se dispone de datos etiquetados limitados.

    5. 5.

      Mejoras de eficiencia: el entrenamiento podría acelerarse considerablemente diseñando mejores métodos para coordinar $ {\textstyle G} $ y $ {\textstyle D} $ o determinando mejores distribuciones desde las que muestrear $ {\textstyle \mathbf{z}} $ durante el entrenamiento.

    Este artículo ha demostrado la viabilidad del marco de modelado adversario, sugiriendo que estas direcciones de investigación podrían resultar útiles.

    Agradecimientos

    Quisiéramos agradecer a Patrice Marcotte, Olivier Delalleau, Kyunghyun Cho, Guillaume Alain y Jason Yosinski por las discusiones útiles. Yann Dauphin compartió con nosotros su código de evaluación de ventana de Parzen. Quisiéramos agradecer a los desarrolladores de Pylearn2 [12] y Theano [7, 1], en particular a Frédéric Bastien, quien apresuró una característica de Theano específicamente para beneficiar este proyecto. Arnaud Bergeron proporcionó el muy necesario apoyo con la composición tipográfica en LaTeX. También quisiéramos agradecer a CIFAR y a Canada Research Chairs por la financiación, y a Compute Canada y Calcul Québec por proporcionar los recursos computacionales. Ian Goodfellow recibe apoyo de la Beca Google 2013 en Aprendizaje Profundo. Por último, quisiéramos agradecer a Les Trois Brasseurs por estimular nuestra creatividad.

    Referencias

    • Bastien et al. [2012] Bastien, F., Lamblin, P., Pascanu, R., Bergstra, J., Goodfellow, I. J., Bergeron, A., Bouchard, N., y Bengio, Y. (2012). Theano: new features and speed improvements. Deep Learning and Unsupervised Feature Learning NIPS 2012 Workshop.
    • Bengio [2009] Bengio, Y. (2009). Learning deep architectures for AI. Now Publishers.
    • Bengio et al. [2013a] Bengio, Y., Mesnil, G., Dauphin, Y., y Rifai, S. (2013a). Better mixing via deep representations. En ICML’13.
    • Bengio et al. [2013b] Bengio, Y., Yao, L., Alain, G., y Vincent, P. (2013b). Generalized denoising auto-encoders as generative models. En NIPS26. Nips Foundation.
    • Bengio et al. [2014a] Bengio, Y., Thibodeau-Laufer, E., y Yosinski, J. (2014a). Deep generative stochastic networks trainable by backprop. En ICML’14.
    • Bengio et al. [2014b] Bengio, Y., Thibodeau-Laufer, E., Alain, G., y Yosinski, J. (2014b). Deep generative stochastic networks trainable by backprop. En Proceedings of the 30th International Conference on Machine Learning (ICML’14).
    • Bergstra et al. [2010] Bergstra, J., Breuleux, O., Bastien, F., Lamblin, P., Pascanu, R., Desjardins, G., Turian, J., Warde-Farley, D., y Bengio, Y. (2010). Theano: a CPU and GPU math expression compiler. En Proceedings of the Python for Scientific Computing Conference (SciPy). Presentación oral.
    • Breuleux et al. [2011] Breuleux, O., Bengio, Y., y Vincent, P. (2011). Quickly generating representative samples from an RBM-derived process. Neural Computation, 23(8), 2053–2073.
    • Glorot et al. [2011] Glorot, X., Bordes, A., y Bengio, Y. (2011). Deep sparse rectifier neural networks. En AISTATS’2011.
    • Goodfellow et al. [2013a] Goodfellow, I. J., Warde-Farley, D., Mirza, M., Courville, A., y Bengio, Y. (2013a). Maxout networks. En ICML’2013.
    • Goodfellow et al. [2013b] Goodfellow, I. J., Mirza, M., Courville, A., y Bengio, Y. (2013b). Multi-prediction deep Boltzmann machines. En NIPS’2013.
    • Goodfellow et al. [2013c] Goodfellow, I. J., Warde-Farley, D., Lamblin, P., Dumoulin, V., Mirza, M., Pascanu, R., Bergstra, J., Bastien, F., y Bengio, Y. (2013c). Pylearn2: a machine learning research library. arXiv preprint arXiv:1308.4214.
    • Gutmann y Hyvarinen [2010] Gutmann, M. y Hyvarinen, A. (2010). Noise-contrastive estimation: A new estimation principle for unnormalized statistical models. En AISTATS’2010.
    • Hinton et al. [2012a] Hinton, G., Deng, L., Dahl, G. E., Mohamed, A., Jaitly, N., Senior, A., Vanhoucke, V., Nguyen, P., Sainath, T., y Kingsbury, B. (2012a). Deep neural networks for acoustic modeling in speech recognition. IEEE Signal Processing Magazine, 29(6), 82–97.
    • Hinton et al. [1995] Hinton, G. E., Dayan, P., Frey, B. J., y Neal, R. M. (1995). The wake-sleep algorithm for unsupervised neural networks. Science, 268, 1558–1161.
    • Hinton et al. [2006] Hinton, G. E., Osindero, S., y Teh, Y. (2006). A fast learning algorithm for deep belief nets. Neural Computation, 18, 1527–1554.
    • Hinton et al. [2012b] Hinton, G. E., Srivastava, N., Krizhevsky, A., Sutskever, I., y Salakhutdinov, R. (2012b). Improving neural networks by preventing co-adaptation of feature detectors. Informe técnico, arXiv:1207.0580.
    • Hyvärinen [2005] Hyvärinen, A. (2005). Estimation of non-normalized statistical models using score matching. J. Machine Learning Res., 6.
    • Jarrett et al. [2009] Jarrett, K., Kavukcuoglu, K., Ranzato, M., y LeCun, Y. (2009). What is the best multi-stage architecture for object recognition? En Proc. International Conference on Computer Vision (ICCV’09), pages 2146–2153. IEEE.
    • Kingma y Welling [2014] Kingma, D. P. y Welling, M. (2014). Auto-encoding variational bayes. En Proceedings of the International Conference on Learning Representations (ICLR).
    • Krizhevsky y Hinton [2009] Krizhevsky, A. y Hinton, G. (2009). Learning multiple layers of features from tiny images. Informe técnico, University of Toronto.
    • Krizhevsky et al. [2012] Krizhevsky, A., Sutskever, I., y Hinton, G. (2012). ImageNet classification with deep convolutional neural networks. En NIPS’2012.
    • LeCun et al. [1998] LeCun, Y., Bottou, L., Bengio, Y., y Haffner, P. (1998). Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11), 2278–2324.
    • Rezende et al. [2014] Rezende, D. J., Mohamed, S., y Wierstra, D. (2014). Stochastic backpropagation and approximate inference in deep generative models. Informe técnico, arXiv:1401.4082.
    • Rifai et al. [2012] Rifai, S., Bengio, Y., Dauphin, Y., y Vincent, P. (2012). A generative process for sampling contractive auto-encoders. En ICML’12.
    • Salakhutdinov y Hinton [2009] Salakhutdinov, R. y Hinton, G. E. (2009). Deep Boltzmann machines. En AISTATS’2009, pages 448–455.
    • Smolensky [1986] Smolensky, P. (1986). Information processing in dynamical systems: Foundations of harmony theory. En D. E. Rumelhart y J. L. McClelland, editores, Parallel Distributed Processing, volume 1, capítulo 6, pages 194–281. MIT Press, Cambridge.
    • Susskind et al. [2010] Susskind, J., Anderson, A., y Hinton, G. E. (2010). The Toronto face dataset. Technical Report UTML TR 2010-001, U. Toronto.
    • Tieleman [2008] Tieleman, T. (2008). Training restricted Boltzmann machines using approximations to the likelihood gradient. En W. W. Cohen, A. McCallum, y S. T. Roweis, editores, ICML 2008, pages 1064–1071. ACM.
    • Vincent et al. [2008] Vincent, P., Larochelle, H., Bengio, Y., y Manzagol, P.-A. (2008). Extracting and composing robust features with denoising autoencoders. En ICML 2008.
    • Younes [1999] Younes, L. (1999). On the convergence of Markovian stochastic algorithms with rapidly decreasing ergodicity rates. Stochastics and Stochastic Reports, 65(3), 177–228.