Vue d'ensemble
Dans cette unité, nous examinerons certaines des nombreuses améliorations et extensions des modÚles de diffusion apparaissant dans les recherches les plus récentes. Elle sera moins axée sur le code que les unités précédentes et est conçue pour vous donner un point de départ pour des recherches plus approfondies.
Vue dâensemble de cette unitĂ© đ
Les différentes étapes à suivre pour cette unité :
- Lisez le matĂ©riel ci-dessous pour avoir une vue dâensemble des idĂ©es clĂ©s de cette unitĂ©
- Approfondissez les sujets spécifiques grùce aux vidéos et aux ressources associées.
- Explorez les notebooks de démonstration, puis lisez la section « Et ensuite ? » pour obtenir des suggestions de projets.
Ăchantillonnage plus rapide par distillation
La distillation progressive est une technique permettant de prendre un modĂšle de diffusion existant et de lâutiliser pour entraĂźner une nouvelle version du modĂšle qui nĂ©cessite moins dâĂ©tapes pour lâinfĂ©rence. Le modĂšle âĂ©lĂšveâ est initialisĂ© Ă partir des poids du modĂšle âenseignantâ. Pendant lâentraĂźnement, le modĂšle enseignant effectue deux Ă©tapes dâĂ©chantillonnage et le modĂšle de Ă©tudiant tente de faire correspondre la prĂ©diction rĂ©sultante en une seule Ă©tape. Ce processus peut ĂȘtre rĂ©pĂ©tĂ© plusieurs fois, le modĂšle Ă©tudiant de lâitĂ©ration prĂ©cĂ©dente devenant le modĂšle enseignant pour lâĂ©tape suivante. Le rĂ©sultat est un modĂšle qui peut produire des Ă©chantillons dĂ©cents en beaucoup moins dâĂ©tapes (gĂ©nĂ©ralement 4 ou 8) que le modĂšle enseignant dâorigine. Le mĂ©canisme de base est illustrĂ© dans ce diagramme tirĂ© de lâarticle qui a introduit lâidĂ©e :

