À retenir
- DALL-E a montré comment relier le langage et la génération d’images en transformant des prompts textuelles en concepts visuels.
- Le modèle est utile parce qu’il peut combiner des idées, des objets et des styles, mais le prompt n’offre toujours qu’un contrôle partiel.
- Les vraies questions touchent la qualité, la sécurité, la provenance des données, l’imitation de styles et l’utilisation responsable des images générées.
Le modèle utilise une architecture Transformer pour générer des images à partir d’un texte et d’une image de base envoyés en input au réseau. Mais il ne se contente pas de prendre l’image et le texte, puis de les envoyer au réseau. Pour que l’architecture Transformer puisse les « comprendre », l’information doit d’abord être modélisée dans un seul flux de données. C’est nécessaire parce que l’utilisation directe des pixels demanderait beaucoup trop de mémoire pour des images en haute résolution.

Source : A. Ramesh et al., Zero-shot text-to-image generation, 2021. arXiv:2102.12092 [cs.CV]
Les chercheurs utilisent plutôt un autoencodeur variationnel discret appelé dVAE. Il reçoit l’image en input et la transforme en une grille de 32 x 32, ce qui donne 1024 tokens d’image au lieu des millions de tokens nécessaires à une image en haute résolution. L’unique tâche de ce réseau dVAE consiste à réduire l’empreinte mémoire du Transformer en générant une nouvelle version de l’image. Bien sûr, cette approche comporte quelques désavantages. Elle conserve les caractéristiques les plus importantes, mais perd parfois des détails fins, ce qui la rend inutilisable pour des applications qui dépendent de caractéristiques visuelles très précises. Voyez cette étape comme une forme de compression d’image. L’encodeur et le décodeur du dVAE sont composés de convolutions classiques et d’architectures ResNet avec des connexions résiduelles.
OpenAI a aussi publié ce réseau dVAE sur son dépôt GitHub, avec un notebook pour l’essayer et des détails sur son implémentation dans l’article scientifique. Les liens se trouvent dans les références ci-dessous !

Source : A. Ramesh et al., Zero-shot text-to-image generation, 2021. arXiv:2102.12092 [cs.CV]
Les tokens d’image produits par le modèle VAE discret sont ensuite envoyés au Transformer avec le texte en input. Encore une fois, comme dans l’architecture DALL-E précédente, il s’agit d’un modèle Transformer parcimonieux à 12 milliards de paramètres.
Sans entrer trop profondément dans l’architecture des Transformers, puisque son fonctionnement est déjà bien documenté, ce sont des modèles sequence-to-sequence qui utilisent souvent des encodeurs et des décodeurs.
Dans ce cas-ci, il utilise uniquement un décodeur puisqu’il reçoit en input l’image générée par le dVAE ainsi que le texte. Chacun des 1024 tokens d’image générés par le VAE discret a accès à tous les tokens textuels. Grâce à la self-attention, le modèle peut prédire une association optimale entre l’image et le texte.

Article scientifique et code de CLIP par OpenAI : https://openai.com/blog/clip/

Article scientifique et code de CLIP par OpenAI : https://openai.com/blog/clip/
Le résultat est enfin envoyé à un modèle contrastif préentraîné. Il s’agit en fait du modèle CLIP préentraîné qu’OpenAI a publié au début de janvier. CLIP sert à optimiser la relation entre une image et un texte précis. À partir d’une image générée par le Transformer et de la description initiale, CLIP attribue un score selon la correspondance entre l’image et cette description. Le modèle CLIP a même été utilisé avec les images d’Unsplash pour aider à trouver l’image recherchée, ainsi que pour repérer une trame précise dans une vidéo à partir d’un input textuel.

CLIP utilisé pour rechercher des images sur Unsplash

Article scientifique et code de CLIP par OpenAI : https://openai.com/blog/clip/
Bien sûr, dans notre cas, nous avons déjà une image générée et nous voulons simplement qu’elle corresponde à l’input textuel. CLIP nous offre tout de même une mesure parfaite à utiliser comme fonction de pénalité afin d’améliorer de façon itérative les résultats du décodeur du Transformer pendant l’entraînement. Les capacités zero-shot de CLIP sont très semblables à celles de GPT-2 et GPT-3. CLIP a lui aussi été entraîné sur un immense dataset de 400 millions de paires texte-image. Cette capacité zero-shot signifie qu’il peut traiter des images et des textes qui ne se trouvaient pas dans le dataset d’entraînement, aussi appelés des catégories d’objets jamais vues.

Source : A. Ramesh et al., Zero-shot text-to-image generation, 2021. arXiv:2102.12092 [cs.CV]
Enfin, l’architecture complète a été entraînée sur 250 millions de paires texte-image provenant d’Internet, principalement de Wikipédia. Elle apprend essentiellement à générer une nouvelle image à partir des tokens fournis en input, exactement comme nous l’avons décrit plus tôt dans l’article. C’est possible parce que les Transformers permettent une plus grande parallélisation pendant l’entraînement. Celui-ci devient beaucoup plus rapide et produit des résultats plus précis. Avec un bon système d’encodage, les Transformers sont donc à la fois de puissants outils de traitement du langage naturel et de puissants outils de vision par ordinateur.
Bien sûr, ce n’était qu’un aperçu de ce nouvel article scientifique d’OpenAI. Je vous recommande fortement de lire les articles sur DALL-E et CLIP afin de mieux comprendre cette approche.
Regardez plus d’exemples et une explication complète
Si vous aimez mon travail et souhaitez rester au courant des technologies d’IA, suivez-moi sur mes réseaux sociaux.
- Abonnez-vous à ma chaîne YouTube.
- Suivez mes projets sur LinkedIn et ici sur Medium.
- Apprenez l’IA avec nous. Rejoignez notre communauté Discord, partagez vos projets, vos articles scientifiques et les meilleurs cours, trouvez des coéquipiers pour Kaggle et bien plus encore !
Références
- Article scientifique : A. Ramesh et al., Zero-shot text-to-image generation, 2021. arXiv:2102.12092 [cs.CV]
- Code et renseignements supplémentaires sur le VAE discret utilisé pour DALL·E : https://github.com/openai/DALL-E
- Article scientifique sur DALL·E : https://arxiv.org/pdf/2102.12092.pdf
- Article scientifique et code de CLIP par OpenAI : https://openai.com/blog/clip/
- CLIP utilisé pour rechercher des images sur Unsplash : https://github.com/haltakov/natural-language-image-search
FAQ
Qu’est-ce que DALL-E ?
DALL-E est un modèle texte-image d’OpenAI qui génère des images à partir de prompts écrits décrivant des objets, des scènes, des styles ou des combinaisons d’idées.
Pourquoi DALL-E était-il important ?
Il a rendu beaucoup plus visible le lien entre le langage et la génération d’images, surtout pour des prompts créatifs qui combinent des concepts inhabituels.
Comment fonctionne la génération texte-image ?
Un modèle apprend les relations entre le texte et les images, puis utilise le prompt pour guider un processus génératif vers une image correspondante.
Quelles sont les limites des systèmes semblables à DALL-E ?
Ils peuvent manquer des détails, avoir du mal avec le texte exact ou la composition, reproduire les biais des données d’entraînement et soulever des questions de propriété et de consentement.
Comment les créateurs devraient-ils utiliser les outils texte-image ?
Utilisez-les pour trouver des idées et soutenir la production, puis vérifiez l’exactitude de l’output, son éthique, ses licences et tout risque qu’il déforme la réalité.

