Maison >Périphériques technologiques >IA >Les images générées par texte sont si populaires que vous devez comprendre l'évolution de ces technologies

Les images générées par texte sont si populaires que vous devez comprendre l'évolution de ces technologies

WBOY
WBOYavant
2023-04-09 19:31:12882parcourir

​OpenAI a récemment publié le système DALL·E 2, qui a provoqué un « tremblement de terre » dans le monde de l'IA. Ce système peut créer des images basées sur des descriptions textuelles. Il s'agit de la deuxième version du système DALL·E, la première version étant sortie il y a près d'un an. Cependant, au sein d'OpenAI, le modèle derrière DALL·E 2 s'appelle unCLIP, qui est plus proche du système GLIDE d'OpenAI que du DALL·E d'origine.

Pour l'auteur, l'impact du système DALL·E 2 est comparable à celui d'AlphaGo. Il semble que le modèle capture de nombreux concepts complexes et les combine de manière significative. Il y a seulement quelques années, il était difficile de prédire si les ordinateurs seraient capables de générer des images à partir de telles descriptions textuelles. Sam Altman a mentionné dans son article de blog que nos prédictions sur l'IA semblent fausses et doivent être mises à jour, car l'IA a commencé à affecter le travail créatif plutôt que simplement le travail mécanique et répétitif.

Cet article vise à présenter aux lecteurs l'évolution du modèle de génération d'images guidée par texte d'OpenAI, y compris les première et deuxième versions de DALL·E et d'autres modèles.

DALL·E Evolution History

DALL·E 1

DALL·E La première version est un décodeur de transformateur de style GPT-3 qui peut générer de manière autorégressive 256 × 256 en fonction de la saisie de texte et de la taille de départ de l'image en option.

Vous avez dû voir ces chaises avocat :

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

D'après le billet de blog original.

Si vous voulez comprendre comment fonctionnent les transformateurs de type GPT, consultez l'excellente explication visuelle de Jay Alammar : https://jalammar.github.io/how-gpt3-works-visualizations-animations/

Texte encodé par des jetons BPE (en haut à 256), les images sont codées par des jetons d'image spéciaux (dont 1 024) générés par des auto-encodeurs variationnels discrets (dVAE). dVAE code une image 256×256 dans une grille de 32×32 jetons, avec un vocabulaire de 8192 valeurs possibles. dVAE perd certains détails et caractéristiques haute fréquence dans l'image générée, donc DALL·E utilise un certain flou et un lissage des caractéristiques dans l'image générée.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Comparaison de l'image originale (en haut) et de la reconstruction dVAE (en bas). Image tirée du papier original.

Le transformateur utilisé ici est un grand modèle avec des paramètres de taille 12B, composé de 64 blocs de transformateur clairsemés. Il dispose en interne d'un ensemble de mécanismes d'attention complexes, notamment : 1) un mécanisme classique de masquage d'attention texte à texte, 2) attention image à texte, 3) attention clairsemée image à image. Les trois types d’attention sont combinés en une seule opération d’attention. Le modèle est formé sur un ensemble de données de 250 millions de paires image-texte.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Le décodeur de transformateur de type GPT-3 prend une séquence de jetons de texte et (éventuellement) de jetons d'image (ici un seul jeton d'image avec l'identifiant 42) et génère une suite de l'image (ici l'identifiant 1369 Jeton d'image suivant)

Le modèle entraîné génère plusieurs échantillons (jusqu'à 512) sur la base du texte fourni, puis tous ces échantillons sont triés par un modèle spécial appelé CLIP, et celui le mieux classé est sélectionné comme résultats du modèle.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Quelques exemples de génération d'images à partir de l'article original. ​

CLIP

CLIP était à l'origine un modèle auxiliaire distinct utilisé pour classer les résultats de DALL·E. Son nom est l’abréviation de Contrastive Language-Image Pre-Training.

L'idée derrière CLIP est simple. L'auteur a récupéré un ensemble de données de paire image-texte (taille de 400 M) sur Internet, puis a formé un modèle de comparaison sur un tel ensemble de données. Les modèles contrastés peuvent produire des scores de similarité élevés pour les images et le texte de la même paire (ils sont donc similaires) et des scores faibles pour le texte et les images qui ne correspondent pas (nous voulons qu'une certaine image soit la même que n'importe quelle autre dans le lot de formation actuel). les chances d'obtenir des résultats de similarité élevée entre des paires de textes sont très faibles).

Le modèle se compose de deux encodeurs : un pour le texte et un autre pour les images. L'encodeur produit une intégration (une représentation vectorielle multidimensionnelle d'un objet, par exemple un vecteur de 512 octets). Le produit scalaire est ensuite calculé à l’aide des deux intégrations et un score de similarité est dérivé. Étant donné que les intégrations sont normalisées, le résultat de ce processus de calcul du score de similarité est la similarité cosinus. La similarité cosinus est proche de 1 pour les vecteurs pointant dans la même direction (avec un petit angle entre eux), de 0 pour les vecteurs orthogonaux et de -1 pour les vecteurs opposés.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Visualisation comparative du processus de pré-formation (photo du post original)

