Vision par ordinateurIA générativeActualités et analyses de l'IAVision par ordinateurIA générativeActualités et analyses de l'IA
Vision par ordinateur8 min de lecture

Le nouveau modèle DALL·E 2 d’OpenAI est incroyable !

Un nouveau modèle utile d’OpenAI capable de générer des images et d’en modifier certaines zones par inpainting à partir d’un texte, avec des résultats incroyables !

Le nouveau modèle DALL·E 2 d’OpenAI est incroyable !
Sommaire

L’an dernier, je vous ai présenté DALL·E, un modèle impressionnant d’OpenAI capable de générer des images à partir d’un texte avec des résultats incroyables. Il est maintenant temps de découvrir son grand frère, DALL·E 2. Et vous ne croirez pas les progrès réalisés en une seule année ! DALL·E 2 ne se contente pas de mieux générer des images photoréalistes à partir de texte. Ses résultats possèdent aussi une résolution quatre fois supérieure !

Exemple visuel tiré de Le nouveau modèle DALL·E 2 d’OpenAI est incroyable !

Exemple visuel tiré de Le nouveau modèle DALL·E 2 d’OpenAI est incroyable !

Images générées par DALL·E 2 avec la description : des ours en peluche travaillent sur de nouvelles recherches en IA sous l’eau avec la technologie des années 1990.

Comme si ce n’était pas déjà assez impressionnant, le nouveau modèle a appris une autre compétence : l’inpainting d’images.

DALL·E pouvait générer des images à partir de textes.

DALL·E 2 peut le faire encore mieux, mais il ne s’arrête pas là. Il peut aussi modifier ces images et les rendre encore plus belles ! Ou simplement ajouter un élément que vous voulez, comme des flamants roses en arrière-plan.

C’est ce qu’on appelle l’inpainting d’images. Nous prenons une partie de l’image et la remplaçons par autre chose en respectant son style et ses reflets pour conserver le réalisme. Bien sûr, le modèle ne remplace pas cette partie au hasard, ce serait trop facile pour OpenAI. Ce processus d’inpainting est guidé par le texte, ce qui signifie que vous pouvez lui demander d’ajouter un flamant rose ici ou là.

Exemple visuel tiré de Le nouveau modèle DALL·E 2 d’OpenAI est incroyable !

Exemple visuel tiré de Le nouveau modèle DALL·E 2 d’OpenAI est incroyable !

Exemple visuel tiré de Le nouveau modèle DALL·E 2 d’OpenAI est incroyable !

Images générées par DALL·E 2 avec l’instruction : ajouter un flamant rose en précisant son emplacement.

Voyons comment DALL·E 2 peut non seulement générer des images à partir de texte, mais aussi les modifier. Cette nouvelle capacité d’inpainting apprise par le réseau découle de sa meilleure compréhension des concepts et des images elles-mêmes, à la fois localement et globalement.

Par localement et globalement, je veux dire que DALL·E 2 comprend mieux pourquoi les pixels voisins ont ces couleurs, puisqu’il comprend les objets de la scène et leurs relations. Il peut ainsi saisir que l’eau produit un reflet et que l’objet situé à droite doit lui aussi s’y refléter.

Exemple visuel tiré de Le nouveau modèle DALL·E 2 d’OpenAI est incroyable !

Image générée par DALL·E 2 avec l’instruction : ajouter un flamant rose en précisant son emplacement. Observez le reflet dans l’eau sous les flamants roses.

Il comprend aussi la scène globale, donc ce qui s’y passe, comme si vous deviez décrire la situation au moment où la personne a pris la photo.

Exemple visuel tiré de Le nouveau modèle DALL·E 2 d’OpenAI est incroyable !

Image générée par DALL·E 2 avec la description : un astronaute à cheval.

Ici, vous diriez que cette photo n’existe pas. Évidemment, sinon je suis absolument partant pour essayer ça. Si nous oublions que la scène est impossible, vous diriez que l’astronaute monte un cheval dans l’espace. Donc, si je vous demandais de dessiner la même scène sur une planète plutôt que dans l’espace, vous pourriez imaginer quelque chose comme ceci. Vous comprenez que le cheval et l’astronaute sont les objets d’intérêt à conserver dans l’image.

Exemple visuel tiré de Le nouveau modèle DALL·E 2 d’OpenAI est incroyable !

Image générée par DALL·E 2 avec la description : un astronaute à cheval.

Cela semble évident, mais c’est extrêmement complexe pour une machine qui voit seulement des pixels colorés. Voilà pourquoi DALL·E 2 m’impressionne autant.

Mais comment le modèle comprend-il exactement le texte que nous lui envoyons et parvient-il à en générer une image ? Eh bien, son fonctionnement ressemble beaucoup à celui du premier modèle que j’ai présenté sur la chaîne.

Il commence par utiliser le modèle CLIP d’OpenAI pour encoder le texte et l’image dans un même domaine, soit une représentation condensée appelée code latent.
Il prend ensuite cet encodage et utilise un générateur, aussi appelé décodeur, pour créer une nouvelle image qui signifie la même chose que le texte, puisqu’elle provient du même code latent. DALL·E 2 comprend donc deux étapes : CLIP encode l’information, puis le nouveau décodeur transforme cette information encodée en image. Ces deux étapes distinctes expliquent aussi pourquoi nous pouvons générer des variations d’une image. Il suffit de modifier légèrement et aléatoirement l’information encodée afin de la déplacer un peu dans l’espace latent. Elle représente toujours la même phrase, mais ses valeurs différentes créent une autre image qui correspond au même texte.

Exemple visuel tiré de Le nouveau modèle DALL·E 2 d’OpenAI est incroyable !

