Introducción a Modelos Generativos ProfundosEnrique Blanco 6 junio, 2019 Es muy probable que en las últimas semanas se hayan encontrado con el resultado de una investigación realizada por Tero Karrasm, Samuli Laine y Timo Aila por parte de NVIDIA Corporation. En este paper se indica cómo han entrenado un modelo generativo para generar rostros humanos de gente que no existe, y todo esto sólo descargando imágenes públicas de Flickr de alta calidad y, eso sí, un tiempo extenso de entrenamiento con HW de alto rendimiento. Os dejamos un enlace al vídeo generado tras esta investigación que, con total seguridad, les llamará la atención. A Style-Based Generator Architecture for Generative Adversarial Networks. NVIDIA Corporation. Introducción Pero, ¿qué es un modelo generativo? Un modelo generativo es una arquitectura profunda dotada de algoritmos de aprendizaje que tiene como misión aprender cualquier tipo de distribución de datos, todo esto aplicado dentro del paradigma de aprendizaje no supervisado. Todos los tipos de modelos generativos buscan aprender la verdadera distribución de datos del conjunto de entrenamiento y, una vez logrado, ser capaces generar nuevas muestras con ligeras variaciones. No siempre resulta posible abstraer la distribución exacta de nuestros datos, por lo que, haciendo uso de las redes neuronales, se intenta modelar una distribución lo más similar posible a la distribución verdadera. Fig. 1. Distribución de probabilidad aprendida por el modelo generativo y distribución real. Fuente. Para entrenar un modelo generativo, primero se recopilan una gran cantidad de datos en algún campo, como por ejemplo un elevado número de imágenes para, posteriormente, entrenar una arquitectura dotada de un algoritmo capaz de generar datos similares. Ya que nos movemos en un paradigma no supervisado, el científico de datos se ahorra el tiempo de etiquetar los datos, por lo que se cuenta con una gran información con la que alimentar el modelo. Mientras que un modelo discriminativo es un modelo de probabilidad condicionada de un target dada una variable independiente , que matemáticamente queda representado como . Los modelos generativos permiten calcular la distribución de probabilidad conjunta entre un observable y una variable tal que . Dos arquitecturas profundas se han erigido como los principales pilares para desarrollar modelos generativos: Variational Autoencoders (VAEs) y Generative Adversarial Networks (GANs). Variational Autoencoders Los VAEs intenta maximizar la similitud entre las imágenes generadas y las imágenes con las que han sido alimentadas registro de datos y las GANs se entrenan con la intención de lograr un equilibrio entre un generador y un discriminador. Los VAEs son modelos generativos sencillos cuya aplicación va desde la generación de imágenes hasta la generación de muestras de audio. De manera más precisa, un Autoencoder es un tipo especial de red neuronal cuyo objetivo es hacer coincidir la entrada que se le proporcionó con la salida con la mayor semejanza posible. Este tipo de arquitecturas pueden extraer patrones de las entradas que realizan en las capas más profundas de su topología. El Autoencoder debe comprimir la información para poder reconstruirla a posteriori. Fig. 2. Arquitectura de un Autoencoder. Fuente. Tras un entrenamiento correcto, el Autoencoder aprenderá a representar los valores de entrada en una forma diferente, pero mucho más compacta. De hecho, haciendo un muestreo en la distribución aprendida en el espacio latente de la arquitectura, se es capaz de generar muestras de datos. A esta variación, haciendo uso del conocido como Reparametrizaton Trick, se le conoce como Variational Autoencoder. Fig. 3. Ejemplo de arquitectura de Variational Autoencoder. Véase el sampling de la distribución del espacio latente. En el siguiente vídeo mostramos cómo un Variational Autencoder aprende a reproducir un rostro con el tiempo. Este vídeo fue generado como parte de una investigación sobre la aplicación de estos modelos generativos del equipo de Ideas Locas CDO para la RootedCON 2019 que tuvo lugar el pasado mes de marzo. Podéis consultar los detalles en este enlace a las diapositivas presentadas y en este otro al paper derivado de la investigación. Generative Adversarial Networks Por otro lado, las GANs son el perfecto ejemplo de una red neuronal que constituye un modelo generativo haciendo uso del paradigma de aprendizaje no supervisado para entrenar dos modelos en paralelo en un juego de suma cero. El principio del entrenamiento de este tipo de redes es fácil a la par que ingenioso. Se lleva a cabo un entrenamiento simultáneo de dos arquitecturas que se alimentan la una a la otra: un modelo generativo captura la distribución de los datos y genera muestras a partir de un modelo estadístico, mientras que un modelo discriminador , que se comporta como un clasificador. Éste estima la probabilidad de que una muestra provenga bien de los datos con los que se entrena el modelo o de que hay sido generado por . El entrenamiento de este tipo de redes busca entrenar para desenmascarar a maximizando la probabilidad de que esté equivocado. Fig. 4. Generative Adversarial Network example. Cuando el modelo discriminador , que funciona como un clasificador binario, rechaza un ejemplo producido por el generador, el modelo generador aprende a refinar cada vez mejor la generación de nuevas muestras. De acuerdo con Goodfellow et al. Generative Adversarial Nets, el problema reside en que este tipo de arquitecturas son difíciles de optimizar. Se intenta encontrar un punto de silla en vez de un mínimo de la función, por lo que el proceso de optimización resulta inestable. Esto ha sido todo sobre esta breve introducción a los modelos generativos. Seguiremos profundizando en el potencial que ofrecen este tipo de tecnologías. Para mantenerte al día con LUCA visita nuestra página web, suscríbete a LUCA Data Speaks o síguenos en Twitter, LinkedIn y YouTube. LUCA Store: Aumentamos la fidelidad de los clientesLos post de la semana en LUCA: Del 3 al 7 de junio
Nacho Palou 5G: cuatro casos de uso reales y prácticos El último informe “La Sociedad Digital en España 2022” [1] de Fundación Telefónica confirma la consolidación de los procesos de digitalización en la sociedad española. En este sentido, cabe...
Nacho Palou Cursos gratuitos online para aprender IoT (Internet de las Cosas) en 2023 Internet de las Cosas (IoT) es una de las tecnologías digitales de nueva generación con un impacto significativo en múltiples sectores, desde la industria a la agricultura, pasando por...
Fran Ramírez Mujeres que cambiaron las Matemáticas Por Fran Ramírez y Fran Fenoll Aprovechando que en marzo también se celebra el día Internacional de las Matemáticas, hemos querido rendir con esta recopilación un pequeño homenaje a mujeres que...
Nacho Palou #MujeresHacker de Telefónica Tech: Jess Woods, experta en Cloud Con motivo del Día de la Mujer, iniciamos una serie de entrevistas protagonizadas por #MujeresHacker de Telefónica Tech. Mujeres que, con su trabajo y esfuerzo, nos convierten en una...
Sergio Piorno Güemes Un nuevo paradigma financiero: la tokenización de activos En los últimos años se ha acelerado la digitalización del ecosistema financiero gracias a la adopción generalizada de internet y su consecuente desarrollo. Esto, junto con el auge de los dispositivos móviles,...
Nacho Palou MWC: Todas las innovaciones y el conocimiento experto que hemos compartido Después de cuatro intensos días, Mobile Word Congress (MWC) 2023 se despide hoy hasta el año que viene. Desde el pasado lunes, los asistentes han tenido ocasión de ver...