Modèle de diffusion de diffusion stable + modèle de cohérence de cohérence

1 Le passage du GAN à la Diffusion Stable

Avec l'accumulation continue de l'intelligence artificielle dans les technologies de génération d'images, de génération de texte et de génération multimodale 生成领域, le réseau de confrontation générative (GAN), l'auto-encodeur différentiel variable (VAE), les modèles de flux de normalisation, le modèle autorégressif (AR), les modèles basés sur l'énergie et le modèle de diffusion des incendies de ces dernières années (Diffusion Model).

GAN : Discriminateur supplémentaire
VAE : Alignement de la distribution postérieure
Modèles énergétiques EBM : Traitement des fonctions de partition
Flux de normalisation : Imposer des contraintes de réseau
insérez la description de l'image ici

Le champ de génération GAN est un peu obsolète, et Stable Diffusion prend sa place Le champ de génération GAN est un peu obsolète, et Stable Diffusion prend sa placeLe champ génératif G A N est devenu un peu dépassé, St ab l e D i ff u s i o n a pris sa place

  • Le GAN doit former deux réseaux, ce qui semble plus difficile, sujet à la non-convergence et à une faible diversité, alors concentrez-vous simplement sur la capacité de tromper le discriminateur.
  • Le modèle de diffusion utilise une méthode plus simple pour expliquer comment apprendre et générer des modèles génératifs, ce qui semble en fait plus simple.

DALL E2 (basé sur le modèle de fusion image-texte multimodal CLIP), modèle de diffusion Stable Diffusion

2 Historique du DDPM à la Diffusion Stable

2.1 DDPM

Les modèles de diffusion sont une classe de modèles génératifs qui génèrent des images directement à partir de bruit aléatoire. [Modèle de Diffusion DDPM : Modèles Probabilistes de Diffusion de Débruitage]

Idée : entraîner un modèle d'estimation du bruit et restaurer le bruit aléatoire d'entrée dans une image, 其中噪声就是标签,还原的时候,模型根据噪声生成对应的图像.

Processus d'entraînement : Bruit généré aléatoirement ϵ \epsilonϵ , après N étapes, le bruit est progressivement diffusé vers l'image originale d'entréex 0 x_0X0Dans, l'image après destruction est xn x_nXn, apprendre à détruire le bruit estimé de l'image ϵ θ ( xn , n ) \epsilon_\theta( x_n,n)ϵje( xn,n ) , avec des contraintes de perte L2 etϵ \epsilonϵ distance du bruit d'entrée d'origine.

Processus d'inférence : Entrez le bruit et restaurez-le dans une image après le modèle de bruit estimé.
insérez la description de l'image ici
Résumé : Comment fonctionne le modèle de diffusion ?
Processus d'entraînement : 前向扩散过程, ajoutez progressivement du bruit gaussien à une image jusqu'à ce que l'image devienne un bruit aléatoire.
Processus de raisonnement : 反向生成过程, en partant d'un bruit aléatoire et en supprimant progressivement le bruit jusqu'à ce qu'une image soit générée.

insérez la description de l'image ici

Formule importante pour le processus de diffusion vers l'avant :
xt x_tXtest la distribution de l'image au temps t, zi z_izjeest du bruit, on peut passer la distribution initiale x 0 x_0X0et le bruit zi z_izje, effectuer une diffusion en N étapes pour obtenir l'image de bruit finale xn x_nXn
insérez la description de l'image ici
insérez la description de l'image iciinsérez la description de l'image ici

La formule importante du processus de génération inverse :
apprendre le modèle de prédiction du bruit ϵ θ ( xn , n ) \epsilon_\theta( x_n,n)ϵje( xn,n ) , générer aléatoirement un bruit initialxn x_nXn, à travers ce modèle, faire N étapes pour générer du bruit et restituer à x 0 x_0X0image.
insérez la description de l'image ici

insérez la description de l'image ici
insérez la description de l'image ici
Bruit de prédiction UNet Z t Z_tZt
insérez la description de l'image ici

insérez la description de l'image ici

La clé de la fonction de Diffusion :
modèle à variables cachées, les deux processus sont une chaîne de Markov paramétrée, inférence variationnelle pour modéliser et résoudre

2.2 Diffusion stable

