eDiffi expliqué : Un nouveau modèle de synthèse d'images par NVIDIA !
Voici eDiffi, la nouvelle approche de pointe en matière de synthèse d'images à l’aide de l’intelligence artificielle.
eDiffi génère des images plus belles et plus précises que toutes les approches précédentes comme DALLE 2 ou Stable Diffusion. eDiffi comprend mieux le texte que vous envoyez et est plus personnalisable, ajoutant une fonctionnalité que nous avons vue dans un article précédent de NVIDIA : l'outil de peinture.
Comme les auteurs le partagent, on peut peindre avec des mots. Cela signifie que vous pouvez entrer quelques sujets (termes principaux comme “lune”, “cheval”, etc.) et peindre dans l'image ce qui devrait apparaître ici et là (voir exemple ci-dessous), vous permettant de créer des images beaucoup plus personnalisées par rapport à une génération aléatoire suite à une invite de texte. C'est d’un tout autre niveau, vous permettant d'obtenir à peu près l'image exacte que vous avez en tête en dessinant simplement un horrible croquis rapide — quelque chose que même moi peux faire !
Résultats de l'article eDiffi.
Comme je l'ai mentionné, les résultats ne sont pas seulement à l’état-de-l’art et plus beaux que Stable Diffusion — mais ils sont aussi beaucoup plus contrôlables. Bien sûr, c'est un cas d'utilisation différent, car il faut un peu plus de travail et une idée plus claire en tête pour créer un tel brouillon, mais c'est vraiment super excitant et intéressant. C'est aussi pourquoi je voulais le couvrir sur ma chaîne, car ce n'est pas seulement un meilleur modèle, mais aussi une approche différente avec beaucoup plus de contrôle sur la sortie.
L'outil n'est pas encore disponible, mais j'espère qu'il le sera bientôt.
Une autre façon dont ils vous permettent d'avoir plus de contrôle dans ce nouveau modèle est d'utiliser la même fonctionnalité que nous avons vue, mais différemment. En effet, le modèle génère des images guidées par une phrase, mais il peut également être influencé à l'aide d'un croquis rapide — donc il prend essentiellement une image et un texte comme entrées.
Cela signifie que vous pouvez également faire d'autres choses, car il comprend les images. Ici, ils tirent parti de cette capacité en développant une approche de transfert de style dans laquelle vous pouvez influencer le style du processus de génération d'image en donnant une image avec un style particulier avec votre saisie de texte. C'est super cool et il suffit de regarder les résultats (voir la page du projet ou le papier de recherche en lien dans les références). C'est vraiment incroyable! Battre à la fois les modèles de transfert de style ET les modèles de synthèse d'images avec une seule approche.
Maintenant, la question est : comment NVIDIA ont-ils pu développer un modèle qui crée des images plus belles, permettent plus de contrôle sur le style et la structure de l'image ainsi qu'une meilleure compréhension et représentation de ce que vous voulez réellement.
Eh bien, ils modifient l'architecture de diffusion typique de deux manières.
Approche eDiffi. Image tirée de l'article eDiffi.
Tout d'abord, ils encodent le texte en utilisant deux approches différentes que j'ai déjà abordées sur le blog, que nous appelons encodeurs CLIP et T5. Cela signifie qu'ils utiliseront des modèles pré-formés pour prendre du texte et créer diverses encodages se concentrant sur différentes fonctionnalités, car ils ont été formés et se comportent différemment. Les encodages ne sont que des représentations maximisant ce que signifie réellement la phrase pour que les algorithmes, ou la machine, les comprennent. En ce qui concerne l'image d'entrée, ils utilisent également l'intégration CLIP, encodant essentiellement l'image afin que le modèle puisse également la comprendre, ce dont vous pouvez en savoir plus dans mes autres articles couvrant les modèles génératifs, car ils sont à peu près tous construits autour de CLIP.
C'est ce qui leur permet d'avoir plus de contrôle sur la sortie ainsi que de traiter du texte et des images plutôt que du texte uniquement.
Cartes d'attention visualisées pour différentes étapes du processus. Image tirée de l'article eDiffi.
La deuxième modification consiste à utiliser une cascade de modèles de diffusion au lieu de réutiliser le même de manière itérative, comme nous le faisons habituellement avec les modèles basés sur la diffusion. Ici, ils utilisent des modèles entraînés pour une partie spécifique du processus génératif. Cela signifie que chaque modèle n'a pas besoin d'être aussi général que celui de diffusion régulier. Puisqu'il doit se concentrer sur une partie spécifique du processus, il peut être bien meilleur. Ils ont utilisé cette approche, car ils ont observés que le modèle de débruitage semblait beaucoup utiliser les encodages de texte pour orienter sa génération vers le début du processus, puis l'utiliser de moins en moins pour se concentrer sur la qualité et la fidélité de la sortie. Cela amène naturellement l'hypothèse que réutiliser le même modèle de débruitage tout au long du processus n'est peut-être pas une bonne idée, car il se concentre automatiquement sur différentes tâches, et nous savons qu'un généraliste est loin du niveau d’un expert à toutes les tâches. Pourquoi ne pas utiliser quelques experts au lieu d'un seul généraliste pour obtenir de bien meilleurs résultats ?
C'est pourquoi ils les appellent leur approche « denoiser experts » et c’est également la principale raison de cette performance améliorée en qualité et en fidélité. Le reste de l'architecture est assez similaire à d'autres approches mettant à l'échelle les résultats finaux avec d'autres modèles pour obtenir une image finale haute définition.
(lien et description du papier) Illustration of the proposed paint-with-words method. The user can control the location of objects by selecting phrases (here “rabbit mage” and “clouds”), and painting them on the canvas. The user-specified masks increase the value of corresponding entries of the attention matrix in the cross-attention layers.
Enfin, pour les dessins d'entrée, ils prennent simplement les masques individuels de chaque objet dessiné et l'associent aux mots en question dans la représentation textuelle encodée, semblable à un système de pondération dans les couches du réseau régulier, donnant plus de valeur à des parties précises du texte.
Les domaines de la synthèse d'images et de vidéos sont de plus en plus fous de nos jours, et nous voyons des résultats impressionnants sortir chaque semaine. Je suis vraiment excité pour les prochaines versions, et j'aime voir différentes approches avec à la fois des moyens innovants de résoudre le problème et également d'opter pour différents cas d'utilisation.
Comme l'a dit un jour une grande personne, "Quelle époque pour être en vie !"
J'espère que vous avez aimé ce bref aperçu de l'approche, qui est un peu moins élaborée que ce que je fais habituellement, car elle reprend la plupart des parties que j'ai déjà couvertes dans de nombreux articles et les modifie pour agir différemment. Je vous invite à lore mon article sur “stable diffusion” pour en savoir plus sur l'approche de diffusion et à lire l'article de NVIDIA pour en savoir plus sur cette approche spécifique et sa mise en œuvre (lien ci-dessous).
Je vous verrai la semaine prochaine avec un autre article incroyable!
Références
► Balaji, Y. et al., 2022, eDiffi: Text-to-Image Diffusion Models with an Ensemble of Expert Denoisers, https://arxiv.org/abs/2211.01324
►Page du projet: https://deepimagination.cc/eDiffi/
►Ma Newsletter (en anglais): https://www.louisbouchard.ai/newsletter/