DALL·E: creación de imágenes a partir de texto
Hemos entrenado una red neuronal llamada DALL·E, que crea imágenes a partir de descripciones textuales para una amplia gama de conceptos expresables en lenguaje natural.

Ilustración: Justin Jay Wang
DALL·E es una versión de 12 000 millones de parámetros de GPT‑3(se abre en una ventana nueva) que hemos entrenado con un conjunto de datos formado por pares imagen-texto con el fin de generar imágenes a partir de descripciones textuales. Hemos observado que tiene una gran variedad de posibilidades, como crear versiones antropomórficas de animales y objetos, combinar conceptos no relacionados de forma plausible, renderizar texto y aplicar transformaciones a imágenes existentes.
Consulta también: DALL·E 2, que genera imágenes más precisas y realistas con una resolución cuatro veces mayor.
Con GPT‑3 descubrimos que podíamos dar instrucciones en lenguaje natural a una gran red neuronal para que llevara a cabo distintas tareas de generación de texto. El GPT de imagen reveló que el mismo tipo de red neuronal podía servir para generar imágenes con un gran nivel de fidelidad. Ahora estamos en disposición de afirmar que el lenguaje también nos permite manipular conceptos visuales.
Igual que GPT‑3, DALL·E es un modelo de lenguaje basado en la arquitectura Transformer. Recibe los textos y las imágenes en un único flujo de datos que contiene hasta 1280 tókenes, y lo hemos entrenado aplicando la máxima probabilidad para generar todos los tókenes, uno tras otro.A
Este tipo de entrenamiento no solo permite a DALL·E generar una imagen desde cero, sino también regenerar cualquier región rectangular de una imagen existente hasta la esquina inferior derecha a partir de un prompt textual.
Somos conscientes de que las tareas que comportan el uso de modelos generativos pueden incidir notablemente en el conjunto de la sociedad. En un futuro, prevemos analizar hasta qué punto los modelos como DALL·E repercuten en cuestiones sociales, como el impacto económico en determinados procesos y profesiones, la posibilidad del sesgo en los resultados de los modelos y los problemas éticos que el uso de esta tecnología plantea a largo plazo.
Hemos observado que DALL·E es capaz de generar imágenes plausibles a partir de una gran variedad de frases que exploran los componentes estructurales del lenguaje. En el apartado siguiente ilustramos este aspecto a partir de una serie de imágenes interactivas. Las muestras que aparecen para cada descripción se han obtenido seleccionando las 32 mejores de un total de 512 tras reclasificarlas con CLIP. No las hemos seleccionado manualmente ni por conveniencia, a excepción de las capturas y las imágenes independientes que aparecen en otros apartados.B
Hemos evaluado la capacidad de DALL·E para modificar los distintos atributos de un objeto, así como el número de veces que aparece.
Hemos detectado dificultades para controlar de forma simultánea varios objetos, sus atributos y las relaciones espaciales que guardan entre sí. Pongamos, por ejemplo, la frase «un erizo vestido con un sombrero rojo, unos guantes amarillos, una camisa azul y unos pantalones verdes». Para interpretar correctamente esta frase, DALL·E no solo tiene que componer bien cada prenda con respecto al animal, sino también formar las asociaciones (gorro, rojo), (guantes, amarillos), (camisa, azul) y (pantalones, verde) sin mezclarlas.C.
Hemos evaluado la capacidad de DALL·E de predecir el posicionamiento relativo, de apilar objetos y de controlar varios atributos a la vez.
Aunque presenta un cierto grado de control sobre los atributos y el posicionamiento de un conjunto pequeño de objetos, los resultados suelen depender de cómo esté formulada la descripción. Conforme aumenta el número de objetos, más tiende a confundir la asociación entre los objetos y sus colores, y el índice de éxito baja drásticamente. En este mismo contexto, observamos que DALL·E es sumamente sensible a la reformulación de las descripciones, es decir, las descripciones alternativas semánticamente equivalentes suelen dar lugar a interpretaciones erróneas.
Hemos detectado que DALL·E también permite controlar la perspectiva de una escena y el estilo 3D con el que se renderiza.
Para explorar los límites de esta posibilidad, hemos puesto a prueba la capacidad de DALL·E de dibujar repetidamente el busto de un personaje histórico desde cada ángulo a partir de una secuencia de ángulos espaciados de manera uniforme. Como resultado, hemos obtenido una animación fluida del busto giratorio.
Asimismo, hemos observado que DALL·E también es capaz de distorsionar las escenas; por ejemplo, con las opciones «vista de ojo de pez» y «panorámica esférica». Este descubrimiento nos ha animado a estudiar su capacidad de generar reflejos.
Las muestras que obtuvimos con el estilo «primer plano extremadamente detallado» y «rayos x» nos llevaron a evaluar la capacidad de DALL·E de renderizar estructuras internas con secciones transversales y la estructura externa con fotografías macro.
El proceso de traducir texto a imagen no es específico. Por lo general, una misma descripción se corresponde con infinidad de imágenes posibles, por lo que la imagen no se determina de forma única. Imagina que escribimos la descripción «una pintura de una capibara sentada en un campo al atardecer». Según cómo esté orientada la capibara, necesitará una sombra, aunque no demos esta información explícitamente. Hemos puesto a prueba la capacidad de DALL·E de resolver esta imprecisión en tres escenarios distintos: cambiando el estilo, el escenario y el tiempo; dibujando el mismo objeto en varias situaciones distintas; y generando una imagen de un objeto con un texto escrito encima.
Con unos resultados variables en términos de fiabilidad, con DALL·E tenemos acceso a una parte de las capacidades que presentan los motores de renderizado 3D a partir del lenguaje natural. Es capaz de controlar de forma independiente los atributos de un conjunto pequeño de objetos y, hasta cierto punto, saber cuántos hay y cómo se posicionan los unos respecto a los otros. Asimismo, es capaz de controlar la posición y el ángulo desde los cuales cual se renderiza una escena, y puede generar objetos conocidos a partir de unas indicaciones precisas con respecto a la perspectiva y las condiciones de iluminación.
A diferencia de los motores de renderizado 3D, los cuales requieren instrucciones precisas, detalladas y sin ambigüedades, DALL·E suele ser capaz de inferir la información que le falta cuando en la descripción se sobreentiende que la imagen debe contener cierto grado de detalle, pero no se menciona expresamente.
Ahora veremos qué usos pueden tener las capacidades anteriores en el sector de la moda y el diseño de interiores.
La estructura del lenguaje nos permite relacionar conceptos para describir objetos reales e imaginarios. Hemos observado que DALL·E también tiene la capacidad de combinar ideas dispares para generar objetos, algunos de los cuales difícilmente veríamos en el mundo real. Hemos explorado esta capacidad en dos escenarios: transferir cualidades de varios conceptos a animales y diseñar productos inspirados en conceptos no relacionados.
En el apartado anterior, hemos visto la capacidad de DALL·E de combinar objetos que no guardan relación entre sí para generar imágenes de objetos reales. Aquí, exploraremos esta capacidad desde la perspectiva del arte a través de tres tipos de ilustraciones: versiones antropomórficas de animales y objetos, animales imposibles y emojis.
Podemos pedir a GPT‑3 que lleve a cabo varias tareas indicando en la descripción y la instrucción que genere la respuesta que aparece en el prompt, sin entrenamiento adicional. Por ejemplo, al prompt «aquí tienes la frase “una persona paseando a su perro por el parque” traducida al francés:», GPT‑3 responde «un homme qui promène son chien dans le parc». Esta capacidad se denomina razonamiento zero shot. Hemos observado que DALL·E traslada esta capacidad al ámbito visual, ya que es capaz de desempeñar distintas tareas de traducción de imagen a imagen cuando se le pide de la manera correcta.
Esta capacidad no estaba contemplada en un principio, y no hicimos ninguna modificación ni en la red neuronal ni en el método de entrenamiento para propiciarla. Animados por estos resultados, evaluamos la capacidad de DALL·E para resolver problemas de razonamiento por analogía probándolo con las matrices progresivas de Raven, un test de CI visual muy popular en el siglo XX.
Hemos averiguado que DALL·E ha adquirido conocimientos geográficos y conoce barrios y lugares emblemáticos. Sus conocimientos al respecto son sorprendentemente precisos en unos casos e imprecisos en otros.
Además de explorar los conocimientos de DALL·E con respecto a conceptos que varían en el espacio, también analizamos sus conocimientos con conceptos que varían en el tiempo.
DALL·E es un Transformer basado únicamente en un descodificador que recibe los textos y las imágenes en único flujo de datos de 1280 tókenes —256 tókenes para el texto y 1024 tókenes para la imagen— y los modela de forma autorregresiva. La máscara de atención disponible en cada una de sus 64 capas de autoatención hace posible que cada token de imagen pueda atender a todos los tókenes de texto. DALL·E usa una máscara causal estándar para los tókenes de texto y atención dispersa para los tókenes de imagen, aplicando un patrón de atención por filas, columnas o convolucional, según la capa. Encontrarás más información sobre la arquitectura y el método de entrenamiento en nuestro artículo(se abre en una ventana nueva).
La síntesis de texto a imagen ha sido objeto de investigación desde el estudio pionero que lideraron Reed et al.,1 mediante el cual aplicaron una GAN condicionada en incrustaciones de texto. Un codificador preentrenado genera estas incrustaciones empleando una pérdida contrastiva, de forma similar a CLIP. StackGAN3 y StackGAN++4 utilizan GAN multiescala para escalar la resolución de la imagen y mejorar la fidelidad visual. AttnGAN5 incorpora un mecanismo de atención para vincular correctamente las partes del texto con las de la imagen, y añade una pérdida contrastiva como objetivo auxiliar para asegurarse de que la imagen generada coincida con el texto. Es interesante compararlo con la reclasificación que hace CLIP, proceso que tiene lugar offline. En otras obras,2, 6 y 7 se incorporan fuentes de supervisión adicionales durante el entrenamiento para mejorar la calidad de las imágenes. Finalmente, las investigaciones de Nguyen et al.8 y Cho et al.9 exploran estrategias basadas en muestreos para generar imágenes a partir de modelos discriminatorios multimodales preentrenados.
De forma similar al muestreo de rechazo que utiliza VQVAE-2(se abre en una ventana nueva), usamos CLIP para reclasificar las 32 mejores muestras de un total de 512 para cada descripción en todas las imágenes interactivas. Podríamos considerar este procedimiento como una especie de búsqueda basada en el lenguaje,16 y puede influir notablemente en la calidad de la muestra.
Notas al pie
- A
Un token es cualquier símbolo de un vocabulario discreto. En el caso de los humanos, cada letra inglesa constituye un token de un alfabeto de 26 letras. El vocabulario de DALL·E contiene tókenes para conceptos de texto e imagen. En concreto, cada descripción de una imagen se representa con un máximo de 256 tókenes codificados con BPE con un vocabulario de 16 384, y la imagen se representa con 1024 tókenes con un vocabulario de 8192.
Durante el entrenamiento, las imágenes se preprocesan con una resolución de 256x256. De forma similar al modelo VQVAE, cada imagen se comprime en una cuadrícula de 32x32 de códigos latentes discretos empleando un VAE discreto que entrenamos previamente aplicando una relajación constante. Hemos visto que el entrenamiento con relajación evita tener que contar con una lista predefinida de códigos posibles, la pérdida de EMA o el uso de técnicas como la recuperación de código muerto, y puede ampliarse a vocabularios muy extensos.
- B
Detallamos estos aspectos en otra sección.
- 17
Esta tarea se denomina vinculación de variables y se ha estudiado largamente en otras publicaciones.
Referencias
- 1
Reed, S., Akata, Z., Yan, X., Logeswaran, L., Schiele, B., Lee, H. (2016). «Generative adversarial text to image synthesis(se abre en una ventana nueva)». En ICML 2016.
- 2
Reed, S., Akata, Z., Mohan, S., Tenka, S., Schiele, B., Lee, H. (2016). «Learning what and where to draw(se abre en una ventana nueva)». En NIPS 2016.
- 3
Zhang, H., Xu, T., Li, H., Zhang, S., Wang, X., Huang X., Metaxas, D. (2016). «StackGAN: Text to photo-realistic image synthesis with stacked generative adversarial networks(se abre en una ventana nueva)». En ICCY 2017.
- 4
Zhang, H., Xu, T., Li, H., Zhang, S., Wang, X., Huang, X., Metaxas, D. (2017). «StackGAN++: realistic image synthesis with stacked generative adversarial networks(se abre en una ventana nueva)». En IEEE TPAMI 2018.
- 5
Xu, T., Zhang, P., Huang, Q., Zhang, H., Gan, Z., Huang, X., He, X. (2017). «AttnGAN: Fine-grained text to image generation with attentional generative adversarial networks(se abre en una ventana nueva)».
- 6
Li, W., Zhang, P., Zhang, L., Huang, Q., He, X., Lyu, S., Gao, J. (2019). «Object-driven text-to-image synthesis via adversarial training(se abre en una ventana nueva)». En CVPR 2019.
- 7
Koh, J. Y., Baldridge, J., Lee, H., Yang, Y. (2020). «Text-to-image generation grounded by fine-grained user attention(se abre en una ventana nueva)». En WACV 2021.
- 8
Nguyen, A., Clune, J., Bengio, Y., Dosovitskiy, A., Yosinski, J. (2016). «Plug & play generative networks: conditional iterative generation of images in latent space(se abre en una ventana nueva)».
- 9
Cho, J., Lu, J., Schwen, D., Hajishirzi, H., Kembhavi, A. (2020). «X-LXMERT: Paint, caption, and answer questions with multi-modal transformers(se abre en una ventana nueva)». EMNLP 2020.
- 10
Kingma, Diederik P. y Max Welling. «Auto-encoding variational bayes(se abre en una ventana nueva)». Preimpresión de arXiv (2013).
- 11
Rezende, Danilo Jimenez, Shakir Mohamed y Daan Wierstra. «Stochastic backpropagation and approximate inference in deep generative models(se abre en una ventana nueva)». Preimpresión de arXiv (2014).
- 12
Jang, E., Gu, S., Poole, B. (2016). «Categorical reparametrization with Gumbel-softmax(se abre en una ventana nueva)».
- 13
Maddison, C., Mnih, A., Teh, Y. W. (2016). «The Concrete distribution: a continuous relaxation of discrete random variables(se abre en una ventana nueva)».
- 14
van den Oord, A., Vinyals, O., Kavukcuoglu, K. (2017). «Neural discrete representation learning(se abre en una ventana nueva)».
- 15
Razavi, A., van der Oord, A., Vinyals, O. (2019). «Generating diverse high-fidelity images with VQ-VAE-2(se abre en una ventana nueva)».
- 16
Andreas, J., Klein, D., Levine, S. (2017). «Learning with Latent Language(se abre en una ventana nueva)».
- 17
- 18
- 19
- 20
Kanerva, P. (1997). «Fully distributed representations(se abre en una ventana nueva)».


