Stable Diffusion: differenze tra le versioni

Da Wiki AI.
Nessun oggetto della modifica
Riga 50: Riga 50:
* [https://pub.towardsai.net/diffusion-models-vs-gans-vs-vaes-comparison-of-deep-generative-models-67ab93e0d9ae Diffusion Models vs. GANs vs. VAEs: Comparison of Deep Generative Models]
* [https://pub.towardsai.net/diffusion-models-vs-gans-vs-vaes-comparison-of-deep-generative-models-67ab93e0d9ae Diffusion Models vs. GANs vs. VAEs: Comparison of Deep Generative Models]
* [https://www.youtube.com/watch?v=MXmacOUJUaw&t=1s Stable Diffusion Illustrated]
* [https://www.youtube.com/watch?v=MXmacOUJUaw&t=1s Stable Diffusion Illustrated]
[[Category:Architettura]]

Versione delle 08:50, 15 mar 2024

Nella sua forma più semplice è un modello text-to-image, dato un prompt testuale, genera un'immagine corrispondente. E' stato finanziato da Stability AI, ed è stato rilasciato nel 2022. Il paper originale è High-Resolution Image Synthesis with Latent Diffusion Models (Giugno 2022).

Versioni

  • Versione 1: immagini 512x512
  • Versione 2: immagini 768x768 (09/2022)
  • Versione XL (SDXL): immagini 1024x1024 (07/2023)

Principale differenza rispetto agli altri modelli di generazione di immagini

Diversamente da VAE e Generative Adversarial Networks (GAN), che generano le immagini in un solo passaggio, Stable Diffusion genera le immagini iterativamente.

Architettura

Utilizza un tipo di Modello Di Diffusione, anche chiamato LDM (Modello di Diffusione Latente). Durante il processo di codifica, o Forward Diffusion, un VAE - Variational Autoencoder comprime l'immagine dallo spazio dei pixel a uno spazio latente con meno dimensioni, catturando il significato semantico dell'immagine, da cui il termine LDM (Modello di Diffusione Latente. Lo spazio latente di Stable Diffusion è di dimensioni 4x64x64 per immagini di dimensioni 512x512, 48 volte più piccolo dello spazio originale dei pixel.

In maniera iterativa viene poi aggiunto del rumore gaussiano alle rappresentazioni delle immagini come vettori in questo spazio latente, in step, finchè non diventa rumore bianco. Un tipico numero di iterazioni è 1000. Il processo di Reverse Diffusion rimuove poi il rumore, attraverso l'utilizzo di un modello U-Net a cui si insegna a predire quanto rumore è stato aggiunto ad ogni passo. Infine, la parte Decoder del VAE - Variational Autoencoder viene utilizzata per creare i valori dei pixel dallo spazio latente.

La parte di condizionamento, derivante dal prompt, utilizza la codifica dei token - creta utilizzando il tokenizer CLIP di OpenAI in embedding (dimensione 768 per AUTOMATIC1111), fino a un numero massimo di 75 token. Questi embedding vengono poi utilizzati per "indirizzare" il modello di Reverse Diffusion verso immagini che contengono ciò che viene richiesto nel prompt.

Addestramento

L'addestramento, secondo Wikipedia, è stato eseguito utilizzanto LAION-5B.

Dove provarlo

Tool

Links

Papers

Github

Tutorial