Diffuse sur les modèles de diffusion ?
Montée en puissance des modèles de génération d'images basés sur la diffusion
J'étais un noob de la diffusion il y a trois semaines, mais vu le buzz, j'ai voulu sauter dans le train de la diffusion (ce que j'ai l'impression d'avoir pu). Le rythme auquel les nouveaux développements se produisent dans l'espace de génération d'images basée sur la diffusion (DbIG) est époustouflant. Il devient difficile de comprendre par où commencer le voyage. Dans cet article, je partage mon parcours qui pourrait être utile à d'autres qui souhaitent construire une base fondamentale solide pour comprendre le monde des modèles de diffusion (DM), y compris la compréhension des mathématiques.
Note 1 : Je ne parlerai pas nécessairement en détail de l'une ou l'autre des techniques, mais tracerai un cheminement d'un papier à l'autre. Je crois qu'il y a une overdose de blogs/vidéos/articles qui parlent de diverses techniques. D'un autre côté, je n'ai trouvé aucun blog pour m'aider à construire une base solide dans DbIG.
Note2 : Il m'a fallu environ 3 semaines d'efforts dévoués pour partir des fondamentaux et construire à partir de zéro. Si vous souhaitez développer une compréhension approfondie, consacrez environ 2 semaines de votre temps, surtout si vous n'êtes pas familier avec les mathématiques des encodeurs automatiques variationnels et que vous souhaitez avoir une idée intuitive des mathématiques DM.
Commençons.
Étape 1 : Modèle de diffusion précoce
Apprentissage profond non supervisé à l'aide de la thermodynamique hors équilibre [2015] - Il s'agit du premier article qui a introduit les idées autour de l'utilisation des «modèles probabilistes de diffusion». Bien que le papier soit facile à préparer si vous ignorez les mathématiques, pour comprendre les mathématiques, il faut être familiarisé avec l'inférence variationnelle. Je recommanderais de se familiariser avec les encodeurs automatiques variationnels (VAE) pour suivre les calculs.
Encodeurs automatiques variationnels [Facultatif] : Bien qu'il ne soit pas nécessaire de comprendre les modèles de diffusion, une bonne compréhension de VAE aide à comprendre les unités de base du processus de diffusion et les mathématiques qui le sous-tendent.
- Tutoriels : Une introduction aux auto-encodeurs variationnels , Tutoriel sur les auto-encodeurs variationnels
- Articles : Bayes variationnel à encodage automatique
- Code : Autoencodeur variationnel avec Pytorch , LATENT SPACES (Part-2): A Simple Guide to Variational Autoencoders
Étape 2 : DDPM
DDPM : Denoising Diffusion Probabilistic Models [2020] — C'est ce qui a déclenché l'engouement autour du DM pour la génération d'images.
Approfondir le DDPM :
- Explication du document DDPM — Que sont les modèles de diffusion ? [Blog], Introduction aux modèles de diffusion pour l'apprentissage automatique [Blog]
- Les maths — Modèles de diffusion | Explication papier | Math Explained [YouTube] vidéo qui couvre les mathématiques en détail. Très utile pour avoir un aperçu étape par étape des mathématiques [Hautement recommandé]
- Code — Il me restait encore quelques confusions qui ont été supprimées en suivant le code/recodage DM à l'aide de Diffusion Models | Implémentation de PyTorch [YouTube], Diffusion-Models-pytorch [Github], Modèles de diffusion à partir de zéro dans PyTorch [YouTube]
- Comprendre l'équivalence du DDPM et de la génération basée sur le score — Modélisation générative par estimation des gradients de la distribution des données [Blog]
- Techniques améliorées pour la formation de modèles génératifs basés sur des scores [2020]
- Modélisation générative basée sur les scores par le biais d'équations différentielles stochastiques [2020]
U-Net : DDPM a d'abord utilisé l'architecture U-Net pour le DM, ce qui, à mon avis, est aussi important que le processus de diffusion lui-même pour aider à générer des images de haute qualité. Bien que comprendre U-Net ne soit pas nécessaire pour comprendre le processus, mais si vous souhaitez suivre des travaux plus avancés (encodage de pas de temps, conditionnement de texte), il est essentiel de savoir comment fonctionne U-Net.
- U-Net : Réseaux convolutifs pour la segmentation d'images biomédicales [2015] - The U-Net Paper
- Réseaux entièrement convolutifs pour la segmentation sémantique [2014] - Article FCN qui est l'inspiration pour U-Net
- Comprendre U-Net en détail - Comprendre l'architecture U-Net et la construire à partir de zéro [Youtube]
- Déconvolutions — Guide de l'arithmétique de convolution pour l'apprentissage en profondeur , suréchantillonnage avec convolution transposée , déconvolution et artefacts en damier
DDIM : Modèles implicites de diffusion de débruitage [Oct 2020] — Stratégie d'échantillonnage populaire alternative à partir de DM à partir de la littérature basée sur les scores.
Étape 4 : DM en cours d'établissement comme choix par défaut pour la génération d'images
- Modèles probabilistes de diffusion de débruitage améliorés [février 2021] — Améliorations du DDPM.
- Les modèles de diffusion battent les GAN sur la synthèse d'images [mai 2021] - Améliorations supplémentaires de l'IDDPM. Cet article a également introduit l'idée de « guidage de classificateur » pour améliorer la qualité de la génération et fournir un moyen de contrôler la sortie de la génération. Je crois que c'est ce qui a établi la ligne de base pour le travail de suivi sur DbIG.
- Guide de diffusion sans classificateur [juillet 2022] - Résultats améliorés en conditionnant le modèle U-Net et en suivant une formation de style «abandon». Il s'agit d'une alternative au guidage du classificateur qui nécessite la formation d'un classificateur d'image alternatif.
- Pseudo Numerical Methods for Diffusion Models on Manifolds [Sept 2021] — Amélioration de la vitesse d'échantillonnage.
- Super-résolution d'image via raffinement itératif [avril 2021] — Pas pour la génération d'images mais clé pour comprendre le futur DM conditionné par l'image et la cascade pour améliorer la résolution de l'image.
Trois journaux ont diffusé des modèles de première page.
Diffusion stable : Synthèse d'images haute résolution avec modèles de diffusion latente [décembre 2021] — Leur code a été rendu open source, ce qui a contribué à démocratiser le DM. A aidé à améliorer la complexité de calcul. Conditionnement par attention croisée, etc. Comprendre la diffusion stable en détail — La diffusion stable illustrée .
Dall-E 2 : Génération hiérarchique d'images textuelles conditionnelles avec CLIP Latents [avril 2022] — Pas open-source, mais une démo en ligne. Ajout d'une étape supplémentaire d'utilisation des incorporations d'images CLIP pour conditionner et d'une étape préalable pour convertir les incorporations de texte CLIP en incorporations d'images.
Imagen : Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding [Mai 2022] — Article de Google, avec les modifications suivantes — Utilisation d'incorporations de texte uniquement (T5), guidage par seuil, modèle en cascade.
Étape 7 : Autres papiers de diffusion populaires pour la génération d'images jusqu'en octobre 2022 environ [facultatif]
- SDEdit : synthèse et édition guidées d'images avec des équations différentielles stochastiques [août 2021]
- Palette : modèles de diffusion image à image [Nov 2021]
- GLIDE : vers la génération et l'édition d'images photoréalistes avec des modèles de diffusion guidés par le texte [décembre 2021]
- Synthèse d'images sémantiques via des modèles de diffusion [juin 2022]
- Une image vaut un mot : personnalisation de la génération de texte à image à l'aide de l'inversion textuelle [août 2022] [Inversion de texte]
- DreamBooth : affiner les modèles de diffusion texte-image pour la génération axée sur le sujet [août 2022]
- Édition d'image d'invite à invite avec contrôle de l'attention croisée [août 2022]
- Imagic : édition d'images réelles basée sur du texte avec des modèles de diffusion [octobre 2022]
- MagicMix : Mixage sémantique avec des modèles de diffusion [Oct 2022]
C'est ça les gens. Bonne diffusion.
J'ai vraiment apprécié ce voyage magique de création d'une image à partir des radiations du Big Bang . Si vous pensez qu'il existe un article/blog/vidéo qui vous a aidé à vous embarquer dans le train de diffusion, merci de le partager avec moi.
Remerciements : Je tiens à remercier sincèrement Sen He , Jerry Wu et Tao Xiang pour m'avoir aidé dans cette exploration et m'avoir orienté de temps en temps dans la bonne direction.
Note finale : J'ai acquis ces connaissances en peu de temps, il pourrait donc y avoir des erreurs dans ma compréhension. S'il vous plaît laissez-moi savoir si quelque chose que j'ai dit ici est factuellement incorrect.