0Pricing
Deep Learning Academy · Lezione

La loss avversaria

L'addestramento min-max nella pratica

La loss avversaria è una lezione Deep Learning Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Deep Learning Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Deep Learning Academy include 4 lezioni in totale.

La loss guida entrambi i giocatori

Ogni giocatore della GAN impara da una loss che valuta la qualità del suo risultato. Le due loss spingono in direzioni opposte, ed è questo a rendere l'addestramento adversarial.

Il gioco min-max

L'addestramento di una GAN è un gioco min-max: il discriminatore cerca di massimizzare il proprio punteggio, mentre il generatore cerca di minimizzarlo. Nessuno dei due vince completamente.

Binary cross-entropy

La maggior parte delle GAN misura ogni predizione con la binary cross-entropy, la loss standard per una decisione binaria tra reale e falso.

criterion = nn.BCELoss()

Il discriminatore sui dati reali

Per prima cosa il discriminatore osserva immagini reali e dovrebbe riconoscerle come tali. La sua real loss spinge questi output verso l'etichetta 1.

out_real = D(real)
loss_real = criterion(out_real, ones)

Il discriminatore sui falsi

Successivamente giudica le immagini generate e dovrebbe riconoscerle come false. La fake loss spinge questi output verso l'etichetta 0.

out_fake = D(fake.detach())
loss_fake = criterion(out_fake, zeros)

Perché fare detach dei falsi

Quando si aggiorna il discriminatore, si chiama detach sui falsi affinché i gradienti non fluiscano nuovamente nel generatore durante questo passaggio.

fake.detach()

La loss del generatore

Il generatore vuole che i suoi falsi vengano etichettati come reali, quindi la sua loss confronta il verdetto del discriminatore sui falsi con l'etichetta 1.

out = D(fake)
loss_g = criterion(out, ones)

Il trucco non saturating

Chiedere al generatore di massimizzare la probabilità di essere reale, invece di limitarsi a minimizzare quella di essere falso, produce gradienti iniziali più forti. Questa è la loss non-saturating.

Due aggiornamenti, un round

Ogni round di addestramento esegue due aggiornamenti: prima quello del discriminatore sulla loss combinata, poi quello del generatore sulla propria. Ordine e tempistiche contano.

Un obiettivo in movimento

Poiché entrambe le reti cambiano a ogni passaggio, ciascuna insegue un obiettivo in movimento. Per questo le loss delle GAN oscillano invece di diminuire uniformemente.

Le loss non sono l'accuratezza

In una GAN, una loss in diminuzione non significa immagini migliori. La qualità si valuta osservando i campioni, non basandosi solo sul valore della loss. 👀

Verifica rapida

Un dettaglio mette in difficoltà molti principianti.

Riepilogo: loss adversarial

Ha visto il gioco min-max: la cross-entropy guida entrambi i giocatori, i falsi vengono sottoposti a detach per il giudice e sono i campioni, non la loss, a mostrare i progressi reali. 🎯

Domande Frequenti

La lezione «La loss avversaria» è gratuita?

Sì — il testo completo di «La loss avversaria» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Deep Learning Academy, passa a CoddyKit PRO. Il corso Deep Learning Academy include 4 lezioni in totale.

Cosa imparerò in «La loss avversaria»?

L'addestramento min-max nella pratica Eserciti Deep Learning Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Deep Learning Academy?

Non è richiesta alcuna esperienza precedente. Deep Learning Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «La loss avversaria»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Deep Learning Academy?

Sì. Ogni lezione Deep Learning Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Generatore e discriminatore: il gioco
  2. La loss avversaria
  3. Costruire una DCGAN
  4. Mode collapse e tecniche di stabilizzazione
← Torna a Deep Learning Academy