Maison >Périphériques technologiques >IA >Stanford/Google Brain : L'échantillonnage par double distillation et diffusion guidée est multiplié par 256 !
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.
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.
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.
Avec des échantillons x de la distribution de données, la fonction de planification du bruitLes chercheurs ont formé un modèle de diffusion avec des paramètres θ en minimisant l'erreur quadratique moyenne pondérée.
où est le rapport signal/bruit, et sont des fonctions de pondération prédéfinies.
Une fois le modèle de diffusion 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
où, N est le nombre total d'étapes d'échantillonnage. En utilisant , 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 guidage pour mesurer la qualité et la diversité des échantillons. Pour générer des échantillons, le guidage sans classificateur utilise comme modèle de prédiction à chaque étape de mise à jour pour évaluer le modèle de diffusion conditionnelle et le 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.
Leur méthode consiste à distiller le modèle de diffusion guidée sans classificateur.
Pour un modèle dirigé par un enseignant formé , ils suivent deux étapes.
Dans la première étape, le chercheur a introduit un modèle d'étudiant en temps continu, 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 qui les intéressait, ils ont utilisé les objectifs suivants pour optimiser le modèle d'élève.
Lequel .
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 étape en un modèle avec des paramètres apprenables η2 . Modèle d'apprentissage avec moins d'étapes.
où N représente le nombre d'étapes d'échantillonnage. Pour et , 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 formé, pour , 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 , ce processus d'échantillonnage est déterministe compte tenu de l'initialisation .
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.
, lorsque t > 1/N, les règles de mise à jour suivantes peuvent être utilisées -
Parmi elles, .
Lorsque t=1/N, le chercheur utilise la formule de mise à jour déterministe pour dériver de .
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.
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.
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.
Qualité d'échantillonnage ImageNet 64x64 évaluée par les scores FID et IS
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.
É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!