Illustration de la distillation progressive issue de ce papier
LâidĂ©e dâutiliser un modĂšle existant pour âenseignerâ un nouveau modĂšle peut ĂȘtre Ă©tendue pour crĂ©er des modĂšles guidĂ©s dans lesquels la technique de guidage sans classifieur est utilisĂ©e par le modĂšle enseignant et le modĂšle Ă©tudiant doit apprendre Ă produire un rĂ©sultat Ă©quivalent en une seule Ă©tape sur la base dâune entrĂ©e supplĂ©mentaire spĂ©cifiant lâĂ©chelle de guidage ciblĂ©e. Cela permet de rĂ©duire encore le nombre dâĂ©valuations de modĂšles nĂ©cessaires pour produire des Ă©chantillons de haute qualitĂ©. Cette vidĂ©o (en anglais) donne un aperçu de lâapproche.
Références principales :
- Progressive Distillation For Fast Sampling Of Diffusion Models
- On Distillation Of Guided Diffusion Models
AmĂ©lioration de lâentraĂźnement
Plusieurs astuces supplĂ©mentaires ont Ă©tĂ© mises au point pour amĂ©liorer lâentraĂźnement des modĂšles de diffusion. Dans cette section, nous avons essayĂ© de prĂ©senter les idĂ©es principales des articles rĂ©cents. Il y a un flux constant de recherches qui sortent avec des amĂ©liorations supplĂ©mentaires, donc si vous voyez un article qui devrait ĂȘtre ajoutĂ© ici, veuillez nous le faire savoir !
Figure 2 du papier ERNIE-ViLG 2.0
AmĂ©liorations principales de lâentraĂźnement :
- RĂ©glage du planificateur du bruit, de la pondĂ©ration de la perte et des trajectoires dâĂ©chantillonnage pour un entraĂźnement plus efficace. Un excellent papier explorant certains de ces choix de conception est Elucidating the Design Space of Diffusion-Based Generative Models par Karras et al.
- EntraĂźnement sur divers rapports dâaspect, comme dĂ©crit dans cette vidĂ©o du lancement du cours (en anglais).
- ModĂšles de diffusion en cascade, entraĂźnant un modĂšle Ă basse rĂ©solution, puis un ou plusieurs modĂšles en super-rĂ©solution. UtilisĂ©s dans DALLE-2, Imagen et dâautres pour la gĂ©nĂ©ration dâimages Ă haute rĂ©solution.
- Meilleur conditionnement, incorporation dâenchĂąssement textuels riches (Imagen utilise un grand modĂšle de langage appelĂ© T5) ou plusieurs types de conditionnement (eDiffi).
- âAmĂ©lioration des connaissancesâ : incorporation de modĂšles de sous-titrage dâimages et de dĂ©tection dâobjets prĂ©-entraĂźnĂ©s dans le processus dâentraĂźnement afin de crĂ©er des sous-titres plus informatifs et dâobtenir de meilleures performances (ERNIE-ViLG 2.0).
- âMĂ©lange dâexperts de dĂ©bruitageâ (MoDE) : entraĂźner diffĂ©rentes variantes du modĂšle (âexpertsâ) pour diffĂ©rents niveaux de bruit, comme illustrĂ© dans lâimage ci-dessus tirĂ©e du papier ERNIE-ViLG 2.0.
Références principales :
- Elucidating the Design Space of Diffusion-Based Generative Models
- eDiffi: Text-to-Image Diffusion Models with an Ensemble of Expert Denoisers
- ERNIE-ViLG 2.0: Improving Text-to-Image Diffusion Model with Knowledge-Enhanced Mixture-of-Denoising-Experts
- Imagen - Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding (site démo)
Plus de contrĂŽle pour la gĂ©nĂ©ration et lâĂ©dition
Outre les amĂ©liorations apportĂ©es Ă lâentraĂźnement, plusieurs innovations ont Ă©tĂ© apportĂ©es Ă la phase dâĂ©chantillonnage et dâinfĂ©rence, y compris de nombreuses approches qui peuvent ajouter de nouvelles capacitĂ©s aux modĂšles de diffusion existants.
Ăchantillons gĂ©nĂ©rĂ©s par eDiffi
La vidĂ©o âEditing Images with Diffusion Modelsâ (en anglais) donne un aperçu des diffĂ©rentes mĂ©thodes utilisĂ©es pour Ă©diter des images existantes avec des modĂšles de diffusion. Les techniques disponibles peuvent ĂȘtre divisĂ©es en quatre catĂ©gories principales :
1) Ajouter du bruit, puis dĂ©bruiter avec un nouveau prompt. Câest lâidĂ©e qui sous-tend le pipeline img2img, qui a Ă©tĂ© modifiĂ© et Ă©tendu dans plusieurs articles :
- SDEdit et MagicMix sâinspirent de cette idĂ©e
- DDIM inversion utilise le modĂšle pour âinverserâ la trajectoire dâĂ©chantillonnage plutĂŽt que dâajouter un bruit alĂ©atoire, ce qui permet un meilleur contrĂŽle
- Null-text Inversion amĂ©liore considĂ©rablement les performances de ce type dâapproche en optimisant Ă chaque Ă©tape les enchĂąssements de texte inconditionnels utilisĂ©s pour le guidage sans classifieur, ce qui permet dâobtenir une Ă©dition dâimages textuelles de trĂšs haute qualitĂ©. 2) Extension des idĂ©es du point (1), mais avec un masque permettant de contrĂŽler lâendroit oĂč lâeffet est appliquĂ©
- Blended Diffusion introduit lâidĂ©e de base
- Cette dĂ©mo utilise un modĂšle de segmentation existant (CLIPSeg) pour crĂ©er le masque sur la base dâune description textuelle
- DiffEdit est un excellent papier montrant comment le modĂšle de diffusion lui-mĂȘme peut ĂȘtre utilisĂ© pour gĂ©nĂ©rer un masque appropriĂ© pour lâĂ©dition de lâimage en fonction du texte
- SmartBrush: Text and Shape Guided Object Inpainting with Diffusion Model finetune un modĂšle de diffusion pour une peinture guidĂ©e par un masque 3) ContrĂŽle de lâattention croisĂ©e : utilisation du mĂ©canisme dâattention croisĂ©e dans les modĂšles de diffusion pour contrĂŽler lâemplacement spatial des modifications afin dâexercer un contrĂŽle plus fin
- Prompt-to-Prompt Image Editing with Cross Attention Control est lâarticle clĂ© qui a introduit cette idĂ©e, et la technique a depuis Ă©tĂ© appliquĂ©e Ă Stable Diffusion
- TCette idĂ©e est Ă©galement utilisĂ©e pour âpaint-with-wordsâ (eDiffi, voir ci-dessus) 4) Finetuner (surapprendre) sur une seule image, puis gĂ©nĂ©rer avec le modĂšle finetunĂ©. Les articles suivants ont tous deux publiĂ© des variantes de cette idĂ©e Ă peu prĂšs au mĂȘme moment :
- Imagic: Text-Based Real Image Editing with Diffusion Models
- UniTune: Text-Driven Image Editing by Fine Tuning an Image Generation Model on a Single Image
Le papier InstructPix2Pix : Learning to Follow Image Editing Instructions est remarquable en ce sens quâil utilise certaines des techniques dâĂ©dition dâimages dĂ©crites ci-dessus pour construire un jeu de donnĂ©es synthĂ©tique de paires dâimages accompagnĂ©es dâinstructions dâĂ©dition dâimages (gĂ©nĂ©rĂ©es avec GPT3.5) afin dâentraĂźner un nouveau modĂšle capable dâĂ©diter des images sur la base dâinstructions en langage naturel.
Video
Images fixes dâexemples de vidĂ©os gĂ©nĂ©rĂ©es avec Imagen Video
Une vidĂ©o peut ĂȘtre reprĂ©sentĂ©e comme une sĂ©quence dâimages, et les idĂ©es fondamentales des modĂšles de diffusion peuvent ĂȘtre appliquĂ©es Ă ces sĂ©quences. Les travaux rĂ©cents se sont concentrĂ©s sur la recherche dâarchitectures appropriĂ©es (telles que les « 3D UNets » qui opĂšrent sur des sĂ©quences entiĂšres) et sur lâutilisation efficace des donnĂ©es vidĂ©o. Ătant donnĂ© que les vidĂ©os Ă haute frĂ©quence dâimages comportent beaucoup plus de donnĂ©es que les images fixes, les approches actuelles tendent Ă gĂ©nĂ©rer dâabord des vidĂ©os Ă faible rĂ©solution et Ă faible frĂ©quence dâimages, puis Ă appliquer la super-rĂ©solution spatiale et temporelle pour produire les sorties vidĂ©o finales de haute qualitĂ©.
Références principales :
Audio

