Diffuso sui modelli di diffusione?
Aumento dei modelli di generazione di immagini basati sulla diffusione
Ero un noob della diffusione tre settimane fa, ma dato il brusio, volevo saltare sul treno della diffusione (cosa che sento di essere stato in grado di fare). Il ritmo con cui si stanno verificando nuovi sviluppi nello spazio di generazione di immagini basate sulla diffusione (DbIG) è sbalorditivo. Diventa difficile capire da dove iniziare il viaggio. In questo post, condivido il mio viaggio che potrebbe essere utile ad altri che vogliono costruire una solida base fondamentale per comprendere il mondo dei modelli di diffusione (DM), compresa la comprensione della matematica.
Nota 1: necessariamente non parlerò di nessuna delle tecniche in dettaglio, ma traccerò un percorso da un articolo all'altro. Credo che ci sia un'overdose di blog/video/documenti che parlano di varie tecniche. D'altra parte, non ho trovato nessun blog che mi aiutasse a costruire una solida base in DbIG.
Nota 2 : mi ci sono volute circa 3 settimane di impegno dedicato per iniziare dai fondamentali e costruire le fondamenta. Se vuoi costruire una comprensione profonda, dedica circa 2 settimane del tuo tempo, soprattutto se non hai familiarità con la matematica dei Variational Auto Encoder e vuoi avere un'idea intuitiva della matematica DM.
Cominciamo.
Passaggio 1: modello di diffusione precoce
Deep Unsupervised Learning using Nonequilibrium Thermodynamics [2015] — Questo è il primo documento che ha introdotto le idee sull'uso dei "modelli probabilistici di diffusione". Mentre il documento è facile da preparare se salti la matematica, per capire la matematica è necessaria familiarità con l'inferenza variazionale. Consiglierei di familiarizzare con i codificatori automatici variazionali (VAE) per seguire la matematica.
Codificatori automatici variazionali [Opzionale] : sebbene non sia un requisito per comprendere i modelli di diffusione, una buona conoscenza di VAE aiuta a comprendere le unità di base del processo di diffusione e la matematica che sta dietro.
- Tutorial : Introduzione agli Autoencoder Variazionali , Tutorial sugli Autoencoder Variazionali
- Documenti : Bayes variazionale con codifica automatica
- Codice : codificatore automatico variazionale con Pytorch , SPAZI LATENT (Parte 2): una semplice guida agli codificatori automatici variazionali
Fase-2: DDPM
DDPM: Denoising Diffusion Probabilistic Models [2020] — Questo è ciò che ha dato il via alla mania del DM per la generazione di immagini.
Approfondire il DDPM:
- Spiegazione del documento DDPM — Cosa sono i modelli di diffusione? [Blog], Introduzione ai modelli di diffusione per l'apprendimento automatico [Blog]
- La matematica — Modelli di diffusione | Spiegazione della carta | Video Math Explained [YouTube] che copre la matematica in dettaglio. Molto utile per ottenere una visione dettagliata della matematica [Altamente consigliato]
- Codice : avevo ancora un po' di confusione che è stata rimossa seguendo il codice/ricodifica DM usando Diffusion Models | Implementazione di PyTorch [YouTube], modelli di diffusione-pytorch [Github], modelli di diffusione da zero in PyTorch [YouTube]
- Comprensione dell'equivalenza di DDPM e generazione basata su punteggio - Modellazione generativa stimando i gradienti della distribuzione dei dati [Blog]
- Tecniche migliorate per l'addestramento di modelli generativi basati su punteggio [2020]
- Modellazione generativa basata su punteggio tramite equazioni differenziali stocastiche [2020]
U-Net : DDPM ha utilizzato per la prima volta l'architettura U-Net per DM, che ritengo sia importante quanto il processo di diffusione stesso per aiutare a generare immagini di alta qualità. Sebbene la comprensione di U-Net non sia necessaria per comprendere il processo, ma se si desidera seguire lavori più avanzati (codifica del timestep, condizionamento del testo), è fondamentale sapere come funziona U-Net.
- U-Net: reti convoluzionali per la segmentazione di immagini biomediche [2015] - The U-Net Paper
- Reti completamente convoluzionali per la segmentazione semantica [2014] - Documento FCN che è l'ispirazione per U-Net
- Capire U-Net in dettaglio — Capire l'architettura U-Net e costruirla da zero [Youtube]
- De-convoluzioni: una guida all'aritmetica della convoluzione per il deep learning , l' up-sampling con artefatti di convoluzione trasposta , deconvoluzione e scacchiera
DDIM : Denoising diffusion implicit models [Ott 2020] - Strategia di campionamento popolare alternativa da DM dalla letteratura basata sul punteggio.
Passaggio 4: DM viene stabilito come scelta predefinita per la generazione di immagini
- Modelli probabilistici di diffusione del rumore migliorati [febbraio 2021] — Miglioramenti a DDPM.
- I modelli di diffusione battono i GAN sulla sintesi delle immagini [maggio 2021] — Ulteriori miglioramenti a IDDPM. Questo documento ha anche introdotto l'idea di una "guida al classificatore" per migliorare la qualità della generazione e fornire un modo per controllare l'output della generazione. Credo che questo sia ciò che ha stabilito la base per il lavoro di follow-up su DbIG.
- Guida alla diffusione senza classificatore [luglio 2022] — Risultati migliorati condizionando il modello U-Net e seguendo una formazione in stile "abbandono". Questa è un'alternativa alla guida del classificatore che richiede l'addestramento di un classificatore di immagini alternativo.
- Metodi pseudo numerici per modelli di diffusione su varietà [settembre 2021] — Miglioramento della velocità di campionamento.
- Super-risoluzione dell'immagine tramite perfezionamento iterativo [aprile 2021] — Non per la generazione di immagini, ma chiave per comprendere la futura DM condizionata dall'immagine e la cascata per migliorare la risoluzione dell'immagine.
Tre giornali hanno realizzato modelli di diffusione materiale da prima pagina.
Diffusione stabile : sintesi di immagini ad alta risoluzione con modelli di diffusione latente [dicembre 2021] - Ha reso il loro codice open source che ha contribuito a democratizzare il DM. Ha contribuito a migliorare la complessità computazionale. Condizionamento tramite attenzione incrociata, ecc. Comprensione dettagliata della diffusione stabile: la diffusione stabile illustrata .
Dall-E 2 : generazione gerarchica di immagini condizionali con testo con latenti CLIP [aprile 2022] — Non open-source, ma una demo online. Aggiunto un passaggio aggiuntivo per l'utilizzo di incorporamenti di immagini CLIP per condizionare e un passaggio precedente per convertire gli incorporamenti CLIP di testo in incorporamenti di immagini.
Imagen : Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding [maggio 2022] - Documento di Google, con la seguente modifica - Utilizzo di incorporamenti di solo testo (T5), guida a soglia, modello a cascata.
Passaggio 7: altri documenti di diffusione popolari per la generazione di immagini fino a circa ottobre 2022 [Facoltativo]
- SDEdit: sintesi guidata di immagini e modifica con equazioni differenziali stocastiche [agosto 2021]
- Tavolozza: modelli di diffusione da immagine a immagine [novembre 2021]
- GLIDE: verso la generazione e l'editing di immagini fotorealistiche con modelli di diffusione guidati da testo [dicembre 2021]
- Sintesi di immagini semantiche tramite modelli di diffusione [giugno 2022]
- Un'immagine vale una parola: personalizzazione della generazione di testo in immagine utilizzando l'inversione testuale [agosto 2022][Inversione testo]
- DreamBooth: messa a punto dei modelli di diffusione da testo a immagine per la generazione guidata dal soggetto [agosto 2022]
- Modifica delle immagini da prompt a prompt con controllo dell'attenzione incrociata [agosto 2022]
- Imagic: editing di immagini reali basato su testo con modelli di diffusione [ottobre 2022]
- MagicMix: miscelazione semantica con modelli di diffusione [ottobre 2022]
Questo è tutto gente. Buona diffusione.
Mi è piaciuto molto questo magico viaggio nel creare un'immagine dalle radiazioni del Big Bang . Se ritieni che ci sia un documento/blog/video che ti ha aiutato a salire a bordo del treno di diffusione, per favore condividilo con me.
Ringraziamenti : vorrei ringraziare sinceramente Sen He , Jerry Wu e Tao Xiang per avermi aiutato in questa esplorazione e avermi indicato le giuste direzioni di volta in volta.
Nota finale : ho sviluppato questa conoscenza in un breve lasso di tempo, quindi potrebbero esserci degli errori nella mia comprensione. Per favore fatemi sapere se qualcosa che ho detto qui è effettivamente errato.