CLIP est un ensemble de modèles. Il existe 9 encodeurs d'image, 5 encodeurs convolutifs et 4 encodeurs de transformateur. Les codeurs convolutifs sont des modèles de type ResNet-50, ResNet-101 et EfficientNet appelés RN50x4, RN50x16, RN50x64 (plus le nombre est élevé, meilleur est le modèle). Les codeurs de transformateur sont des transformateurs visuels (ou ViT) : ViT-B/32, ViT-B/16, ViT-L/14 et ViT-L/14@336. Le dernier a été affiné sur des images d’une résolution de 336×336 pixels, et les autres ont été entraînés sur 224×224 pixels.

OpenAI a publié le programme par étapes, en publiant d'abord ViT-B/32 et ResNet-50, puis ResNet-101 et RN50x4, puis RN50x16 et ViT-B/16 en juillet 2021, puis RN50x64 et ViT -L /14. en janvier 2022, et en avril 2022 ViT-L/14@336 est enfin apparu.

L'encodeur de texte est un encodeur de transformateur normal, mais avec un mécanisme d'attention masqué. Cet encodeur se compose de 12 couches, chaque couche dispose de 8 têtes d'attention et possède un total de 63 millions de paramètres. Fait intéressant, la durée d’attention n’est que de 76 jetons (contre 2 048 jetons pour GPT-3 et 512 jetons pour le BERT standard). Par conséquent, la partie texte du modèle ne convient qu'aux textes assez courts et vous ne pouvez pas insérer de gros blocs de texte dans le modèle. Puisque DALL·E 2 et CLIP sont à peu près identiques, ils devraient avoir les mêmes limitations.

Une fois CLIP pré-entraîné, il peut être utilisé pour différentes tâches (avec l'avantage d'un bon modèle de base).

Plus important encore, les lecteurs peuvent obtenir plusieurs résultats en utilisant les modèles triés dans DALL·E et choisir le meilleur. Vous pouvez également utiliser la fonction CLIP pour entraîner un classificateur personnalisé par-dessus, mais il n'existe pas encore beaucoup d'exemples réussis.

Ensuite, CLIP peut être utilisé pour effectuer une classification zéro-shot sur n'importe quel nombre de classes (lorsque le modèle n'est pas spécifiquement formé pour utiliser ces classes). Ces classes peuvent être ajustées sans recycler le modèle.

En termes simples, vous pouvez créer un ensemble de données textuelles décrivant les objets de l'image pour autant de classes que nécessaire. Des intégrations de texte sont ensuite générées pour ces descriptions et stockées sous forme de vecteurs. Lorsque des images sont utilisées à des fins de classification, des incorporations d'images sont générées à l'aide d'un encodeur d'image et le produit scalaire entre les incorporations d'images et toutes les incorporations de texte précalculées est calculé. La paire avec le score le plus élevé est sélectionnée et sa classe correspondante est le résultat.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Un programme de classification zéro-shot utilisant CLIP.

Le modèle de classification Zero-shot signifie que le modèle n'est pas formé pour un ensemble de catégories spécifique. Au lieu de former un classificateur à partir de zéro ou d'affiner un modèle d'image pré-entraîné, il existe désormais la possibilité d'utiliser CLIP pré-entraîné pour l'ingénierie à la volée (comme pour l'utilisation de modèles GPT).