Un spectrogramme généré avec Riffusion
Bien que des travaux aient Ă©tĂ© rĂ©alisĂ©s pour gĂ©nĂ©rer du son directement Ă lâaide de modĂšles de diffusion (par exemple DiffWave), lâapproche la plus fructueuse jusquâĂ prĂ©sent a consistĂ© Ă convertir le signal audio en ce que lâon appelle un spectrogramme, qui âencodeâ effectivement le son sous la forme dâune âimageâ en 2D qui peut ensuite ĂȘtre utilisĂ©e pour entraĂźner les modĂšles de diffusion que nous avons lâhabitude dâutiliser pour la gĂ©nĂ©ration dâimages. Les spectrogrammes ainsi gĂ©nĂ©rĂ©s peuvent ensuite ĂȘtre convertis en donnĂ©es audio Ă lâaide des mĂ©thodes existantes. Cette approche est Ă lâorigine de Riffusion, qui a rĂ©cemment Ă©tĂ© publiĂ© et a permis de finetuner Stable Diffusion pour gĂ©nĂ©rer des spectrogrammes conditionnĂ©s par le texte. Essayez-le ici.
Le domaine de la gĂ©nĂ©ration dâaudio Ă©volue trĂšs rapidement. Au cours de la semaine derniĂšre (Ă lâheure oĂč nous Ă©crivons ces lignes), au moins cinq nouvelles avancĂ©es ont Ă©tĂ© annoncĂ©es, qui sont marquĂ©es dâune Ă©toile dans la liste ci-dessous :
Références principales :
- DiffWave: A Versatile Diffusion Model for Audio Synthesis
- Riffusion (et son code)
- â MusicLM de Google gĂ©nĂšre un son cohĂ©rent Ă partir dâun texte et peut ĂȘtre conditionnĂ© avec des mĂ©lodies fredonnĂ©es ou sifflĂ©es.
- â RAVE2, une nouvelle version dâun auto-encodeur variationnel qui sera utile pour la diffusion latente dans les tĂąches audio. Il est utilisĂ© dans le modĂšle AudioLDM.
- â Noise2Music, un modĂšle de diffusion entraĂźnĂ© Ă produire des clips audio de 30 secondes en haute qualitĂ© sur la base de descriptions textuelles.
- â Make-An-Audio: Text-To-Audio Generation with Prompt-Enhanced Diffusion Models, un modĂšle de diffusion entraĂźnĂ© Ă gĂ©nĂ©rer divers sons Ă partir dâun texte.
- â MoĂ»sai: Text-to-Music Generation with Long-Context Latent Diffusion
Nouvelles architectures et approches : vers un « raffinement itératif »

Figure 1 du papier Cold Diffusion
Nous dĂ©passons peu Ă peu la dĂ©finition Ă©troite initiale des modĂšles de « diffusion » pour nous orienter vers une classe plus gĂ©nĂ©rale de modĂšles qui effectuent un raffinement itĂ©ratif, oĂč une certaine forme de corruption (comme lâajout dâun bruit gaussien dans le processus de diffusion vers lâavant) est progressivement inversĂ©e pour gĂ©nĂ©rer des Ă©chantillons. Lâarticle « Cold Diffusion » a dĂ©montrĂ© que de nombreux autres types de corruption peuvent ĂȘtre « dĂ©faits » de maniĂšre itĂ©rative pour gĂ©nĂ©rer des images (exemples ci-dessus), et des approches rĂ©centes basĂ©es sur des transfomers ont dĂ©montrĂ© lâefficacitĂ© du remplacement ou du masquage de token en tant que stratĂ©gie de bruitage.

Pipeline de MaskGIT
Lâarchitecture UNet au cĆur de nombreux modĂšles de diffusion actuels est Ă©galement remplacĂ©e par dâautres solutions, notamment diverses architectures basĂ©es sur des transformers. Dans Scalable Diffusion Models with Transformers (DiT), un transformer est utilisĂ© Ă la place du UNet pour une approche de modĂšle de diffusion assez standard, avec dâexcellents rĂ©sultats. Recurrent Interface Networks applique une nouvelle architecture basĂ©e sur un transformer et une stratĂ©gie dâentraĂźnement Ă la recherche dâune efficacitĂ© accrue. MaskGIT et MUSE utilisent des transformers pour travailler avec des reprĂ©sentations dâimages par tokens, bien que le modĂšle Paella dĂ©montre quâun UNet peut Ă©galement ĂȘtre appliquĂ© avec succĂšs Ă ces rĂ©gimes basĂ©s sur des tokens.
Avec chaque nouveau papier, des approches plus efficaces sont dĂ©veloppĂ©es, et il faudra peut-ĂȘtre attendre un certain temps avant de voir Ă quoi ressemblent les performances maximales pour ce type de tĂąches dâaffinage itĂ©ratif. Il reste encore beaucoup de choses Ă explorer !
Références principales :
- Cold Diffusion: Inverting Arbitrary Image Transforms Without Noise
- Scalable Diffusion Models with Transformers (DiT)
- MaskGIT: Masked Generative Image Transformer
- Muse: Text-To-Image Generation via Masked Generative Transformers
- Fast Text-Conditional Discrete Denoising on Vector-Quantized Latent Spaces (Paella)
- Recurrent Interface Networks : une nouvelle architecture prometteuse qui permet de gĂ©nĂ©rer des images Ă haute rĂ©solution sans recourir Ă la diffusion latente ou Ă la super-rĂ©solution. Voir Ă©galement simple diffusion : End-to-end diffusion for high-resolution images qui souligne lâimportance du planificateur du bruit pour lâentraĂźnement Ă des rĂ©solutions plus Ă©levĂ©es.
Notebooks
| Chapitre | Colab | Kaggle | Gradient | Studio Lab |
|---|---|---|---|---|
| Débruitage inverse des modÚles de diffusion implicites | ||||
| Diffusion pour lâaudio |
Nous avons abordĂ© un grand nombre dâidĂ©es diffĂ©rentes dans cette unitĂ©, dont beaucoup mĂ©riteraient de faire lâobjet de leçons plus dĂ©taillĂ©es Ă lâavenir. Pour lâinstant, vous pouvez aborder deux de ces nombreux sujets via les notebook que nous avons prĂ©parĂ©s.
- Le dĂ©bruitage inverse des modĂšles de diffusion implicites montre comment une technique appelĂ©e inversion peut ĂȘtre utilisĂ©e pour Ă©diter des images Ă lâaide de modĂšles de diffusion existants.
- Diffusion pour lâaudio introduit lâidĂ©e de spectrogrammes et montre un exemple minimal de finetuning dâun modĂšle de diffusion pour lâaudio sur un genre de musique spĂ©cifique.
Et ensuite ?
Il sâagit de la derniĂšre unitĂ© de ce cours actuellement, ce qui signifie que la suite ne dĂ©pend que de vous ! Nâoubliez pas que vous pouvez toujours poser des questions et discuter de vos projets sur le Discord dâHugging Face. Nous avons hĂąte de voir ce que vous allez crĂ©er đ€