Le plus gros problème avec le modèle de diffusion est qu'il est extrêmement "coûteux" à la fois en termes de coût de temps et de coût économique. L'émergence de la diffusion stable est de résoudre les problèmes ci-dessus. Si nous voulons générer une image de taille 1024 × 1024, U-Net utilisera un bruit de taille 1024 × 1024 puis générera une image à partir de celui-ci. La quantité de calcul pour effectuer une diffusion en une étape ici est très importante, sans parler des itérations multiples jusqu'à 100 %. Une solution consiste à diviser la grande image en plusieurs images à petite résolution pour la formation, puis à utiliser un réseau neuronal supplémentaire pour générer des images à plus grande résolution (diffusion à super résolution).

insérez la description de l'image ici
Espace latent (Lantent Space)
L'espace latent est simplement une représentation de données compressées. La compression fait référence au processus de codage des informations avec moins de bits que la représentation d'origine. Par exemple, on utilise un canal de couleur (noir, blanc et gris) pour représenter une image composée à l'origine de trois couleurs primaires RVB.A ce moment, le vecteur de couleur de chaque pixel passe de 3 dimensions à 1 dimension. La réduction de la dimensionnalité perdra certaines informations, mais dans certains cas, la réduction de la dimensionnalité n'est pas une mauvaise chose. Grâce à la réduction de la dimensionnalité, nous pouvons filtrer certaines informations moins importantes et ne conserver que les informations les plus importantes.

Supposons que nous formions un modèle de classification d'images via un réseau de neurones convolutionnels entièrement connecté. Lorsque nous disons que le modèle apprend, nous voulons dire qu'il apprend des propriétés spécifiques de chaque couche du réseau de neurones, telles que les arêtes, les angles, les formes, etc. Chaque fois que le modèle apprend à l'aide de données (images qui existent déjà), il prend l'image est d'abord réduite en taille, puis restaurée à sa taille d'origine. Enfin, le modèle utilise le décodeur pour reconstruire l'image à partir des données compressées tout en apprenant toutes les informations pertinentes précédentes. Par conséquent, l'espace devient plus petit afin d'extraire et de préserver les attributs les plus importants. C'est pourquoi les espaces latents conviennent aux modèles de diffusion.
insérez la description de l'image ici
Latent Diffusion
"Latent Diffusion Model" (Latent Diffusion Model) combine la capacité de perception du GAN, la capacité de préservation des détails du modèle de diffusion et la capacité sémantique de Transformer à créer un modèle de génération plus robuste et efficace que tous les modèles ci-dessus. Par rapport à d'autres méthodes, la diffusion latente économise non seulement de la mémoire, mais les images générées maintiennent également la diversité et des détails élevés, tandis que les images préservent également la structure sémantique des données.

Toute méthode d'apprentissage génératif comporte deux phases principales : la compression perceptuelle et la compression sémantique.

Compression perceptive
Dans la phase d'apprentissage de la compression perceptive, les méthodes d'apprentissage doivent supprimer les détails à haute fréquence pour encapsuler les données dans des représentations abstraites. Cette étape est nécessaire pour construire une représentation stable et robuste de l'environnement. Les GAN sont bons pour la compression perceptive, ce qu'ils font en projetant des données redondantes de haute dimension de l'espace pixel vers l'hyperespace de l'espace latent. Un vecteur latent dans l'espace latent est une forme compressée de l'image de pixels d'origine, qui peut remplacer efficacement l'image d'origine. Plus précisément, la compression perceptuelle est capturée avec une architecture Auto Encoder. L'encodeur d'un auto-encodeur projette des données de grande dimension dans un espace latent, et le décodeur récupère des images à partir de l'espace latent.

Compression sémantique
Dans la seconde étape de l'apprentissage, les méthodes de génération d'images doivent pouvoir capter la structure sémantique présente dans les données. Cette structure conceptuelle et sémantique assure la préservation du contexte et des interrelations de divers objets dans une image. Transformer est bon pour capturer la structure sémantique du texte et des images. La combinaison de la capacité de généralisation de Transformer et de la capacité de préservation des détails du modèle de diffusion offre le meilleur des deux mondes et fournit un moyen de générer des images très détaillées à grain fin tout en préservant la structure sémantique de l'image.

Autoencodeur VAE
L'autoencodeur (VAE) se compose de deux parties principales : l'encodeur et le décodeur. L'encodeur convertira l'image en une représentation latente de faible dimension (espace pixel -> espace latent), qui sera transmise en entrée à U_Net. Le décodeur fait le contraire en retransformant la représentation latente en image (espace latent -> espace pixel).
insérez la description de l'image ici
U-Net
U-Net se compose également d'un encodeur et d'un décodeur, tous deux composés de blocs ResNet. Le codeur comprime la représentation d'image en une image de résolution inférieure, et le décodeur décode la résolution inférieure en une image de résolution supérieure. Pour éviter que U-Net ne perde des informations importantes lors du sous-échantillonnage, une connexion de raccourci est généralement ajoutée entre le ResNet de sous-échantillonnage de l'encodeur et le ResNet de suréchantillonnage du décodeur.
insérez la description de l'image ici
De plus, U-Net en diffusion stable est capable de conditionner sa sortie sur les intégrations de texte via des couches d'attention croisée. Des couches d'attention croisée sont ajoutées aux parties codeur et décodeur de U-Net, généralement entre les blocs ResNet.

Encodeur de texte
Un encodeur de texte convertit les signaux d'entrée en un espace d'intégration que U-Net peut comprendre. Généralement, un simple encodeur basé sur Transformer qui mappe une séquence de jetons à une séquence d'incorporations de texte latent. Des invites de haute qualité sont importantes pour une qualité de sortie intuitive, c'est pourquoi on met tellement l'accent sur la conception rapide de nos jours. La conception d'invite consiste à trouver certains mots-clés ou expressions, afin que l'invite puisse déclencher le modèle pour produire une sortie avec les propriétés ou les effets attendus.
insérez la description de l'image ici

3 Fins de cohérence Diffusion

Les modèles de diffusion reposent sur un processus génératif itératif, ce qui rend ces méthodes lentes à échantillonner, ce qui limite leur potentiel pour des applications en temps réel.

Afin de surmonter cette limitation, OpenAI a proposé des modèles de cohérence, qui sont un nouveau type de modèle génératif permettant d' 无需对抗训练obtenir rapidement des échantillons de haute qualité. Les modèles de cohérence prennent en charge la rapidité one-step 生成tout en permettant few-step 采样un compromis entre l'effort de calcul et la qualité de l'échantillon. Ils prennent également en charge 零样本(zero-shot)数据编辑, par exemple, l'inpainting d'images, la colorisation et la super-résolution sans nécessiter de formation spécifique pour ces tâches. Les modèles de cohérence peuvent être formés en tant que modèles de diffusion distillés pré-formés ou en tant que modèles génératifs autonomes.

Modèles de cohérence En tant que modèle génératif, 核心设计思想是支持 single-step 生成,同时仍然允许迭代生成,支持零样本(zero-shot)数据编辑,权衡了样本质量与计算量.

Les premiers modèles de cohérence sont construits sur l'équation différentielle ordinaire (ODE) du flux de probabilité (PF) dans le modèle de diffusion en temps continu. Comme le montre la figure ci-dessous, étant donné un ODE PF qui transforme en douceur les données en bruit, les modèles de cohérence apprennent à mapper n'importe quel point au point initial de la trajectoire à n'importe quel pas de temps pour la modélisation générative. Une propriété notable des modèles de cohérence est l'auto-cohérence : des points sur la même carte de trajectoire vers le même point initial. C'est pourquoi les modèles sont nommés modèles de cohérence.
insérez la description de l'image ici

Les modèles de cohérence permettent de générer des échantillons de données (point initial de la trajectoire ODE, par exemple x_0 sur la figure 1) en évaluant des vecteurs de bruit aléatoire transformés (points finaux de la trajectoire ODE, par exemple x_T sur la figure 1) en utilisant un seul réseau. Plus important encore, en enchaînant la sortie des modèles de modèles de cohérence à plusieurs pas de temps, la méthode peut améliorer la qualité de l'échantillon et effectuer des modifications de données à échantillon zéro au prix de davantage de calculs, similaires à l'optimisation itérative des modèles de diffusion.

insérez la description de l'image ici
En termes de formation, l'équipe de recherche propose deux méthodes basées sur l'auto-cohérence pour les modèles de cohérence.

  • La première méthode repose sur l'utilisation d'un solveur ODE numérique et d'un modèle de diffusion pré-entraîné pour générer des paires de points adjacents sur la trajectoire PF ODE. En minimisant la différence entre les sorties du modèle pour ces paires de points, cette étude distille efficacement les modèles de diffusion en modèles de cohérence, permettant la génération d'échantillons de haute qualité via une évaluation de réseau.

  • La deuxième méthode élimine complètement la dépendance vis-à-vis du modèle de diffusion pré-entraîné et peut former des modèles de cohérence indépendamment. Cette approche positionne les modèles de cohérence comme une classe indépendante de modèles génératifs.

Il convient de noter qu'aucune des méthodes de formation ne nécessite une formation contradictoire, et les deux permettent aux modèles de cohérence d'adopter de manière flexible des architectures de réseaux neuronaux.

Je suppose que tu aimes

Origine blog.csdn.net/weixin_54338498/article/details/130174582
conseillé
Classement