DALL·E : Créer des images à partir de texte
Nous avons entraîné un réseau neuronal nommé DALL·E qui crée des images à partir de légendes textuelles pour une large gamme de concepts exprimables en langage naturel.

Illustration : Justin Jay Wang
DALL·E est une version de GPT‑3(s'ouvre dans une nouvelle fenêtre) à 12 milliards de paramètres, conçue pour générer des images à partir de descriptions textuelles, en utilisant un ensemble de données de paires texte-image. Nous avons constaté qu'il possède un ensemble diversifié de capacités, y compris créer des versions anthropomorphisées d'animaux et d'objets, la combinaison de concepts sans rapport 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 précises avec une résolution quatre fois supérieure.
GPT‑3 a démontré que le langage peut être utilisé pour instruire un grand réseau neuronal à exécuter une variété de tâches de génération de texte. Image GPT a démontré que le même type de réseau neuronal peut également être utilisé pour générer des images avec une grande fidélité. Nous étendons ces découvertes pour montrer que la manipulation de concepts visuels par le langage est désormais à notre portée.
Comme GPT‑3, DALL·E est un modèle de language transformateur. Il reçoit à la fois le texte et l'image sous la forme d'un flux unique de données contenant jusqu'à 1280 tokens, et il est entraîné à l'aide du maximum de vraisemblance pour générer tous les tokens, l'un après l'autre. A
Cette procédure de formation permet à DALL·E non seulement de générer une image à partir de zéro, mais aussi de régénérer toute région rectangulaire d'une image existante qui s'étend jusqu'au coin inférieur droit, d'une manière cohérente avec l'invite textuelle.
Nous reconnaissons que les travaux impliquant des modèles génératifs ont le potentiel d'avoir des répercussions sociétales significatives et étendues. À l'avenir, nous avons un plan pour analyser comment des modèles comme DALL·E se rapportent aux questions sociétales telles que l'impact économique sur certains processus de travail et professions, le potentiel de biais dans les résultats du modèle, et les défis éthiques à long terme impliqués par cette technologie.
Nous constatons que 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 illustrons cela à l'aide d'une série de visuels interactifs dans la section suivante. Les échantillons présentés pour chaque légende dans les visuels sont obtenus en sélectionnant les 32 premiers sur 512 après un reranking avec CLIP, mais nous n'effectuons aucune sélection manuelle, sauf pour les vignettes et les images autonomes qui apparaissent à l'extérieur.B
Nous testons la capacité de DALL·E à modifier plusieurs attributs d’un objet, ainsi que le nombre de fois qu’il apparaît.
Le contrôle simultané de plusieurs objets, de leurs attributs et de leurs relations spatiales constitue un nouveau défi. Par exemple, considérez la phrase « 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 composer correctement chaque vêtement avec l'animal, mais aussi établir les associations (chapeau, rouge), (gants, jaune), (chemise, bleu) et (pantalon, vert) sans les confondre. C
Nous testons la capacité de DALL·E à effectuer cela pour le positionnement relatif, l’empilement d’objets et le contrôle de multiples attributs.
Bien que DALL·E offre un certain niveau de contrôle sur les attributs et les positions 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. À mesure que de nouveaux objets sont introduits, DALL·E a tendance à confondre les associations entre les objets et leurs couleurs, et le taux de réussite diminue fortement. Nous avons également noté que DALL·E est fragile face à la reformulation des légendes dans ces scénarios : des légendes alternatives, sémantiquement équivalentes, ne produisent souvent pas d'interprétations correctes.
DALL·E permet aussi de contrôler le point de vue d’une scène et son rendu 3D.
Pour aller plus loin, nous testons la capacité de DALL·E à dessiner de manière répétée la tête d’une figure bien connue à chaque angle d’une séquence d’angles également espacés, et nous constatons que nous pouvons reconstituer une animation fluide de la tête en rotation.
DALL·E semble être capable d’appliquer certains types de distorsions optiques à des scènes, comme nous le voyons avec les options « vue à objectif fisheye » et « panorama sphérique ». Cela nous a motivés à explorer sa capacité à générer des réflexions.
Les échantillons de type « gros plan extrême » et « rayons X » nous ont incités à explorer davantage la capacité de DALL·E à représenter la structure interne avec des vues en coupe et la structure externe avec des macrophotographies.
La tâche de traduire du texte en images est sous-spécifiée : une seule légende correspond généralement à une infinité d'images plausibles, donc l'image n'est pas déterminée de manière unique. Par exemple, considérez 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, bien que ce détail ne soit jamais mentionné explicitement. Nous explorons la capacité de DALL·E à résoudre la sous-spécification dans trois cas : le changement de style, de décor et de temps ; dessiner le même objet dans diverses situations ; et générer une image d’un objet avec un texte spécifique écrit dessus.
Avec des degrés de fiabilité variables, DALL·E offre un accès à un sous-ensemble des fonctionnalités d'un moteur de rendu 3D par le biais du langage naturel. Il peut contrôler de manière indépendante les attributs d’un petit nombre d’objets et, dans une mesure limitée, leur nombre ainsi que la manière dont ils sont disposés les uns par rapport aux autres. Il peut également contrôler l’emplacement et l’angle à partir desquels une scène est rendue, et peut 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.
Suivant, nous explorons l'utilisation des capacités précédentes pour la mode et la décoration intérieure.
La nature compositionnelle du langage nous permet d’assembler des concepts pour décrire des choses réelles et imaginaires. Nous constatons que DALL·E a également la capacité de combiner des idées disparates pour synthétiser des objets, dont certains sont peu susceptibles d’exister dans le monde réel. Nous explorons cette capacité dans deux cas : transférer des qualités de divers concepts à des animaux, et concevoir des produits en s'inspirant de concepts sans rapport.
Dans la section précédente, nous avons exploré la capacité de DALL·E à combiner des concepts sans rapport entre eux lorsqu’il génère des images d’objets du monde réel. Ici, nous explorons cette capacité dans le contexte de l'art, pour trois types d'illustrations : des versions anthropomorphisées d'animaux et d'objets, des chimères animales et des émojis.
GPT‑3 peut être instruit pour effectuer de nombreux types de tâches uniquement à partir d'une description et d'un indice pour générer la réponse fournie dans son invite, sans aucune formation supplémentaire. Par exemple, lorsqu’on lui donne comme invite la phrase 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). Nous constatons que DALL·E étend cette capacité au domaine visuel et est capable d’effectuer plusieurs types de tâches d’image à image lorsqu’on lui fournit les bonnes invites.
Nous n'avons pas anticipé que cette capacité émergerait et n'avons apporté aucune modification au réseau neuronal ou à la procédure de formation pour l'encourager. Motivés par ces résultats, nous mesurons 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 XXe siècle.
Nous avons constaté que DALL·E a appris des faits géographiques, des points de repère et des quartiers. Sa connaissance de ces concepts est étonnamment précise à certains égards et imparfaite à d'autres.
En plus d’explorer les connaissances de DALL·E sur les concepts qui varient dans l’espace, nous explorons également ses connaissances sur les concepts qui varient dans le temps.
DALL·E est un simple transformeur décodeur qui reçoit à la fois le texte et l’image sous la forme d’un flux unique de 1280 tokens—256 pour le texte et 1024 pour l’image—et les modélise tous de manière autorégressive. Le masque d’attention à chacune de ses 64 couches d’auto-attention permet à chaque token d’image de se référer à tous les tokens de texte. DALL·E utilise le masque causal standard pour les tokens de texte et l'attention éparse pour les tokens d'image avec un modèle d'attention en ligne, en colonne ou convolutionnel, selon la couche. Nous fournissons plus de détails sur l'architecture et la procédure de formation dans notre article(s'ouvre dans une nouvelle fenêtre).
La synthèse texte-image est un domaine de recherche actif depuis les travaux pionniers de Reed et al. et al1, dont l’approche utilise un GAN conditionné sur des embeddings textuels. Les embeddings sont produits par un encodeur pré-entraîné utilisant une perte contrastive, à 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 contrastive entre les caractéristiques du texte et de l’image comme objectif auxiliaire. Il est intéressant de comparer cela à notre reranking avec CLIP, qui est effectué hors ligne. D’autres travaux2, 6, 7 intègrent des sources de supervision supplémentaires pendant la formation pour améliorer la qualité de l’image. Enfin, les travaux de Nguyen et al. al8 et Cho et al. al9 explore des stratégies d'échantillonnage pour la génération d'images qui exploitent des modèles discriminatifs multimodaux pré-entraînés.
À l’instar de l’échantillonnage de rejet utilisé dans VQVAE-2(s'ouvre dans une nouvelle fenêtre), nous utilisons CLIP pour reclasser les 32 meilleurs échantillons sur 512 pour chaque légende dans tous les visuels interactifs. Cette procédure peut également être perçue comme une forme de recherche guidée par la langue16, et elle peut avoir un impact dramatique sur la qualité de l'échantillon.
Notes de bas de page
- A
Un token est un symbole issu d’un vocabulaire discret; pour les humains, chaque lettre en anglais est un token issu d’un alphabet de 26 lettres. Le vocabulaire de DALL·E comprend des tokens pour les concepts de texte et d’image. Plus précisément, chaque légende d'image est représentée par un maximum de 256 tokens encodés par paires d'octets avec une taille de vocabulaire de 16 384, et l'image est représentée par 1 024 tokens avec une taille de vocabulaire de 8 192.
Les images sont traitées à l'avance à une résolution de 256x256 pendant la formation. Similaire au VQVAE, chaque image est compressée en une grille de 32x32 codes latents discrets à l'aide d'un VAE discret que nous avons préentraîné en utilisant une relaxation continue. Nous avons constaté que la formation utilisant la relaxation rend inutile le recours à un livre de codes explicite, à la perte de l'EMA ou à des astuces comme la reprise de codes morts, et peut s'étendre à des vocabulaires de grande taille.
- B
Des détails supplémentaires sont fournis dans une section ultérieure.
- 17
Cette tâche, appelée liaison de variables, a été largement étudiée dans la littérature.
Références
- 1
Reed, S., Akata, Z., Yan, X., Logeswaran, L., Schiele, B., Lee, H. (2016). « Generative adversarial text to image synthesis(s'ouvre dans une nouvelle fenêtre) ». À ICML 2016.
- 2
Reed, S., Akata, Z., Mohan, S., Tenka, S., Schiele, B., Lee, H. (2016). « Apprendre quoi et où dessiner(s'ouvre dans une nouvelle fenêtre) » En NIPS 2016.
- 3
Zhang, H., Xu, T., Li, H., Zhang, S., Wang, X., Huang X., Metaxas, D. (2016). « StackGAN : Synthèse texte vers image photoréaliste avec réseaux génératifs adverse empilés(s'ouvre dans une nouvelle fenêtre) ».s En ICCY 2017.
- 4
Zhang, H., Xu, T., Li, H., Zhang, S., Wang, X., Huang, X., Metaxas, D. (2017). « StackGAN++ : synthèse d'images réalistes avec des réseaux adversaires génératifs empilés(s'ouvre dans une nouvelle fenêtre) ». Dans 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(s'ouvre dans une nouvelle fenêtre) ».
- 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(s'ouvre dans une nouvelle fenêtre) ». En CVPR 2019.
- 7
Koh, J. Y., Baldridge, J., Lee, H., Yang, Y. (2020). « Génération de texte à partir d'images fondée sur l'attention fine de l'utilisateur(s'ouvre dans une nouvelle fenêtre) ». En WACV 2021.
- 8
Nguyen, A., Clune, J., Bengio, Y., Dosovitskiy, A., Yosinski, J. (2016). « Réseaux génératifs prêts à l'emploi : génération itérative conditionnelle d'images dans l'espace latent(s'ouvre dans une nouvelle fenêtre) »
- 9
Cho, J., Lu, J., Schwen, D., Hajishirzi, H., Kembhavi, A. (2020). « X-LXMERT : Peinture, légende et réponse aux questions avec des transformateurs multimodaux(s'ouvre dans une nouvelle fenêtre) ». EMNLP 2020.
- 10
Kingma, Diederik P., et Max Welling. « Autocodage variationnel bayésien(s'ouvre dans une nouvelle fenêtre) ». arXiv preprint (2013).
- 11
Rezende, Danilo Jimenez, Shakir Mohamed, et Daan Wierstra. « Rétropropagation stochastique et inférence approximative dans les modèles génératifs profonds(s'ouvre dans une nouvelle fenêtre). » arXiv preprint (2014).
- 12
Jang, E., Gu, S., Poole, B. (2016). « Réparamétrisation catégorielle avec Gumbel-softmax(s'ouvre dans une nouvelle fenêtre) ».
- 13
Maddison, C., Mnih, A., Teh, Y. W. (2016). « La distribution concrète : une relaxation continue de variables aléatoires discrètes(s'ouvre dans une nouvelle fenêtre) ».
- 14
van den Oord, A., Vinyals, O., Kavukcuoglu, K. (2017). « Apprentissage par représentation discrète neuronale(s'ouvre dans une nouvelle fenêtre) ».
- 15
Razavi, A., van der Oord, A., Vinyals, O. (2019). « Générer des images diverses et de haute fidélité avec VQ-VAE-2(s'ouvre dans une nouvelle fenêtre) »
- 16
Andreas, J., Klein, D., Levine, S. (2017). « Apprendre avec un langage latent(s'ouvre dans une nouvelle fenêtre) ».
- 17
- 18
- 19
- 20
Kanerva, P. (1997). « Représentations entièrement distribuées(s'ouvre dans une nouvelle fenêtre) ».