Beaucoup de gens ne réalisent pas qu'il est possible d'utiliser CLIP pour générer des images (même s'il n'est pas prédéfini pour le faire). Les cas réussis incluent CLIPDraw et VQGAN-CLIP.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Exemple de dessin CLIPD. Les images proviennent du papier original.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

VQGAN-CLIP et son exemple de génération d'invite de texte. Les images proviennent du papier original.

Le processus est simple et beau, très similaire à DeepDream. Commencez par une description textuelle de l'image souhaitée et d'une image initiale (intégration aléatoire, description de la scène en splines ou en pixels, toute image créée de manière distincte), puis exécutez une boucle qui génère l'image, en ajoutant quelques améliorations pour améliorer la propriété de stabilité, obtenir une intégration CLIP de l'image résultante et la comparer avec une intégration CLIP du texte décrivant l'image. La perte est calculée sur la base de cette différence et un programme de descente de gradient est exécuté pour mettre à jour l'image et réduire la perte. Après quelques itérations, vous pouvez obtenir une image qui correspond bien à la description du texte. La façon dont la scène initiale est créée (à l'aide de splines, de pixels, de primitives de rendu, de code sous-jacent de VQGAN, etc.) peut affecter considérablement les caractéristiques de l'image.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Processus de génération CLIPDraw : à partir d'un ensemble de courbes de Bézier aléatoires, la position et la couleur des courbes sont optimisées pour que les graphiques générés correspondent au mieux à l'invite de description donnée. Photos du papier original.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Processus de génération VQGAN-CLIP. Photos du papier original.

L'intégration CLIP ne comprend pas tout, et certaines démos intéressantes démontrent ses faiblesses. L’un des exemples les plus connus est celui des attaques typographiques. Dans cette attaque, le texte sur l’image peut conduire à une mauvaise classification de l’image.

Il existe actuellement des modèles alternatifs avec une structure similaire au CLIP, comme l'ALIGN de ​​Google ou le FILIP de Huawei.

GLIDE

GLIDE, ou Guided Language to Image Diffusion for Generation and Editing, est un modèle de génération d'images guidée par texte lancé par OpenAI. Il a actuellement vaincu DALL·E, mais a reçu relativement peu d'attention. Il n’y a même pas de publication dédiée sur le site OpenAI. GLIDE génère des images avec une résolution de 256×256 pixels.

Le modèle GLIDE avec des paramètres de 3,5B (mais il semble que le nombre correct soit de paramètres de 5B, car il existe un modèle de suréchantillonnage distinct avec des paramètres de 1,5B) est préféré aux paramètres de 12B DALL·E en termes de score FID. Également vaincu DALL· E.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Échantillon de GLIDE. Image tirée du papier original. Les modèles

GLIDE peuvent également être ajustés pour effectuer l'inpainting d'images, permettant ainsi une puissante édition d'images basée sur le texte, utilisée dans DALL·E 2.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Exemple de réparation d'image conditionnelle de texte de GLIDE. La zone verte est effacée et le modèle remplit cette zone selon les invites données. Le modèle est capable de s'adapter au style et à l'éclairage de son environnement, produisant une finition réaliste. Les exemples proviennent de l’article original.

GLIDE peut s'appeler "DALL·E 2" lors de sa sortie. Désormais, lorsqu'un système DALL·E 2 distinct est publié (en fait appelé unCLIP dans l'article et utilise fortement GLIDE lui-même), nous pouvons appeler GLIDE DALL·E 1.5 :)

GLIDE est similaire à un autre nom et est un modèle de diffusion. En termes simples, les modèles de diffusion ajoutent du bruit aléatoire aux données d'entrée via une chaîne d'étapes de diffusion, puis apprennent le processus de diffusion inverse pour construire une image à partir du bruit.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Le modèle de diffusion de débruitage génère des images.

L'image ci-dessous est une illustration visuelle de Google utilisant le modèle de diffusion pour générer des images.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Comparaison des modèles de diffusion avec d'autres catégories de modèles génératifs.

Tout d'abord, les auteurs ont formé un modèle de diffusion de paramètres 3,5B conditionné sur des descriptions en langage naturel à l'aide d'un encodeur de texte. Ensuite, ils ont comparé deux techniques d'amorçage de modèles de diffusion à des invites textuelles : l'amorçage CLIP et l'amorçage sans classificateur (ce dernier a donné de meilleurs résultats).

Le bootstrapping du classificateur permet de conditionner le modèle de diffusion sur l'étiquette du classificateur, et le gradient du classificateur est utilisé pour guider l'échantillon vers l'étiquette.

L'amorçage sans classificateur ne nécessite pas la formation d'un modèle de classificateur distinct. Il s'agit simplement d'une forme de bootstrapping, interpolant entre les prédictions du modèle de diffusion avec et sans étiquettes.

Comme l'a dit l'auteur, le guidage sans classification présente deux propriétés intéressantes. Premièrement, cela permet à un modèle unique d’exploiter ses propres connaissances pendant le processus d’amorçage, plutôt que de s’appuyer sur les connaissances d’un modèle de classification distinct (parfois plus petit). Deuxièmement, cela simplifie l’orientation lors du conditionnement d’informations difficiles à prédire avec un classificateur, comme le texte.

Sous CLIP, le classificateur est remplacé par un modèle CLIP. Il utilise le produit scalaire d'une image et le dégradé codé par rapport à la légende de l'image.

Dans le classificateur et le bootstrapping CLIP, nous devons entraîner CLIP sur des images bruitées afin d'obtenir le gradient correct lors de la rétro-diffusion. Les auteurs ont utilisé des modèles CLIP explicitement formés pour prendre en compte le bruit. Ces modèles sont appelés modèles CLIP bruyants. Les modèles CLIP publics qui n'ont pas été formés sur des images bruitées peuvent toujours être utilisés pour guider les modèles de diffusion, mais le guidage CLIP bruyant fonctionne bien pour cette approche.

Le modèle de diffusion conditionnelle de texte est une architecture de modèle ADM améliorée qui prédit l'image pour la prochaine étape de diffusion en fonction de l'image bruitée xₜ et de la légende de texte correspondante c.

La partie visuelle est une architecture U-Net modifiée. Le modèle U-Net utilise un ensemble de couches résiduelles et des convolutions de sous-échantillonnage, puis un ensemble de couches résiduelles avec des convolutions de suréchantillonnage, en utilisant une connexion résiduelle (connexion par saut) pour connecter les couches de même taille spatiale.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Architecture U-Net originale. Les images proviennent du papier original.

GLIDE présente différentes modifications par rapport à l'architecture U-Net originale en termes de largeur, de profondeur, etc., ajoutant une couche d'attention globale avec plusieurs têtes d'attention aux résolutions 8×8, 16×16 et 32×32. De plus, la projection de l’intégration du pas de temps est ajoutée à chaque bloc résiduel.

Pour le modèle bootstrap du classificateur, l'architecture du classificateur est un réseau fédérateur sous-échantillonné du modèle U-Net avec un pool d'attention à 8 × 8 couches pour générer la sortie finale.

Le texte est codé dans une séquence de K jetons (la durée d'attention maximale n'est pas encore connue) via le modèle de transformateur. La sortie du

transformer peut être utilisée de deux manières : premièrement, l'intégration finale du jeton est utilisée pour remplacer l'intégration de la classe dans le modèle ADM ; deuxièmement, la dernière couche d'intégration du jeton (séquence de K vecteurs de caractéristiques) est projetée dans chacune des dimensions entières du modèle ADM de chaque couche d’attention, puis connectée au contexte d’attention de chaque couche.

Le transformateur de texte a 24 blocs résiduels de largeur 2048, ce qui donne environ 1,2B de paramètres. La partie visuelle du modèle entraîné pour une résolution de 64 × 64 se compose de 2,3B paramètres. En plus du modèle de diffusion conditionnelle de texte avec des paramètres de 3,5B, l'auteur a également formé un autre modèle de diffusion de suréchantillonnage conditionnel de texte avec des paramètres de 1,5B, augmentant la résolution à 256×256 (cette idée sera également utilisée dans DALL·E).

Le modèle suréchantillonné est conditionné sur le texte de la même manière que le modèle de base, mais utilise un encodeur de texte plus petit avec une largeur de 1024 au lieu de 2048. Pour guider CLIP, ils ont également formé un modèle CLIP ViT-L 64 × 64 bruyant.

GLIDE est entraîné sur le même ensemble de données que DALL·E, et l'effort de calcul total de formation est à peu près égal à l'effort de calcul utilisé pour entraîner DALL·E.

GLIDE est optimal dans tous les paramètres, même dans les paramètres qui permettent à DALL·E d'utiliser davantage de calculs de temps de test pour obtenir des performances supérieures tout en réduisant la qualité des échantillons GLIDE (via le flou VAE).

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Le modèle est affiné pour prendre en charge la génération d'images inconditionnelles. Ce processus de formation est exactement le même que la pré-formation, sauf que 20 % des séquences de jetons de texte sont remplacées par des séquences vides. De cette façon, le modèle conserve la capacité de générer une sortie de texte conditionnelle, mais peut également générer des images de manière inconditionnelle.

Le modèle est également explicitement réglé pour effectuer des réparations. Lors du réglage fin, des régions aléatoires des exemples d'entraînement sont supprimées et les parties restantes ainsi que le canal de masque sont introduites dans le modèle en tant qu'informations conditionnelles supplémentaires.

GLIDE peut générer de manière itérative des scènes complexes en utilisant la génération zéro-shot, suivie d'une série de modifications de réparation.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Générez d'abord l'image de l'invite "un salon confortable", puis utilisez le masque de réparation, puis ajoutez l'invite de texte au mur avec un tableau, une table basse et un vase sur la table basse, et enfin déplacez le mur vers Sur le canapé. Les exemples proviennent de l’article original.

DALL·E 2/unCLIP​

OpenAI a publié le système DALL·E 2 le 6 avril 2022. Le système DALL·E 2 améliore considérablement les résultats par rapport au DALL·E original. Il produit des images avec une résolution 4 fois supérieure (par rapport aux DALL·E et GLIDE d'origine), désormais jusqu'à 1 024 × 1 024 pixels. Le modèle derrière le système DALL·E 2 s'appelle unCLIP.

Les auteurs ont constaté que les humains préfèrent légèrement GLIDE à unCLIP en termes de photoréalisme, mais la différence est très faible. Avec un réalisme similaire, unCLIP est préféré à GLIDE en termes de diversité, mettant en évidence l'un de ses avantages. Gardez à l'esprit que le GLIDE lui-même est plus populaire que le DALL·E 1, le DALL·E 2 constitue donc une amélioration significative par rapport à son prédécesseur, le DALL·E 1.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Pour la demande "Peindre un tableau d'un renard assis dans un champ au lever du soleil dans le style de Claude Monet", deux versions des images générées par le système, les images sont issues de l'article original.

DALL·E 2 permet de combiner des concepts, des propriétés et des styles :

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Exemples de l'article original.

DALL·E 2 peut également effectuer des retouches d'images basées sur le guidage de texte, une fonctionnalité de GLIDE. Il ajoute et supprime des éléments tout en prenant en compte les ombres, les reflets et les textures :

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Ajout d'un corgi à un emplacement précis sur une image, à partir du papier original.

DALL·E 2 peut également être utilisé pour générer des variantes de l'image originale :

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Générer des variantes de l'image, l'image est à partir du texte original.

DALL·E 2 a aussi quelques problèmes. En particulier, unCLIP est pire que le modèle GLIDE pour lier les propriétés aux objets. Par exemple, unCLIP est plus difficile que GLIDE de devoir lier deux objets distincts (cubes) à deux propriétés (couleurs) distinctes :

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

unCLIP a également quelques difficultés à générer un texte cohérent :

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Un autre problème est que unCLIP a du mal à générer des détails dans des scènes complexes :

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Il y a quelques changements à l'intérieur du modèle. L'image ci-dessous est une combinaison de CLIP et GLIDE, le modèle lui-même (pile de génération d'images conditionnelles en texte intégral) est appelé unCLIP en interne dans l'article car il génère des images en inversant l'encodeur d'image CLIP.

Voici comment fonctionne le modèle : les modèles CLIP sont formés individuellement. L'encodeur de texte CLIP génère ensuite des intégrations pour le texte d'entrée (titre). Ensuite, un modèle préalable spécial génère des intégrations d'images basées sur des intégrations de texte. Le décodeur de diffusion génère ensuite une image sur la base de l'intégration d'image. Le décodeur inverse essentiellement l’image en l’intégrant dans une image.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Aperçu macro du système. Certains détails (tels que les conditions du texte du décodeur) ne sont pas affichés. Photos du papier original.

Le modèle CLIP utilise l'encodeur d'image ViT-H/16, qui utilise des images de résolution 256×256 avec une largeur de 1280 et 32 ​​blocs Transformer (il est plus profond que le plus grand ViT-L du travail CLIP original). L'encodeur de texte est un Transformer avec masque d'attention causale, largeur 1024 et 24 blocs Transformer (le modèle CLIP original comporte 12 blocs Transformer). Il n'est pas clair si la durée d'attention du transformateur de texte est la même que dans le modèle CLIP original (76 jetons).

Le décodeur de diffusion est un GLIDE modifié avec des paramètres de 3,5B. Les intégrations d'images CLIP sont projetées et ajoutées aux intégrations de pas de temps existantes. L'intégration CLIP est également projetée dans quatre jetons de contexte supplémentaires, qui sont connectés à la séquence de sortie de l'encodeur de texte GLIDE. Le chemin conditionnel du texte du GLIDE original est conservé car il permet au modèle de diffusion d'apprendre des aspects du langage naturel que CLIP ne parvient pas à capturer (cependant, cela n'aide pas beaucoup). Pendant la formation, 10 % du temps est consacré à la mise à zéro aléatoire des intégrations CLIP et 50 % du temps est consacré à la suppression aléatoire des légendes de texte.

Le décodeur génère une image de 64 × 64 pixels, puis deux modèles de diffusion par suréchantillonnage génèrent ensuite des images de 256 × 256 et 1024 × 1024, le premier avec 700 M de paramètres et le second avec 300 M de paramètres. Pour améliorer la robustesse du suréchantillonnage, les images conditionnelles sont légèrement corrompues lors de l'entraînement. La première étape de suréchantillonnage utilise le flou gaussien et la deuxième étape utilise une dégradation BSR plus diversifiée, notamment des artefacts de compression JPEG, le bruit du capteur de la caméra, l'interpolation bilinéaire et bicubique et le bruit gaussien. Les modèles sont entraînés sur des images aléatoires représentant un quart de la taille de la cible. Le conditionnement de texte n’est pas utilisé pour les modèles de suréchantillonnage.

A priori génère des intégrations d'images basées sur des descriptions textuelles. Les auteurs explorent deux classes différentes de modèles a priori : les a priori autorégressifs (AR) et les a priori de diffusion. Les deux modèles antérieurs ont des paramètres 1B.

Dans la version AR antérieure, les intégrations d'images CLIP sont converties en une séquence de codes discrets et des prédictions autorégressives sont effectuées sur la base des légendes. Dans le prior de diffusion, les vecteurs de plongement continu sont modélisés directement à l'aide d'un modèle de diffusion gaussienne conditionné par le titre.

En plus du titre, le modèle antérieur peut également être conditionné à l'intégration du texte CLIP, puisqu'il s'agit d'une fonction déterministe du titre. Pour améliorer la qualité de l'échantillonnage, les auteurs ont également permis un échantillonnage guidé sans classificateur pour les a priori AR et de diffusion en supprimant de manière aléatoire ces informations sur la condition du texte 10 % du temps pendant la formation.

Pour les a priori AR, l'analyse en composantes principales (ACP) réduit la dimensionnalité des intégrations d'images CLIP. 319 des 1024 composantes principales ont conservé plus de 99 % de l'information. Chaque dimension est quantifiée en 1 024 compartiments. Les auteurs ont réglé l'AR au préalable en codant les titres de texte et les intégrations de texte CLIP comme préfixes de la séquence. De plus, ils ajoutent un jeton représentant le produit scalaire (quantifié) entre l’intégration de texte et l’intégration d’image. Cela permet d'ajuster le modèle sur des produits scalaires supérieurs, puisque les produits scalaires texte-image supérieurs correspondent à des légendes qui décrivent mieux l'image. Le produit scalaire est échantillonné à partir de la moitié supérieure de la distribution. Prédisez les séquences générées à l’aide d’un modèle Transformer avec un masque d’attention causale.

Pour la diffusion préalable, un transformateur uniquement décodeur avec masque d'attention causale est formé sur une séquence composée de :

  • texte codé
  • incorporation de texte CLIP
  • pas de temps de diffusion L'intégration de l'intégration de l'image CLIP bruyante
  • L'intégration finale dont la sortie de Transformer est utilisée pour prédire l'intégration d'image CLIP sans bruit.

Ne pas utiliser de produit scalaire pour ajuster la diffusion au préalable. Au lieu de cela, pour améliorer la qualité du temps d'échantillonnage, deux échantillons d'intégration d'images ont été générés et celui avec un produit scalaire et une intégration de texte plus élevés a été sélectionné.

La diffusion préalable surpasse l'AR préalable pour une taille de modèle comparable et un calcul d'entraînement réduit. Le prior de diffusion a également donné de meilleurs résultats que le prior AR dans les comparaisons par paires avec GLIDE.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

​L'auteur a également étudié l'importance des priorités. Ils essaient de conditionner le même décodeur avec différents signaux : 1. légende de texte et intégration de CLIP nulle, 2. légende de texte et intégration de texte CLIP (comme s'il s'agissait d'une intégration d'image), 3. texte généré par une intégration d'image CLIP préalable. Le réglage du décodeur basé uniquement sur le titre est évidemment le pire, mais le réglage du texte n'intégrant aucun échantillon produit les résultats souhaités.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologiesEn utilisant différents signaux de réglage, l'image provient du texte original.

Lors de la formation de l'encodeur, les auteurs ont échantillonné les ensembles de données CLIP et DALL-E (~ 650 millions d'images au total) avec une probabilité égale. Lors de la formation du décodeur, du suréchantillonneur et du modèle précédent, ils ont utilisé uniquement l'ensemble de données DALL-E (environ 250 millions d'images), car l'ensemble de données CLIP le plus bruyant a été fusionné lors de l'entraînement de la pile de génération, donc initialement la qualité de l'échantillon a été affectée négativement lors de l'évaluation.

La taille totale du modèle semble être : 632 M ? Paramètres (encodeur d'image CLIP ViT-H/16) + 340M ? (encodeur de texte CLIP) + 1B (diffusion préalable) + 3,5B (décodeur de diffusion) + 1B (deux suréchantillonneurs de diffusion) = ~ ~ 6,5B paramètres (si je me souviens bien). Cette méthode permet de générer des images basées sur des descriptions textuelles. Cependant, d’autres applications intéressantes sont également possibles. ​

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologiesExemples tirés de l'article original.

Chaque image x peut être codée dans une représentation latente bipartite (z_i, x_T), ce qui est suffisant pour que le décodeur produise une reconstruction précise. latent z_i est une intégration d'image CLIP qui décrit l'aspect de l'image reconnu par CLIP. x_T latent est obtenu en appliquant l'inversion DDIM (Denoising Diffusion Implicit Model) à l'aide du décodeur sur x tout en étant conditionnel à z_i. En d'autres termes, il s'agit du bruit de départ du processus de diffusion lors de la génération de l'image x (ou de manière équivalente x_0, voir le schéma du modèle de diffusion de débruitage dans la section GLIDE).

Cette représentation binaire permet trois opérations intéressantes.

Tout d'abord, vous pouvez créer des variantes d'image pour une représentation latente binaire donnée (z_i, x_T) en échantillonnant avec DDIM avec η > 0 dans le décodeur. Lorsque η = 0, le décodeur devient déterministe et va reconstruire une image x donnée. Plus le paramètre η est grand, plus le changement est important, et nous pouvons voir quelles informations sont capturées dans l'intégration de l'image CLIP et présentées dans tous les échantillons.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Explorez les changements dans vos images.

Deuxièmement, vous pouvez interpoler entre les images x1 et x2. Pour ce faire, vous devez prendre les intégrations d'images CLIP z_i1 et z_i2, puis appliquer slerp (interpolation linéaire sphérique) pour obtenir une représentation d'image CLIP intermédiaire. Il existe deux options pour le DDIM latent intermédiaire correspondant x_Ti : 1) utiliser slerp pour interpoler entre x_T1 et x_T2, 2) fixer le DDIM latent à une valeur échantillonnée aléatoirement pour toutes les interpolations de la trajectoire (un nombre illimité de trajectoires peut être généré) . Les images suivantes ont été générées en utilisant la deuxième option.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Explorez l'interpolation de deux images.

Enfin, la troisième chose est la manipulation d'images guidée par le langage ou la différence de texte. Pour modifier l'image afin de refléter la nouvelle description textuelle y, vous obtenez d'abord son texte CLIP incorporant z_t, et le texte CLIP incorporant z_t0 du titre décrivant l'image actuelle (peut-être un titre factice comme "Photo" ou un titre vide). Calculez ensuite le vecteur de différence de texte z_d = norm(z_t - z_t0). slerp est ensuite utilisé pour pivoter entre l'image CLIP intégrant z_i et le vecteur de différence de texte z_d, et générer une image avec un bruit DDIM de base fixe x_T tout au long de la trajectoire.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

​Explorez les différences de texte, par rapport au texte original.

L'auteur a également mené une série d'expériences pour explorer l'espace potentiel CLIP. Des recherches antérieures ont montré que CLIP est vulnérable aux attaques d'impression. Dans ces attaques, un morceau de texte est superposé sur un objet, ce qui amène CLIP à prédire l'objet décrit par le texte plutôt que l'objet décrit dans l'image (vous vous souvenez d'Apple avec la bannière « iPod » ?). Les auteurs tentent maintenant de générer des variantes de telles images et constatent que même si la probabilité que l'image soit correctement classée est très faible, les variantes générées sont correctes avec une forte probabilité. Bien que la probabilité relative de prédiction de ce titre soit très élevée, le modèle ne génère jamais d'image d'iPod.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Imprimer le cas d'attaque.

Une autre expérience intéressante consiste à reconstruire l'image avec de plus en plus de composantes principales. Dans l'image ci-dessous, ils ont pris des intégrations d'images CLIP d'un petit nombre d'images sources, les ont reconstruites avec des dimensions PCA croissantes, puis ont visualisé les intégrations d'images reconstruites à l'aide d'un décodeur avec DDIM. Cela permet de visualiser des informations sémantiques codées dans différentes dimensions.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

De plus en plus de composants principaux, issus du papier original.

Gardez également à l'esprit les difficultés rencontrées par unCLIP en matière de liaison de propriétés, de génération de texte et de détails dans des scènes complexes.

Les deux premiers problèmes sont probablement dus aux propriétés d'intégration de CLIP.

Des problèmes de liaison de propriétés peuvent survenir car l'intégration CLIP elle-même ne lie pas explicitement les propriétés aux objets, de sorte que le décodeur confond les propriétés et les objets lors de la génération d'images.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

Un autre ensemble de reconstructions pour des problèmes de reliure difficiles, à partir de l'article original.

Les problèmes de génération de texte peuvent être causés par l'intégration du CLIP qui n'encode pas avec précision les informations orthographiques du texte rendu.

Étant donné que la hiérarchie du décodeur génère des images avec une résolution de base de 64 × 64, puis les suréchantillonne, des problèmes de faible niveau de détail peuvent survenir. Par conséquent, en utilisant une résolution de base plus élevée, le problème peut disparaître (au prix d’un apprentissage et de calculs d’inférence supplémentaires).

Nous avons assisté à l’évolution du modèle de génération d’images basé sur du texte d’OpenAI. Il existe également d’autres entreprises travaillant dans ce domaine.

Les images générées par texte sont si populaires que vous devez comprendre lévolution de ces technologies

DALL·E 2 (ou unCLIP) est une énorme amélioration par rapport à la première version du système, la DALL·E 1, qui n'avait qu'un an. Cependant, il reste encore beaucoup à faire.

Malheureusement, ces modèles puissants et intéressants ne sont pas open source. L'auteur aimerait voir davantage de modèles de ce type publiés ou au moins rendus disponibles via l'API. Autrement, tous ces résultats ne seront applicables qu’à un public très restreint.

Il est indéniable que de tels modèles peuvent contenir des erreurs, produire parfois des types de contenu incorrects ou être utilisés par des agents malveillants. L’auteur souligne la nécessité de discuter de la manière de traiter ces questions. Il existe d’innombrables utilisations potentiellement intéressantes pour ces modèles, mais l’incapacité à résoudre les problèmes ci-dessus a entravé ces explorations.

L'auteur espère que le DALL·E 2 (ou d'autres modèles similaires) sera bientôt accessible à tous via une API ouverte. ​

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer