Maison >Périphériques technologiques >IA >Stanford/Google Brain : L'échantillonnage par double distillation et diffusion guidée est multiplié par 256 !

Stanford/Google Brain : L'échantillonnage par double distillation et diffusion guidée est multiplié par 256 !

WBOY
WBOYavant
2023-04-09 18:51:011649parcourir

Récemment, les modèles de diffusion guidée sans classificateur se sont révélés très efficaces dans la génération d'images haute résolution et ont été largement utilisés dans des cadres de diffusion à grande échelle, notamment DALL-E 2, GLIDE et Imagen.

Cependant, un inconvénient des modèles de diffusion guidée sans classificateur est qu'ils sont coûteux en calcul au moment de l'inférence. Parce qu’ils nécessitent d’évaluer deux modèles de diffusion – un modèle conditionnel de classe et un modèle inconditionnel – des centaines de fois.

Afin de résoudre ce problème, des chercheurs de l'Université de Stanford et de Google Brain ont proposé d'utiliser une méthode de distillation en deux étapes pour améliorer l'efficacité d'échantillonnage du modèle de diffusion guidée sans classificateur.

Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !

Adresse papier : https://arxiv.org/abs/2210.03142

Comment affiner le modèle de diffusion guidée sans classificateur en un modèle d'échantillonnage rapide ?

Tout d'abord, pour un modèle de guidage pré-entraîné sans classificateur, les chercheurs ont d'abord appris un modèle unique pour correspondre à la sortie combinée du modèle conditionnel et du modèle inconditionnel.

Ensuite, les chercheurs ont progressivement distillé ce modèle en un modèle de diffusion avec moins d'étapes d'échantillonnage.

On constate que sur ImageNet 64x64 et CIFAR-10, cette méthode est capable de générer des images visuellement comparables au modèle original.

Avec seulement 4 étapes d'échantillonnage, des scores FID/IS comparables au modèle original peuvent être obtenus, tandis que la vitesse d'échantillonnage peut atteindre 256 fois.

Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !

On constate qu'en modifiant le poids de guidage w, le modèle distillé par le chercheur peut faire un compromis entre diversité et qualité des échantillons. Et avec une seule étape d’échantillonnage, des résultats visuellement agréables sont obtenus.

Contexte du modèle de diffusion

Avec des échantillons x de la distribution de donnéesStanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !, la fonction de planification du bruitStanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !Les chercheurs ont formé un modèle de diffusion avec des paramètres θ en minimisant l'erreur quadratique moyenne pondéréeStanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !.

Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !

Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 ! est le rapport signal/bruit, Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 ! et Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 ! sont des fonctions de pondération prédéfinies.

Une fois le modèle de diffusion Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 ! formé, vous pouvez utiliser l'échantillonneur DDIM à temps discret pour échantillonner à partir du modèle.

Plus précisément, l'échantillonneur DDIM démarre à partir de z1 ∼ N (0,I), mis à jour comme suit

Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !

où, N est le nombre total d'étapes d'échantillonnage. En utilisant Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !, l'échantillon final est généré.

Le guidage sans classificateur est une méthode efficace qui peut améliorer considérablement la qualité des échantillons des modèles de diffusion conditionnelle et a été largement utilisé, notamment GLIDE, DALL·E 2 et Imagen.

Il introduit un paramètre de poids de guidageStanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 ! pour mesurer la qualité et la diversité des échantillons. Pour générer des échantillons, le guidage sans classificateur utilise Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 ! comme modèle de prédiction à chaque étape de mise à jour pour évaluer le modèle de diffusion conditionnelle Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 ! et le Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 ! formé conjointement.

L'échantillonnage à l'aide d'un guidage sans classificateur est souvent coûteux puisque chaque mise à jour d'échantillonnage nécessite d'évaluer deux modèles de diffusion.

Afin de résoudre ce problème, les chercheurs ont utilisé la distillation progressive, qui est une méthode permettant d'augmenter la vitesse d'échantillonnage du modèle de diffusion grâce à des distillations répétées.

Auparavant, cette méthode ne pouvait pas être utilisée directement pour la distillation de modèles guidés, ni sur des échantillonneurs autres que les échantillonneurs déterministes DDIM. Dans cet article, les chercheurs ont résolu ces problèmes.

Distillation du modèle de diffusion guidée sans classificateur

Leur méthode consiste à distiller le modèle de diffusion guidée sans classificateur.

Pour un modèle dirigé par un enseignant formé Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !, ils suivent deux étapes.

Dans la première étape, le chercheur a introduit un modèle d'étudiant en temps continuStanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !, qui a un paramètre apprenable η1 pour correspondre à la sortie du modèle d'enseignant à tout pas de temps t ∈ [0, 1] . Après avoir spécifié une gamme d'intensités d'enseignement Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 ! qui les intéressait, ils ont utilisé les objectifs suivants pour optimiser le modèle d'élève.

Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !

Lequel Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !.

Afin de combiner le poids d'orientation w, le chercheur a introduit le modèle conditionnel w, où w sert d'entrée au modèle d'étudiant. Pour mieux capturer les caractéristiques, ils ont appliqué l'intégration de Fourier w, puis l'ont incorporé dans l'épine dorsale du modèle de diffusion en utilisant la méthode pas à pas temporelle utilisée par Kingma et al.

Étant donné que l'initialisation joue un rôle clé dans la performance, lorsque les chercheurs ont initialisé le modèle de l'étudiant, ils ont utilisé les mêmes paramètres que le modèle de condition de l'enseignant (à l'exception des paramètres nouvellement introduits liés au conditionnement w).

Dans la deuxième étape, le chercheur a imaginé un scénario de pas de temps discret, et en réduisant de moitié le nombre d'étapes d'échantillonnage à chaque fois, le modèle d'apprentissage a été progressivement distillé de la première étapeStanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 ! en un modèle avec des paramètres apprenables η2 . Modèle d'apprentissage avec moins d'étapesStanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !.

où N représente le nombre d'étapes d'échantillonnage. Pour Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 ! et Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !, le chercheur commence à entraîner le modèle étudiant afin qu'il utilise une étape pour correspondre à la sortie de l'échantillonnage DDIM en deux étapes de l'échantillon. modèle d'enseignant (par exemple : de t /N à t - 0,5/N, de t - 0,5/N à t - 1/N).

Après avoir distillé les 2N étapes du modèle d'enseignant en N étapes du modèle d'élève, nous pouvons utiliser le nouveau modèle d'élève à N étapes comme nouveau modèle d'enseignant, puis répéter le même processus pour distiller le modèle d'enseignant en N /Modèle étudiant en 2 étapes. A chaque étape, les chercheurs initialisent le modèle chimique en utilisant les paramètres du modèle enseignant.

Échantillonnage déterministe et aléatoire en N étapes

⼀Une fois le modèle Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 ! formé, pour Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !, le chercheur peut effectuer un échantillonnage via les règles de mise à jour DDIM. Les chercheurs ont remarqué que pour le modèle de distillation Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !, ce processus d'échantillonnage est déterministe compte tenu de l'initialisation Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !.

De plus, les chercheurs peuvent également effectuer un échantillonnage aléatoire en N étapes. Utilisez un pas d'échantillonnage déterministe deux fois la taille de pas d'origine (c'est-à-dire le même que l'échantillonneur déterministe à N/2 étapes), puis prenez un pas en arrière aléatoire (c'est-à-dire perturbez-le avec du bruit) en utilisant la taille de pas d'origine.

Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !, lorsque t > 1/N, les règles de mise à jour suivantes peuvent être utilisées -

Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !

Parmi elles, Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !.

Lorsque t=1/N, le chercheur utilise la formule de mise à jour déterministe pour dériver Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 ! de Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !.

Il convient de noter que la réalisation d'un échantillonnage aléatoire nécessite d'évaluer le modèle à des pas de temps légèrement différents par rapport à un échantillonneur déterministe, et nécessite de petites modifications de l'algorithme d'entraînement pour les cas extrêmes.

Autres méthodes de distillation

Il existe également une méthode permettant d'appliquer directement la distillation progressive au modèle d'orientation, c'est-à-dire de suivre la structure du modèle d'enseignant, de distiller directement le modèle d'apprentissage en une condition de formation conjointe et modèles inconditionnels. Après que les chercheurs l’aient essayée, ils ont constaté que cette méthode n’était pas efficace.

Expériences et conclusions

Des expériences modèles ont été menées sur deux ensembles de données standards : ImageNet (64*64) et CIFAR 10.

Différentes plages du poids de guidage w ont été explorées dans l'expérience, et il a été observé que toutes les plages étaient comparables, donc [wmin, wmax] = [0, 4] a été utilisé pour l'expérience. Les modèles de première et deuxième étapes sont entraînés à l’aide de la perte signal/bruit.

Les normes de base incluent l'échantillonnage ancestral DDPM et l'échantillonnage DDIM.

Pour mieux comprendre comment intégrer le poids de guidage w, un modèle entraîné avec une valeur w fixe est utilisé comme référence.

Pour une comparaison équitable, l'expérience utilise le même modèle d'enseignant pré-formé pour toutes les méthodes. En utilisant l'architecture U-Net (Ronneberger et al., 2015) comme base de référence et en utilisant le même squelette U-Net, une structure avec w intégré est présentée comme un modèle étudiant en deux étapes.

Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !

L'image ci-dessus montre les performances de toutes les méthodes sur ImageNet 64x64. où D et S représentent respectivement des échantillonneurs déterministes et stochastiques.

Dans l'expérience, l'entraînement du modèle conditionnel à l'intervalle de guidage w∈[0, 4] s'est effectué de manière équivalente à l'entraînement du modèle avec w comme valeur fixe. Lorsqu’il y a moins d’étapes, notre méthode surpasse considérablement les performances de base du DDIM et atteint essentiellement le niveau de performance du modèle enseignant de 8 à 16 étapes.

Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !

Qualité d'échantillonnage ImageNet 64x64 évaluée par les scores FID et IS

Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !

Qualité d'échantillonnage CIFAR-10 évaluée par les scores FID et IS

Nous avons également des modèles d'enseignants L'encodage Le processus a été distillé et des expériences sur le transfert de style ont été menées. Plus précisément, pour effectuer un transfert de style entre deux domaines A et B, les images du domaine A sont codées à l'aide d'un modèle de diffusion formé sur le domaine A, puis décodées à l'aide d'un modèle de diffusion formé sur le domaine B.

Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !

Stanford/Google Brain : Léchantillonnage par double distillation et diffusion guidée est multiplié par 256 !

Étant donné que le processus d'encodage peut être compris comme un processus d'échantillonnage DDIM inversé, nous avons distillé à la fois l'encodeur et le décodeur avec des conseils sans classificateur et les avons comparés avec l'encodeur et le décodeur DDIM, comme le montre la figure ci-dessus. Nous explorons également l'impact sur les performances des modifications apportées à la résistance de la botte w.

En résumé, nous proposons une méthode de distillation pour les modèles à diffusion guidée, et un échantillonneur aléatoire pour échantillonner à partir du modèle distillé. Empiriquement, notre méthode permet d'obtenir un échantillonnage visuellement élevé en une seule étape et d'obtenir des scores FID/IS comparables à ceux des enseignants en seulement 8 à 16 étapes.

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