Variaciones de GAN

Los investigadores siguen encontrando técnicas mejoradas de GAN y nuevos usos para ellas. Aquí tienes una muestra de las variaciones de GAN para que tengas una idea de las posibilidades.

GAN progresivas

En una GAN progresiva, las primeras capas del generador producen imágenes de resolución muy baja, y las capas posteriores agregan detalles. Esta técnica permite que la GAN se entrene más rápido que las GAN no progresivas comparables y produce imágenes de mayor resolución.

Para obtener más información, consulta Karras et al., 2017.

GAN condicionales

Las GAN condicionales se entrenan en un conjunto de datos etiquetado y te permiten especificar la etiqueta para cada instancia generada. Por ejemplo, una GAN de MNIST no condicional produciría dígitos aleatorios, mientras que una GAN de MNIST condicional te permitiría especificar qué dígito debería generar la GAN.

En lugar de modelar la probabilidad conjunta P(X, Y), las GAN condicionales modelan la probabilidad condicional P(X | Y).

Para obtener más información sobre las GAN condicionales, consulta Mirza et al, 2014.

Traducción de imágenes

Las GAN de traducción de imágenes a imágenes toman una imagen como entrada y la asignan a una imagen de salida generada con diferentes propiedades. Por ejemplo, podemos tomar una imagen de máscara con una mancha de color en forma de automóvil, y la GAN puede completar la forma con detalles fotorrealistas del automóvil.

Del mismo modo, puedes entrenar una GAN de imagen a imagen para tomar bocetos de bolsos y convertirlos en imágenes fotorrealistas de bolsos.

Una tabla de 3 × 3 con imágenes de bolsos. Cada fila muestra un estilo de bolso diferente. En cada fila, la imagen de la izquierda es un dibujo simple con líneas de un bolso, la imagen del medio es una foto de un bolso real y la imagen de la derecha es una imagen fotorrealista generada por una GAN. Las tres columnas están etiquetadas como “Entrada”, “Verdad fundamental” y “Salida”.

En estos casos, la pérdida es una combinación ponderada de la pérdida habitual basada en discriminadores y una pérdida por píxeles que penaliza al generador por alejarse de la imagen de origen.

Para obtener más información, consulta Isola et al, 2016.

CycleGAN

Los CycleGAN aprenden a transformar imágenes de un conjunto en imágenes que podrían pertenecer a otro conjunto de manera plausible. Por ejemplo, un CycleGAN produjo la imagen de la derecha que se muestra a continuación cuando se le proporcionó la imagen de la izquierda como entrada. Tomó una imagen de un caballo y la convirtió en una imagen de una cebra.

Una imagen de un caballo corriendo y una segunda imagen que es idéntica en todos los aspectos, excepto que el caballo es una cebra.

Los datos de entrenamiento de CycleGAN son simplemente dos conjuntos de imágenes (en este caso, un conjunto de imágenes de caballos y un conjunto de imágenes de cebras). El sistema no requiere etiquetas ni correspondencias entre imágenes.

Para obtener más información, consulta Zhu et al., 2017, que ilustra el uso de CycleGAN para realizar la traducción de imagen a imagen sin datos vinculados.

Síntesis de texto a imagen

Las GAN de texto a imagen toman texto como entrada y producen imágenes que son creíbles y que el texto describe. Por ejemplo, la imagen de la flor que se muestra a continuación se produjo cuando se le proporcionó una descripción de texto a una GAN.

“Esta flor tiene pétalos amarillos con tonos naranja”. Una flor con pétalos amarillos con tonos anaranjados.

Ten en cuenta que, en este sistema, la GAN solo puede producir imágenes de un pequeño conjunto de clasas.

Para obtener más información, consulta Zhang et al, 2016.

Superresolución

Las GAN de superresolución aumentan la resolución de las imágenes y agregan detalles donde sea necesario para completar las áreas borrosas. Por ejemplo, la imagen borrosa del medio que se muestra a continuación es una versión con reducción de muestra de la imagen original de la izquierda. Dada la imagen borrosa, una GAN produjo la imagen más nítida de la derecha:

OriginalDesenfocadoSe restableció con GAN
Una pintura de una niña con un tocado elaborado. La diadema del tocado está tejida en un patrón complejo. Una versión desenfocada de la pintura de una niña con un tocado elaborado. Una pintura nítida y clara de una niña con un tocado elaborado. Esta pintura es casi idéntica a la primera imagen de esta tabla, pero algunos de los detalles de los patrones en su tocado y ropa son sutilmente diferentes.

La imagen generada por GAN se ve muy similar a la original, pero si miras con atención la diadema, verás que la GAN no reprodujo el patrón de estrella del original. En cambio, creó su propio patrón plausible para reemplazar el patrón borrado por la reducción de la muestra.

Para obtener más información, consulta Ledig et al, 2017.

Pintando en la imagen de rostros

Las GAN se han usado para la tarea de retoque de imágenes semánticas. En la tarea de inserción de imágenes, se oscurecen partes de una imagen y el sistema intenta completar las partes faltantes.

Yeh et al., 2017 usaron una GAN para superar a otras técnicas de inserción de imágenes de rostros:

EntradaSalida de GAN
Cuatro imágenes. Cada imagen es una foto de un rostro con algunas áreas reemplazadas por negro. Cuatro imágenes. Cada imagen es una foto de un rostro idéntico a una de las imágenes de la columna "Entrada", excepto que no hay áreas negras.

Text-to-Speech

No todas las GAN producen imágenes. Por ejemplo, los investigadores también usaron GAN para producir voz sintetizada a partir de entradas de texto. Para obtener más información, consulta Yang et al., 2017.