Diffusion Stable Intuition de base derrière l’IA générative

Diffusion Stable - Base intuition behind generative AI.

Cet article donne un aperçu général de la Diffusion Stable et se concentre sur la construction d’une compréhension de base de fonctionnement de l’intelligence artificielle générative.

Introduction

Le monde de l’IA a considérablement évolué vers la modélisation générative au cours des dernières années, tant en vision par ordinateur qu’en traitement automatique du langage naturel. Dalle-2 et Midjourney ont attiré l’attention des gens, les amenant à reconnaître le travail exceptionnel accompli dans le domaine de l’IA générative.

La plupart des images générées par l’IA actuellement produites reposent sur des modèles de diffusion comme base. L’objectif de cet article est de clarifier certains des concepts entourant la diffusion stable et d’offrir une compréhension fondamentale de la méthodologie utilisée.

Architecture simplifiée

Ce diagramme de flux montre la version simplifiée d’une architecture de diffusion stable. Nous allons le parcourir pièce par pièce pour mieux comprendre son fonctionnement interne. Nous développerons le processus d’apprentissage pour mieux comprendre, avec une inférence ayant seulement quelques changements subtils.

Entrées

Les modèles de diffusion stable sont entraînés sur des ensembles de données de légendes d’images où chaque image a une légende ou une indication associée qui décrit l’image. Il y a donc deux entrées dans le modèle : une indication textuelle en langage naturel et une image de taille (3,512,512) ayant 3 canaux de couleur et des dimensions de taille 512.

Bruit additif

L’image est convertie en bruit complet en ajoutant du bruit gaussien à l’image d’origine. Cela se fait en plusieurs étapes consécutives, par exemple, une petite quantité de bruit est ajoutée à l’image pendant 50 étapes consécutives jusqu’à ce que l’image soit complètement bruitée. Le processus de diffusion vise à éliminer ce bruit et à reproduire l’image d’origine. Comment cela est fait sera expliqué plus en détail.

Encodeur d’images

L’encodeur d’images fonctionne comme un composant d’un autoencodeur variationnel, convertissant l’image en un “espace latent” et la redimensionnant à des dimensions plus petites, telles que (4, 64, 64), tout en incluant également une dimension de lot supplémentaire. Ce processus réduit les exigences computationnelles et améliore les performances. Contrairement aux modèles de diffusion d’origine, la diffusion stable intègre l’étape de codage dans la dimension latente, ce qui réduit le calcul ainsi que le temps d’apprentissage et d’inférence.

Encodeur de texte

L’indication en langage naturel est transformée en une incorporation vectorisée par l’encodeur de texte. Ce processus utilise un modèle de langage Transformer, tel que BERT ou des modèles de texte basés sur GPT-CLIP. Les modèles améliorés d’encodeur de texte améliorent considérablement la qualité des images générées. La sortie résultante de l’encodeur de texte se compose d’un tableau de vecteurs d’incorporation de 768 dimensions pour chaque mot. Afin de contrôler la longueur de l’indication, une limite maximale de 77 est fixée. Par conséquent, l’encodeur de texte produit un tenseur de dimensions (77, 768).

UNet

C’est la partie la plus coûteuse en termes de calcul de l’architecture et le principal traitement de diffusion se produit ici. Il reçoit l’encodage textuel et l’image latente bruitée en entrée. Ce module vise à reproduire l’image d’origine à partir de l’image bruitée qu’il reçoit. Il le fait à travers plusieurs étapes d’inférence qui peuvent être définies comme un hyperparamètre. Normalement, 50 étapes d’inférence sont suffisantes.

Considérons un scénario simple où une image d’entrée subit une transformation en bruit en introduisant progressivement de petites quantités de bruit en 50 étapes consécutives. Cette addition cumulative de bruit transforme finalement l’image d’origine en bruit complet. L’objectif de l’UNet est de renverser ce processus en prédisant le bruit ajouté à l’étape précédente. Pendant le processus de débruitage, l’UNet commence par prédire le bruit ajouté à la 50e étape pour l’étape initiale. Il soustrait ensuite ce bruit prédit de l’image d’entrée et répète le processus. À chaque étape suivante, l’UNet prédit le bruit ajouté à l’étape précédente, restaurant progressivement l’image d’entrée d’origine à partir du bruit complet. Tout au long de ce processus, l’UNet repose en interne sur le vecteur d’incorporation textuelle en tant que facteur de conditionnement.

L’UNet produit un tenseur de taille (4, 64, 64) qui est transmis à la partie de décodage de l’autoencodeur variationnel.

Décodeur

Le décodeur inverse la conversion de la représentation latente effectuée par l’encodeur. Il prend une représentation latente et la convertit à nouveau en espace d’image. Par conséquent, il produit une image (3,512,512), de la même taille que l’espace d’entrée d’origine. Pendant l’apprentissage, nous cherchons à minimiser la perte entre l’image d’origine et l’image générée. Étant donné cela, étant donné une indication textuelle, nous pouvons générer une image liée à l’indication à partir d’une image totalement bruitée.

Mettre tout cela ensemble

Pendant l’inférence, nous n’avons pas d’image d’entrée. Nous travaillons uniquement en mode texte-vers-image. Nous supprimons la partie du bruit additif et utilisons à la place un tenseur généré aléatoirement de la taille requise. Le reste de l’architecture reste inchangé.

L’UNet a été entraîné pour générer une image à partir d’un bruit complet, en exploitant l’encodage de la demande de texte. Cette entrée spécifique est utilisée pendant l’étape d’inférence, ce qui nous permet de générer avec succès des images synthétiques à partir du bruit. Ce concept général sert d’intuition fondamentale à tous les modèles de vision par ordinateur générative. Muhammad Arham est un ingénieur en apprentissage profond travaillant dans le domaine de la vision par ordinateur et du traitement du langage naturel. Il a travaillé sur le déploiement et l’optimisation de plusieurs applications d’intelligence artificielle générative qui ont atteint les classements mondiaux de Vyro.AI. Il s’intéresse à la construction et à l’optimisation de modèles d’apprentissage automatique pour les systèmes intelligents et croit en l’amélioration continue.

We will continue to update IPGirl; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

AI

Découvrez VampNet une approche de modélisation de jetons acoustiques masqués pour la synthèse, la compression, l'infographie et la variation de musique

Des améliorations significatives ont récemment été apportées à la création autoregressive de la parole et de la musiq...

AI

Cette recherche en IA propose Strip-Cutmix une méthode d'augmentation de données plus adaptée à la ré-identification de personnes.

En vision par ordinateur, la réidentification de personnes est une poursuite essentielle dans le monde interconnecté ...

AI

Découvrez FraudGPT Le Jumeau Obscur de ChatGPT

ChatGPT est devenu populaire, influençant la façon dont les gens travaillent et ce qu’ils peuvent trouver en li...

AI

Nouvelle fonctionnalité du pinceau Motion sur le podium de la Génération-2 permettant d'ajouter un mouvement contrôlé à vos générations.

Dans la génération de vidéos, les utilisateurs ont été confrontés à un défi persistant : la complexité de créer des v...