Passer au contenu principal
OpenAI

5 janvier 2021

Étape clé

DALL·E : Création d’images à partir de texte

Nous avons entraîné un réseau neuronal appelé DALL·E qui crée des images à partir de légendes textuelles pour un ensemble très diversifié de concepts exprimés en langage naturel.

DALL·E

Illustration : Justin Jay Wang

Chargement...

DALL·E est une version de GPT‑3(ouverture dans une nouvelle fenêtre) à 12 milliards de paramètres, entraînée à générer des images à partir de descriptions textuelles, en s’appuyant sur un ensemble de données de paires texte-image. Nous avons constaté l’étendue diversifiée de ses capacités, notamment la création de versions anthropomorphisées d’animaux et d’objets, la combinaison de concepts sans rapport entre eux de manière plausible, le rendu de texte et l’application de transformations à des images existantes.

Voir aussi : DALL·E 2, qui génère des images plus réalistes et plus précises avec une résolution quatre fois supérieure.

Chargement en cours...

GPT‑3 a montré que le langage pouvait être utilisé pour donner des instructions à un grand réseau neuronal pour la réalisation de tâches de génération de texte très diverses. Image GPT a prouvé que le même type de réseau neuronal pouvait servir à générer des images d’une grande fidélité. Nous étendons ces découvertes pour montrer que la manipulation de concepts visuels par le langage est désormais à la portée de tous.

Présentation

Comme GPT‑3, DALL·E est un modèle de langage transformeur. Il reçoit des éléments textuels ou visuels sous la forme d’un flux unique de données contenant jusqu’à 1280 jetons, et il est entraîné à l’aide de la méthode du maximum de vraisemblance pour générer tous les jetons, l’un après l’autre. A

Cette procédure d’apprentissage lui permet non seulement de générer une image à partir de zéro, mais aussi de regénérer toute zone rectangulaire étendue jusqu’au coin inférieur droit d’une image existante, d’une manière cohérente avec le prompt textuel.

Nous sommes conscients que les travaux impliquant des modèles génératifs sont susceptibles d’avoir d’importantes répercussions sociétales. Nous projetons d’analyser à l’avenir les liens entre les modèles comme DALL·E et les questions sociétales, notamment l’impact économique sur certains processus de travail et certaines professions, le risque de biais dans les résultats du modèle et les défis éthiques à plus long terme que fait naître cette technologie.

Fonctionnalités

DALL·E est capable de créer des images plausibles pour une grande variété de phrases qui explorent la structure compositionnelle du langage. Nous l’illustrons dans une série de visuels interactifs dans la section suivante. Les échantillons présentés dans les visuels pour chaque légende sont obtenus en prenant les 32 premiers résultats parmi 512 après reranking avec CLIP, mais nous ne procédons à aucune sélection manuelle, à l’exception des vignettes et des images indépendantes affichées à l’extérieur.B

Contrôle des attributs

Nous avons testé la capacité de DALL·E à modifier plusieurs attributs d’un objet, ainsi que le nombre de ses apparitions.

Chargement en cours...

Dessiner un ensemble d’objets

Le contrôle simultané de plusieurs objets, de leurs attributs et de leurs relations dans l’espace constitue un nouveau défi à relever. Prenons l’exemple de la description suivante : « un hérisson portant un chapeau rouge, des gants jaunes, une chemise bleue et un pantalon vert ». Pour interpréter correctement cette phrase, DALL·E doit non seulement créer correctement chaque vêtement, mais aussi comprendre les associations (bonnet, rouge), (gants, jaunes), (chemise, bleue) et (pantalon, vert) sans se tromper. C

 Nous avons testé la capacité de DALL·E à gérer le positionnement relatif, l’empilement d’objets et le contrôle d’attributs multiples.

Chargement en cours...

Si DALL·E offre un certain niveau de contrôle sur les attributs et la position d’un petit nombre d’objets, le taux de réussite peut dépendre de la manière dont la légende est formulée. Au fur et à mesure de l’ajout de nouveaux objets, DALL·E a tendance à confondre les associations objet-couleur et le taux de réussite diminue fortement. Nous avons également constaté une certaine fragilité dans les résultats obtenus avec une reformulation de la légende dans ces scénarios : des légendes alternatives, sémantiquement équivalentes, donnent souvent lieu à des interprétations incorrectes.

Visualisation de la perspective et 3D

DALL·E permet aussi de contrôler le point de vue d’une scène et son rendu 3D.

Chargement en cours...

Pour aller plus loin, nous avons testé sa capacité à dessiner de manière répétée la tête d’un personnage connu sous différents angles régulièrement espacés, et nous avons pu sur cette base reconstituer une animation de la tête en rotation.

Chargement en cours...

DALL·E est capable d’appliquer certains types de distorsions optiques à une scène, avec par exemple les options « objectif photographique fisheye » ou « panorama sphérique ». Cela nous a incités à explorer sa capacité à générer des images réfléchies.

Chargement en cours...

Visualisation de la structure interne et externe

