Maison  >  Article  >  Périphériques technologiques  >  Quelques lignes de code stabilisent UNet ! L'Université Sun Yat-sen et d'autres ont proposé le modèle de diffusion ScaleLong : de la remise en question du Scaling au devenir Scaling

Quelques lignes de code stabilisent UNet ! L'Université Sun Yat-sen et d'autres ont proposé le modèle de diffusion ScaleLong : de la remise en question du Scaling au devenir Scaling

PHPz
PHPzavant
2024-03-01 10:01:02483parcourir

Dans la structure UNet standard, le coefficient d'échelle 几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling sur la connexion à saut long est généralement de 1.

Cependant, dans certains travaux de modèle de diffusion bien connus, tels que Imagen, le modèle génératif basé sur le score et SR3, etc., ils ont tous défini 几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling et ont constaté que de tels paramètres peuvent effectivement accélérer la formation de la diffusion des modèles.

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling

Questioning ScalingCependant, il n'y a pas d'analyse spécifique de l'opération de mise à l'échelle de la connexion sautée dans Imagen et d'autres modèles dans l'article original, mais il est dit que ce paramètre contribue à accélérer la formation du modèle de diffusion.

Tout d’abord, ce genre d’affichage empirique nous rend flou sur le rôle que joue ce paramètre ?

De plus, nous ne savons pas si nous pouvons définir uniquement 几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling, ou pouvons-nous utiliser d'autres constantes ?

Le « statut » des connexions sautées à différents endroits est-il le même ? Pourquoi utiliser la même constante ?

L'auteur a beaucoup de points d'interrogation à ce sujet...

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为ScalingPhotos

Comprendre la mise à l'échelle

De manière générale, par rapport aux structures ResNet et Transformer, UNet n'est pas "profond" dans l'utilisation réelle Pas profond, il est moins sujet aux problèmes d'optimisation tels que la disparition des gradients qui sont courants dans d'autres structures de réseaux neuronaux « profonds ».

De plus, en raison de la particularité de la structure UNet, les entités peu profondes sont connectées à des emplacements profonds via une longue connexion par saut, évitant ainsi davantage des problèmes tels que la disparition du gradient.

Pensez-y à l'envers, si une telle structure n'est pas prise en compte, cela entraînera-t-il des problèmes tels que des gradients excessifs et une oscillation des paramètres (caractéristiques) dues aux mises à jour ?

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为ScalingPhotos

En visualisant les caractéristiques et les paramètres de la tâche du modèle de diffusion pendant le processus de formation, on peut constater qu'une instabilité existe.

L'instabilité des paramètres (caractéristiques) affecte le dégradé, qui à son tour affecte les mises à jour des paramètres. En fin de compte, ce processus présente un plus grand risque d’interférence indésirable avec les performances. Nous devons donc trouver des moyens de contrôler cette instabilité.

Plus loin, pour le modèle de diffusion. L'entrée d'UNet est une image bruitée. Si le modèle doit prédire avec précision le bruit ajouté, cela nécessite que le modèle ait une forte robustesse à l'entrée contre des perturbations supplémentaires.

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling

Paper : https://arxiv.org/abs/2310.13545

Code : https://github.com/sail-sg/ScaleLong

Les chercheurs ont trouvé les problèmes ci-dessus, qui peuvent être trouvés dans Long sauter la connexion La mise à l'échelle est effectuée sur le système pour une atténuation unifiée.

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling

D'après le théorème 3.1, la plage d'oscillation de l'entité de la couche intermédiaire (la largeur des limites supérieure et inférieure) est directement liée à la somme des carrés du coefficient d'échelle. Des coefficients de mise à l'échelle appropriés aident à atténuer l'instabilité des fonctionnalités.

Cependant, il convient de noter que si le coefficient d'échelle est directement fixé à 0, le choc est effectivement atténué de manière optimale. (Tête de chien manuelle)

Mais si UNet se dégrade vers une situation sans saut, le problème d'instabilité est résolu, mais la capacité de représentation est également perdue. Il s'agit d'un compromis entre la stabilité du modèle et les capacités de représentation.

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为ScalingPhotos

De même, du point de vue du gradient des paramètres. Le théorème 3.3 révèle également que le coefficient d'échelle contrôle l'ampleur du gradient.

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为ScalingImage

De plus, le théorème 3.4 révèle également que la mise à l'échelle sur la connexion à saut long peut également affecter la limite supérieure robuste du modèle aux perturbations d'entrée et améliorer la stabilité du modèle de diffusion aux perturbations d'entrée.

Devenir Scaling

Grâce à l'analyse ci-dessus, nous comprenons l'importance de la mise à l'échelle sur une connexion à saut long pour une formation de modèle stable, 几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling s'applique également à l'analyse ci-dessus.

Ensuite, nous analyserons quel type de mise à l'échelle peut avoir de meilleures performances. Après tout, l'analyse ci-dessus ne peut que montrer que la mise à l'échelle est bonne, mais elle ne peut pas déterminer quel type de mise à l'échelle est le meilleur ou le meilleur.

Un moyen simple consiste à introduire un module apprenable pour les connexions à long saut afin d'ajuster la mise à l'échelle de manière adaptative. Cette méthode est appelée méthode Learnable Scaling (LS). Nous adoptons une structure similaire à SENet, qui est la suivante (la structure U-ViT considérée ici est très bien organisée, genre !)

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scalingphoto

D'après les résultats de cet article, LS peut en effet stabiliser efficacement le formation des modèles de diffusion ! De plus, nous essayons de visualiser les coefficients appris en LS.

Comme le montre la figure ci-dessous, nous constaterons que ces coefficients montrent une tendance exponentielle à la baisse (notez que la première connexion longue sautée ici fait référence à la connexion reliant la première et la dernière extrémité d'UNet), et le premier coefficient est presque proche à 1. Ce phénomène est également étonnant !

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为ScalingPicture

Sur la base de cette série d'observations (veuillez vous référer à l'article pour plus de détails), nous avons en outre proposé la méthode Constant Scaling (CS), qui ne nécessite pas de paramètres apprenables :

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling

La stratégie CS ne nécessite aucun paramètre supplémentaire comme l'opération de mise à l'échelle d'origine utilisant 几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling, il n'y a donc presque aucune consommation de calcul supplémentaire.

Bien que CS ne soit pas aussi performant que LS en entraînement stable la plupart du temps, cela vaut toujours la peine d'essayer les stratégies 几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling existantes.

Les implémentations ci-dessus de CS et LS sont très simples et ne nécessitent que quelques lignes de code. Pour chaque formule (hua) (li) et chaque structure UNet de type (hu) (shao), les dimensions des fonctionnalités devront peut-être être alignées. (Tête de chien manuelle +1)

几行代码稳定UNet ! 中山大学等提出ScaleLong扩散模型:从质疑Scaling到成为Scaling

Récemment, certains travaux de suivi, tels que FreeU, SCEdit et d'autres travaux, ont également révélé l'importance de la mise à l'échelle de la connexion sautée. Tout le monde est invité à essayer de le promouvoir.

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