Le reti di avversaria generative (GAN) impiegano molte funzioni di perdita oltre la perdita GAN standard originale, ognuna progettata per affrontare sfide come l'instabilità della formazione, il collasso della modalità, i gradienti di fuga e i problemi di convergenza. Di seguito sono riportati esempi chiave di funzioni di perdita GAN diverse, ampiamente studiate e praticamente utilizzate:
Perdita GAN standard (Min-Max Loss)
La perdita GAN originale dalla carta seminale 2014 di Goodfellow et al. Formula un gioco Minimax a due giocatori tra il generatore e discriminatore. Il discriminatore cerca di classificare correttamente i dati reali e falsi massimizzando la probabilità di assegnare etichette corrette, mentre il generatore cerca di ingannare il discriminatore minimizzando la probabilità che il discriminatore identifichi correttamente i dati falsi. Questo può essere scritto come:
- Perdita discriminante: massimizzare $$ \ log d (x) + \ log (1 - d (g (z))) $$
- Perdita del generatore: minimizza $$ \ log (1 - d (g (z))) $$
Tuttavia, questa perdita soffre spesso di saturazione del generatore, in cui il generatore riceve gradienti di spalla e smette di migliorare durante l'allenamento.
Perdita GAN non saturante
Una variante comune che migliora la stabilità di allenamento modifica l'obiettivo del generatore di massimizzare invece $$ \ log d (g (z)) $$ anziché minimizzare $$ \ log (1 - d (g (z)) $$. Questa alternativa evita la saturazione del generatore fornendo gradienti più forti all'inizio dell'allenamento. Rilabora il generatore come massimizzando la probabilità del discriminatore di etichettare campioni generati come reali.
Perdita di Wasserstein Gan
La perdita di Wasserstein, introdotta nel 2017, sostituisce il discriminatore di classificazione binaria standard con un "critico" che segna campioni su scala continua piuttosto che classificarli come reali o falsi. La perdita si basa sulla distanza della Terra-Mover (Wasserstein-1) tra le distribuzioni reali e generate, che forniscono gradienti più fluidi e mitiga il collasso della modalità e i gradienti di fuga. Lo strato di output discriminatore viene modificato dall'attivazione sigmoidea a lineare e viene introdotto il clipping di peso o la penalità del gradiente per far rispettare la continuità di Lipschitz:
- Critic Loss: Massimize $$ \ mathbb {e} _ {x \ sim p_ {data> [d (x)] - \ mathbb {e} _ {z \ sim p_z} [d (g (z))] $$ $$
- Perdita del generatore: minimizza $$ \ mathbb {e} _ {z \ sim p_z} [d (g (z))] $$
Questa funzione di perdita è diventata uno standard per una formazione GAN più stabile.
Perdita Gan dei minimi quadrati
Proposta nel 2016, questa perdita sostituisce la perdita binaria incrociata con la perdita dei minimi quadrati per penalizzare i campioni che si trovano lontano dal confine decisionale più pesantemente. Il discriminatore tenta di regredire campioni reali su 1 e campioni falsi a 0 usando l'errore medio quadrati, mentre il generatore tenta di generare campioni le cui previsioni sono vicine a 1. Ciò riduce i gradienti di spartiggio e migliora la qualità del gradiente, aiutando il generatore a imparare meglio:
- Perdita discriminante: minimizzare $$ (d (x) - 1)^2 + (d (g (z)))^2 $$)
- Perdita del generatore: minimizza $$ (d (g (z)) - 1)^2 $$
Questo approccio spesso produce immagini di qualità superiore e una formazione più stabile.
Perdita di cerniera
La perdita di cerniera è un'altra variante di perdita contraddittoria che tratta l'addestramento discriminatore come un problema di classificazione basato sul margine piuttosto che una probabilistica. Il discriminatore è addestrato per massimizzare la perdita di cerniera, spingendo campioni reali sopra un margine e campioni falsi sotto di esso, mentre il generatore cerca di massimizzare i punteggi discriminanti per i campioni generati. Formalmente:
- Perdita discriminante: $$ \ max (0, 1 - d (x)) + \ max (0, 1 + d (g (z))) $$
- Perdita del generatore: $$- d (g (z)) $$
La perdita di cerniera è stata utilizzata in architetture GAN di alta qualità popolari come Biggan per promuovere un migliore flusso e stabilità del gradiente.
Penalità per gradiente Wasserstein (WGAN-GP)
Un miglioramento del GAN Wasserstein che sostituisce il clipping di peso con una penalità di gradiente per far rispettare il vincolo di Lipschitz in modo più efficace. La penalità del gradiente aggiunge un termine di regolarizzazione che penalizza la norma del gradiente discriminatorio che si discosta da 1 su campioni interpolati tra reale e falso. Ciò migliora la stabilità e la convergenza della formazione.
- Perdita uguale a wgan plus $$ \ lambda \ mathbb {e} _ {\ hat {x> [(\ | \ nabla _ {\ hat {x> d (\ hat {x}) \ | _2 - 1)^2] $$ Diretto penalità gradiente termine
Qui $$ \ hat {x} $$ sono campioni interpolati tra dati reali e generati.
Perdita GAN relativistica
Questa perdita confronta le uscite discriminanti su campioni reali e falsi in modo relativistico piuttosto che probabilità assolute. Il discriminatore prevede se i dati reali sono più realistici dei dati falsi e il generatore si allena di conseguenza, il che può portare a migliori gradienti e meno crollo della modalità.
- Discriminatore cerca di massimizzare $$ \ log \ sigma (d (x) - d (g (z))) $$ dove $$ \ sigma $$ è sigmoide
- Il generatore cerca di massimizzare $$ \ log \ sigma (d (g (z)) - d (x)) $$
Questa prospettiva relativa spinge il generatore e il discriminatore per valutare i campioni tra loro più direttamente.
Perdita ganetica
Recentemente sviluppato attraverso un approccio di programmazione genetica alla progettazione di perdite ottimale, Ganetic Loss mostra prestazioni e stabilità superiori su diversi set di dati tra cui immagini mediche. La perdita ganetica integra elementi di entropia incrociata binaria con autoregolarizzazione, migliorando la riproducibilità dell'allenamento e la riduzione del collasso della modalità. È stato applicato efficacemente per la generazione di immagini e il rilevamento di anomalie nell'imaging medico, sovraperformando le funzioni di perdita tradizionali in stabilità e qualità. La perdita può essere adattata sia per i regimi di addestramento del generatore che dei discriminanti per risultati migliori.
Perdita di equilibrio di equilibrio del confine (inizio)
Questa perdita bilancia il generatore e il discriminatore attraverso un termine di equilibrio che misura il rapporto delle perdite di ricostruzione in un discriminatore autoencoder. Inizio ha utilizzato una funzione di perdita basata sull'errore di ricostruzione del discriminatore, promuovendo la generazione di immagini di qualità attraverso un processo di ricerca di equilibrio tra generatore e potenza discriminante.
- Perdita discriminante basata sull'errore di ricostruzione di autoencoder per campioni reali e falsi
- Il generatore cerca di ridurre al minimo l'errore di ricostruzione del discriminatore di campioni falsi
Ha iniziato a migliorare la stabilità della formazione con un parametro di compromesso controllato.
Dragan perdita
Una variazione volta a migliorare il GAN originale modificando la penalità del gradiente da applicare solo attorno al collettore di dati, chiamato Dragan (regolarizzazione discriminante con penalità per gradiente). Penalizza i gradienti discriminatori attorno ai dati reali perturbati dal rumore per incoraggiare i confini delle decisioni più fluidi e ridurre il collasso della modalità.
- Perdita simile a WGAN-GP ma con penalità di gradiente locale attorno a punti dati reali perturbati.
Perdita di corrispondenza
Invece di utilizzare direttamente l'output discriminatore per la perdita, il generatore è addestrato per abbinare le caratteristiche intermedie estratte da campioni reali e generati dal discriminatore. Ciò porta a un allenamento più stabile e riduce il collasso della modalità incoraggiando il generatore a catturare statistiche di ordine superiore.
- Perdita del generatore: minimizza $$ \ | \ text {caratteristiche} (x) - \ text {caratteristiche} (g (z)) \ | $$ dove le caratteristiche vengono estratte a qualche livello del discriminatore.
Modalità in cerca di perdita
Questa perdita incoraggia la diversità nelle uscite generate dal crollo della modalità penalizzante esplicitamente. Confronta le distanze nello spazio latente e nello spazio delle immagini tra coppie di campioni generati, promuovendo il generatore per produrre campioni più diversi.
- La perdita del generatore include il termine massimizzare la distanza nello spazio di uscita rispetto alla distanza nello spazio latente tra le coppie di campioni.
Funzionalità di abbinamento e perdite percettive
Queste perdite combinano perdite contraddittorie con ulteriori perdite percettive o basate sulle caratteristiche calcolate utilizzando reti pretrattate (ad esempio reti VGG). Tali perdite impongono che le immagini generate non solo ingannano il discriminatore, ma corrispondono anche alle caratteristiche percettive delle immagini reali, portando a output più acuti e più realistici.
- Il generatore riduce al minimo la somma ponderata delle perdite contraddittorie e dei termini di perdita di corrispondenza percettivi/di funzionalità.
Deviazioni meno assolute (L1) e minimi quadrati (L2) perdite in Gans condizionali
Nei GAS condizionali utilizzati per le attività di traduzione delle immagini, sono incorporate ulteriori perdite L1 o L2 tra immagini di verità generate e di terra. Queste perdite incoraggiano l'accuratezza a livello di pixel e riducono gli artefatti nelle uscite.
- Perdita del generatore = perdita contraddittoria + $$ \ lambda \ | G (z) - x \ | _1 $$ o $$ \ lambda \ | G (z) - x \ | _2^2 $$ dove $$ x $$ è immagine target.
Perdita di GAN media relativistica (Ragan)
Un'estensione del GAN relativistico, Ragan utilizza l'output discriminatore medio per immagini reali e false per stabilizzare la formazione fornendo un confronto più globale piuttosto che in termini di campione. Questo approccio aiuta a ridurre la fiducia eccessiva nelle previsioni discriminanti e migliora il flusso del gradiente.
- La perdita comporta differenze di produzione discriminatore tra un campione e la produzione media su classi opposte.
Perdita totale di variazione
Spesso combinato con la perdita contraddittoria per incoraggiare la levigatezza spaziale e ridurre il rumore, la perdita di variazione totale penalizza i cambiamenti di intensità rapidi nelle immagini generate, migliorando la qualità visiva.
- Il generatore riduce al minimo la norma di variazione totale delle immagini generate insieme alla perdita contraddittoria.
Perdita GAN di sé
Incorpora meccanismi di auto-atteggiamento nelle architetture discriminanti e generatore, modificando le funzioni di perdita per riflettere le caratteristiche ponderate per l'acquisizione di dipendenze a lungo raggio, che aiutano la generazione di immagini dettagliate e coerenti.
- Le perdite rimangono come nei GAN standard ma con reti aumentate di sé.
Perdita di confine per Gans di segmentazione
Nelle GAS di segmentazione, le funzioni di perdita possono includere sanzioni consapevoli dei confini per migliorare l'accuratezza vicino ai bordi degli oggetti, combinando la perdita contraddittoria con termini consapevoli/consapevoli del bordo.
- La perdita del generatore include obiettivi di corrispondenza dei confini insieme ai tradizionali componenti avversari.
Perdita contrastante nei Gans
Alcune varianti GAN incorporano componenti di perdita contrastanti che mirano a imparare incorporamenti di caratteristiche migliori avvicinando campioni simili e spingendo campioni diversi, migliorando l'apprendimento della rappresentazione all'interno dei framework GAN.
- Perdita contrastante aggiunta agli obiettivi del generatore o discriminatore per migliorare la qualità delle caratteristiche.
Perdita GAN a base energetica
Le GAS basate sull'energia formulano il discriminatore come una funzione energetica che assegna a bassa energia a dati reali e ad alta energia a dati falsi. La perdita di allenamento ottimizza il panorama energetico piuttosto che le probabilità di classificazione esplicita, che possono portare a una formazione più stabile.
- Energia discriminante ridotta al minimo per campioni reali, massimizzato per campioni falsi; Il generatore ottimizza per ridurre l'energia su campioni generati.
Questi esempi illustrano la ricca diversità delle funzioni di perdita sviluppate per migliorare la stabilità, le prestazioni e i risultati specifici per l'applicazione di Gans. Ogni funzione di perdita si rivolge a sfide o caratteristiche specifiche delle distribuzioni dei dati, con molte moderne architetture GAN che spesso combinano termini di perdita multipla per i migliori risultati. La continua evoluzione di queste funzioni di perdita riflette i progressi in corso nella ricerca sull'apprendimento contraddittorio.