Des échantillons de type « gros plan extrême » et « rayons X » nous ont amenés à explorer davantage la capacité de DALL·E à rendre la structure interne d’un objet, avec des vues en coupe, et la structure externe, avec des macrophotographies.

Chargement en cours...

Déduction de détails contextuels

La traduction de texte en image est une tâche sous-spécifiée : une seule légende correspond généralement à une infinité d’images plausibles, l’image n’est donc pas déterminée de manière unique. Prenons l’exemple de la légende « peinture d’un capybara assis dans un champ au lever du soleil ». Selon l’orientation du capybara, il peut être nécessaire de dessiner une ombre, même si ce détail n’est jamais mentionné explicitement. Nous avons exploré la capacité de DALL·E à résoudre les problèmes de sous-spécification dans trois cas : changement de style, de décor et de contexte temporel ; dessin d’un même objet dans différentes situations ; et génération de l’image d’un objet sur lequel est écrit un texte spécifique.

Chargement en cours...

Avec un degré de fiabilité variable, DALL·E donne accès à un sous-ensemble des capacités d’un moteur de rendu 3D via le langage naturel. Il peut contrôler de manière indépendante les attributs d’un petit nombre d’objets et, dans une certaine mesure, leur nombre et la manière dont ils sont disposés les uns par rapport aux autres. Il peut aussi contrôler l’emplacement et l’angle à partir desquels une scène est rendue, et il est capable de générer des objets connus en respectant des spécifications précises d’angle et de conditions d’éclairage.

Contrairement à un moteur de rendu 3D, qui exige une spécification intégralement détaillée et sans ambiguïté des éléments en entrée de traitement, DALL·E est souvent capable de « remplir les blancs » et d’inclure dans l’image des détails indispensables mais que la légende ne mentionne pas explicitement.

Applications des capacités précédentes

Nous avons ensuite exploré l’utilisation des capacités précédentes pour la mode et la décoration d’intérieur.

Chargement en cours...

Combinaison de concepts non liés entre eux

La nature compositionnelle du langage nous permet d’assembler des concepts pour décrire des choses réelles et imaginaires. DALL·E a aussi la capacité de combiner des idées disparates pour synthétiser des objets, dont certains ont peu de chances d’exister dans le monde réel. Nous explorons cette capacité dans deux scénarios : le transfert de qualités liées à différents concepts à des animaux et la conception de produits sur la base d’idées sans rapport entre elles.

Chargement en cours...

Illustrations animales

Dans la section précédente, nous avons étudié la capacité de DALL·E à combiner des concepts sans rapport entre eux lors de la création d’images à partir d’objets existants. Nous explorons ici cette capacité dans un contexte artistique, pour trois types d’illustrations : des versions anthropomorphisées d’animaux et d’objets, des chimères et des émojis.

Chargement en cours...

Raisonnement visuel zero-shot (sans entraînement préalable).

GPT‑3 est capable de traiter un grand nombre de tâches à partir d’une description et d’une simple indication dans le prompt, sans entraînement supplémentaire. Par exemple, lorsqu’on le sollicite de la manière suivante : « voici la phrase « a person walking his dog in the park » traduite en français : », GPT‑3 répond « un homme qui promène son chien dans le parc ». Cette capacité est appelée raisonnement zero-shot (sans entraînement préalable). DALL·E étend cette capacité au domaine visuel et il est capable d’effectuer plusieurs types de tâches de traduction d’image à image lorsqu’il est prompté de la bonne manière.

Chargement en cours...

Nous n’avons pas anticipé l’émergence de cette capacité et n’avons apporté aucune modification au réseau neuronal ou à la procédure d’apprentissage pour l’encourager. Motivés par ces résultats, nous avons mesuré l’aptitude de DALL·E à résoudre des problèmes de raisonnement analogique en le testant sur les matrices progressives de Raven, un test visuel de QI largement utilisé au 20e siècle.

Chargement en cours...

Connaissances géographiques

Nous avons constaté la capacité de DALL·E à exploiter des connaissances d’ordre géographique (faits, points de repère, environnement à proximité). Sa connaissance de ces concepts est étonnamment précise à certains égards et imparfaite sur d’autres aspects.

Chargement en cours...

Connaissances temporelles

En plus d’explorer les connaissances de DALL·E sur les concepts qui varient dans l’espace, nous avons aussi exploré ses connaissances sur les concepts qui varient dans le temps.

Chargement en cours...

Résumé de l’approche et des travaux antérieurs

DALL·E est un simple transformeur décodeur qui reçoit le texte et l’image sous la forme d’un flux unique de 1280 jetons (256 pour le texte et 1024 pour l’image), et qui les modélise de manière autorégressive. Le masque d’attention sur chacune des 64 couches d’auto-attention permet de traiter jetons d’image et de texte. DALL·E utilise le masque causal standard pour les jetons de texte et l’attention éparse pour les jetons d’image avec un modèle d’attention en ligne, en colonne ou convolutionnel, en fonction de la couche. Vous trouverez plus d’informations sur l’architecture et la procédure d’entraînement dans notre étude(ouverture dans une nouvelle fenêtre).