Vue d’ensemble du modèle. Image tirée de l’article scientifique.

Comme nous le voyons ici, le modèle reçoit d’abord un texte et l’encode.
La partie supérieure montre la première étape de l’entraînement, où nous lui fournissons aussi une image que CLIP encode afin que les images et les textes soient représentés de façon semblable, conformément à l’objectif de CLIP. Pour générer une nouvelle image, nous passons ensuite à la partie inférieure. Nous utilisons l’encodage du texte guidé par CLIP et le transformons en un encodage prêt pour l’image. Cette transformation repose sur un prior de diffusion, que nous aborderons bientôt puisqu’il ressemble beaucoup au modèle de diffusion utilisé à la dernière étape. Enfin, nous utilisons le nouvel encodage de l’image et le décodons pour créer une nouvelle image avec un décodeur de diffusion !

Exemple visuel tiré de Le nouveau modèle DALL·E 2 d’OpenAI est incroyable !

Modèle de diffusion. Image tirée de Lilian Weng.

Un modèle de diffusion commence avec du bruit aléatoire et apprend à le modifier de façon itérative pour revenir à une image. Il apprend en faisant le contraire. Pendant l’entraînement, nous lui fournissons des images auxquelles nous ajoutons progressivement du bruit gaussien aléatoire, jusqu’à ce qu’il ne reste plus rien d’autre que du bruit. Il suffit ensuite d’inverser le modèle pour générer des images à partir de ce bruit. Si vous souhaitez obtenir plus de détails sur ce type de réseau, qui est vraiment cool, je vous invite à regarder cette vidéo que j’ai réalisée à leur sujet.

Et voilà ! C’est ainsi que DALL·E 2 génère des images d’une telle qualité à partir de texte ! C’est vraiment impressionnant et cela nous indique que le modèle comprend le texte.

Exemple visuel tiré de Le nouveau modèle DALL·E 2 d’OpenAI est incroyable !

Mais comprend-il profondément ce qu’il a créé ? Eh bien, tout porte à le croire. Sa capacité à effectuer l’inpainting nous laisse penser qu’il comprend assez bien les images. Mais pourquoi ? Comment peut-il relier un texte à une image et comprendre celle-ci suffisamment pour remplacer seulement certaines parties sans nuire au réalisme ? Tout cela vient de CLIP, qui relie le texte et l’image. Si nous encodons de nouveau l’image que nous venons de générer et utilisons un autre texte pour guider une nouvelle génération, nous pouvons créer une deuxième version qui remplace seulement la région souhaitée dans la première image. Vous obtenez alors cette image :

Exemple visuel tiré de Le nouveau modèle DALL·E 2 d’OpenAI est incroyable !

Exemple visuel tiré de Le nouveau modèle DALL·E 2 d’OpenAI est incroyable !

Malheureusement, le code de DALL·E 2 n’est pas public et le modèle n’est pas encore offert dans leur API. Selon OpenAI, cette décision leur permet d’étudier les risques et les limites d’un modèle aussi puissant. Ils discutent de ces risques potentiels et des raisons qui justifient cette confidentialité dans leur article scientifique et dans un excellent dépôt que j’ai lié dans les références ci-dessous si le sujet vous intéresse. Ils ont également ouvert un compte Instagram pour partager davantage de résultats, lui aussi lié ci-dessous.

J’ai adoré DALL·E, et celui-ci est encore plus cool. Bien sûr, ce n’était qu’un aperçu du fonctionnement de DALL·E 2. Je vous invite fortement à lire leur excellent article scientifique lié ci-dessous pour obtenir davantage de détails sur l’implémentation du modèle.

J’espère que vous avez aimé cet article autant que j’ai aimé l’écrire. Si c’est le cas, pensez à soutenir mon travail sur YouTube en vous abonnant à la chaîne et en commentant ce que vous pensez de ce résumé. J’aimerais beaucoup connaître votre opinion !


Références

►Lisez l’article complet : /fr/openais-new-model-dall-e-2-is-amazing/ ►A. Ramesh et al., 2022, article sur DALL·E 2 : https://cdn.openai.com/papers/dall-e-2.pdf
►Article de blogue d’OpenAI : https://openai.com/dall-e-2
►Risques et limites : https://github.com/openai/dalle-2-preview/blob/main/system-card.md
►Page Instagram de DALL·E d’OpenAI : https://www.instagram.com/openaidalle/
►Mon infolettre (une nouvelle application d’IA expliquée chaque semaine par courriel !) : /fr/newsletter/

Discussion

Commentaires

Chargement

Aucun compte requis. Votre nom et votre commentaire seront publics, alors n'incluez pas de renseignements privés. Consultez la page de confidentialité pour les détails.

Continuez à apprendre

Vous voulez le côté pratique de l'IA, sans le brouillard marketing ?

Je partage ce qui est utile sur YouTube, Substack et dans mes guides d'ingénierie IA.

FAQ

Que peut faire DALL·E 2 ?

Il génère des images à partir de texte, crée des variations et modifie des régions sélectionnées grâce au remplissage guidé par le texte.

Comment DALL·E 2 relie-t-il le texte et les images ?

Il place l’information linguistique et visuelle dans des représentations latentes liées qui expriment un sens sémantique semblable.

Que fait le décodeur d’images ?

Il transforme la représentation latente guidée en pixels qui forment une nouvelle image correspondant au prompt.

Qu’est-ce que l’inpainting ?

L’inpainting remplace une région masquée de l’image par du contenu généré qui respecte le texte et le contexte visuel environnant.

Cet aperçu contient-il tous les détails de l’implémentation ?

Non. L’article scientifique lié présente les détails de l’architecture, de l’entraînement et de l’évaluation derrière cette explication simplifiée.