Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Addestramento e Ottimizzazione | Costruzione e Addestramento di Modelli Generativi
Practice
Projects
Quizzes & Challenges
Quiz
Challenges
/
Modelli Generativi Profondi

bookAddestramento e Ottimizzazione

Scorri per mostrare il menu

L'addestramento dei modelli generativi comporta l'ottimizzazione di paesaggi di perdita spesso instabili e complessi. Questa sezione introduce funzioni di perdita specifiche per ciascun tipo di modello, strategie di ottimizzazione per stabilizzare l'addestramento e metodi per il fine-tuning di modelli preaddestrati per casi d'uso personalizzati.

Funzioni di perdita principali

Le diverse famiglie di modelli generativi utilizzano formulazioni di perdita distinte a seconda di come modellano le distribuzioni dei dati.

Perdite GAN

Perdita minimax (GAN originale)

Impostazione avversariale tra generatore GG e discriminatore DD (esempio con la libreria pythorch):

Least squares GAN (LSGAN)

Utilizza la perdita L2 invece della log loss per migliorare la stabilità e il flusso del gradiente:

Wasserstein GAN (WGAN)

Minimizza la distanza Earth Mover (EM); sostituisce il discriminatore con un "critico" e utilizza il clipping dei pesi o la penalità sul gradiente per la continuità di Lipschitz:

VAE Loss

Evidence Lower Bound (ELBO)

Combina ricostruzione e regolarizzazione. Il termine di divergenza KL incoraggia il posteriore latente a rimanere vicino al prior (solitamente normale standard):

Perdite nei Modelli di Diffusione

Perdita di Predizione del Rumore

I modelli apprendono a denoising il rumore gaussiano aggiunto lungo una schedulazione di diffusione. Varianti utilizzano la predizione della velocità (ad esempio, v-prediction in Stable Diffusion v2) o obiettivi ibridi:

Tecniche di Ottimizzazione

L'addestramento dei modelli generativi è spesso instabile e sensibile agli iperparametri. Diverse tecniche vengono impiegate per garantire la convergenza e la qualità.

Ottimizzatori e Scheduler

  • Adam / AdamW: ottimizzatori adattivi del gradiente sono lo standard de facto. Utilizzare β1=0.5, β2=0.999\beta_1=0.5,\ \beta_2=0.999 per i GAN;
  • RMSprop: talvolta utilizzato in varianti di WGAN;
  • Schedulazione del tasso di apprendimento:
    • Fasi di warm-up per transformer e modelli di diffusione;
    • Decadimento coseno o ReduceLROnPlateau per una convergenza stabile.

Metodi di Stabilizzazione

  • Clipping del gradiente: evitare l'esplosione dei gradienti in RNN o UNet profondi;
  • Normalizzazione spettrale: applicata ai layer del discriminatore nei GAN per imporre vincoli di Lipschitz;
  • Smussamento delle etichette: ammorbidisce le etichette rigide (ad esempio, reale = 0,9 invece di 1,0) per ridurre l'eccessiva sicurezza;
  • Regola di aggiornamento a due scale temporali (TTUR): utilizzo di tassi di apprendimento differenti per generatore e discriminatore per migliorare la convergenza;
  • Addestramento a precisione mista: sfrutta FP16 (tramite NVIDIA Apex o PyTorch AMP) per un addestramento più rapido su GPU moderne.
Note
Nota

Monitorare separatamente le perdite di generatore e discriminatore. Utilizzare periodicamente metriche come FID o IS per valutare la qualità effettiva dell'output invece di affidarsi esclusivamente ai valori di perdita.

Ottimizzazione di Modelli Generativi Preaddestrati

I modelli generativi preaddestrati (ad esempio, Stable Diffusion, LLaMA, StyleGAN2) possono essere ottimizzati per compiti specifici di dominio utilizzando strategie di addestramento più leggere.

Tecniche di Transfer Learning

  • Ottimizzazione completa: riaddestramento di tutti i pesi del modello. Richiede elevate risorse computazionali ma offre la massima flessibilità;
  • Riblocco dei layer / sblocco graduale: iniziare bloccando la maggior parte dei layer, quindi sbloccare gradualmente quelli selezionati per una migliore ottimizzazione. Questo evita la perdita catastrofica delle conoscenze. Bloccare i layer iniziali aiuta a mantenere le caratteristiche generali apprese in preaddestramento (come bordi o pattern di parole), mentre sbloccare quelli successivi consente al modello di apprendere caratteristiche specifiche del compito;
  • LoRA / livelli adattatori: inserimento di livelli addestrabili a bassa dimensionalità senza aggiornare i parametri del modello di base;
  • DreamBooth / inversione testuale (modelli di diffusione):
    • Ottimizzazione fine su un numero limitato di immagini specifiche del soggetto.
    • Utilizzo della pipeline diffusers:
  • Ottimizzazione dei prompt / p-tuning:

Casi d'Uso Comuni

  • Adattamento dello stile: ottimizzazione su dataset di anime, fumetti o artistici;
  • Ottimizzazione specifica per settore: adattamento di LLM a domini legali, medici o aziendali;
  • Personalizzazione: condizionamento di identità o voce personalizzata utilizzando piccoli set di riferimento.
Note
Nota

Utilizzare Hugging Face PEFT per metodi basati su LoRA/adapter e la libreria Diffusers per pipeline di ottimizzazione leggere con supporto integrato per DreamBooth e classifier-free guidance.

Riepilogo

  • Utilizzare funzioni di perdita specifiche per il modello che corrispondano agli obiettivi di addestramento e alla struttura del modello;
  • Ottimizzare con metodi adattivi, tecniche di stabilizzazione e pianificazione efficiente;
  • Ottimizzare modelli pre-addestrati utilizzando strategie moderne di trasferimento a bassa dimensionalità o basate su prompt per ridurre i costi e aumentare l'adattabilità al dominio.

1. Qual è uno degli scopi principali dell'utilizzo di tecniche di regolarizzazione durante l'addestramento?

2. Quale dei seguenti ottimizzatori è comunemente utilizzato per addestrare modelli di deep learning e adatta il tasso di apprendimento durante l'addestramento?

3. Qual è la principale sfida nell'addestramento dei modelli generativi, in particolare nel contesto delle GAN (Generative Adversarial Networks)?

question mark

Qual è uno degli scopi principali dell'utilizzo di tecniche di regolarizzazione durante l'addestramento?

Select the correct answer

question mark

Quale dei seguenti ottimizzatori è comunemente utilizzato per addestrare modelli di deep learning e adatta il tasso di apprendimento durante l'addestramento?

Select the correct answer

question mark

Qual è la principale sfida nell'addestramento dei modelli generativi, in particolare nel contesto delle GAN (Generative Adversarial Networks)?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 2

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 3. Capitolo 2
some-alt