La synthèse texte-image est un domaine de recherche actif depuis les travaux pionniers de Reed et al1, dont l’approche utilise un GAN conditionné par des intégrations textuelles. Ces intégrations sont produites par un encodeur pré-entraîné sur le principe de perte (méthode de contrastive loss), à l’image de CLIP. StackGAN3 et StackGAN++4 utilisent des GAN multi-échelles pour augmenter la résolution de l’image et améliorer la fidélité visuelle. AttnGAN5 intègre l’attention entre les caractéristiques du texte et de l’image, et propose une perte de correspondance entre les caractéristiques du texte et de l’image comme objectif auxiliaire. Il est intéressant de comparer ce résultat à notre reranking avec CLIP, qui est réalisé hors ligne. D’autres travaux2, 6, 7 intègrent des sources de supervision supplémentaires pendant l’entraînement pour améliorer la qualité de l’image. Enfin, les travaux de Nguyen et al8 et Cho et al9 explorent des stratégies basées sur l’échantillonnage pour la génération d’images qui tirent parti de modèles discriminatifs multimodaux pré-entraînés.

À l’instar de l’échantillonnage de rejet utilisé dans VQVAE-2(ouverture dans une nouvelle fenêtre), nous utilisons CLIP pour reclasser les 32 premiers échantillons sur 512 pour chaque légende dans tous les visuels interactifs. Cette procédure peut aussi être considérée comme une sorte de recherche guidée par la langue16 et peut avoir un impact considérable sur la qualité de l’échantillon.

Chargement en cours...

Notes de bas de page

  1. A

    Un jeton est un symbole issu d’un vocabulaire spécifique ; pour les humains, chaque lettre en anglais est un jeton issu d’un alphabet de 26 lettres. Le vocabulaire de DALL·E contient des jetons pour les concepts de texte et d’image. Plus précisément, chaque légende est représentée par un maximum de 256 jetons encodés par paires d’octets avec une taille de vocabulaire de 16 384, et l’image est représentée par 1024 jetons avec une taille de vocabulaire de 8192.

Les images sont prétraitées avec application d’une résolution de 256x256 pendant l’entraînement. Comme pour un VQ-VAE, chaque image est compressée en une grille 32x32 de codes latents discrets à l’aide d’un VAE discret que nous avons entraîné en utilisant une méthode de relaxation continue. Nous avons constaté que ce type d’entraînement évite le recours à un livre de codes explicite, la perte de l’EMA ou certains pièges comme la reprise de codes morts, et peut s’étendre à des vocabulaires de grande taille.

  1. B

    Vous trouverez plus d’informations dans une section ultérieure.

  2. 17

    Cette tâche, appelée variable binding (liaison de variables), a été largement étudiée dans la littérature.

Références

  1. 1

    Reed, S., Akata, Z., Yan, X., Logeswaran, L., Schiele, B., Lee, H. (2016). « Generative adversarial text to image synthesis(ouverture dans une nouvelle fenêtre) ». In ICML 2016.

  2. 2

    Reed, S., Akata, Z., Mohan, S., Tenka, S., Schiele, B., Lee, H. (2016). « Learning what and where to draw(ouverture dans une nouvelle fenêtre) ». In NIPS 2016.

  3. 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(ouverture dans une nouvelle fenêtre) ». In ICCY 2017.

  4. 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(ouverture dans une nouvelle fenêtre) ». In IEEE TPAMI 2018.

  5. 5
  6. 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(ouverture dans une nouvelle fenêtre) ». In CVPR 2019.

  7. 7

    Koh, J. Y., Baldridge, J., Lee, H., Yang, Y. (2020). « Text-to-image generation grounded by fine-grained user attention(ouverture dans une nouvelle fenêtre) ». In WACV 2021.

  8. 8
  9. 9

    Cho, J., Lu, J., Schwen, D., Hajishirzi, H., Kembhavi, A. (2020). « X-LXMERT: Paint, caption, and answer questions with multi-modal transformers(ouverture dans une nouvelle fenêtre)”. EMNLP 2020.

  10. 10

    Kingma, Diederik P., and Max Welling. « Auto-encoding variational bayes(ouverture dans une nouvelle fenêtre). » arXiv preprint (2013).

  11. 11

    Rezende, Danilo Jimenez, Shakir Mohamed, and Daan Wierstra. « Stochastic backpropagation and approximate inference in deep generative models(ouverture dans une nouvelle fenêtre). » arXiv preprint (2014).

  12. 12
  13. 13
  14. 14

    van den Oord, A., Vinyals, O., Kavukcuoglu, K. (2017). « Neural discrete representation learning(ouverture dans une nouvelle fenêtre) ».

  15. 15
  16. 16

    Andreas, J., Klein, D., Levine, S. (2017). « Learning with Latent Language(ouverture dans une nouvelle fenêtre) ».

  17. 17
  18. 18
  19. 19
  20. 20

Auteurs principaux

Aditya Ramesh, Mikhail Pavlov, Gabriel Goh, Scott Gray

Soutien à la rédaction

Mark Chen, Rewon Child, Vedant Misra, Pamela Mishkin, Gretchen Krueger, Sandhini Agarwal, Ilya Sutskever