I GAN hanno diverse modalità di errore comuni. Tutti questi problemi comuni sono aree di ricerca attiva. Nessuno di questi problemi è stato completamente risolto, ma menzioneremo alcune cose che le persone hanno provato.
Sfumatura
Da una ricerca è emerso che, se il discriminatore è troppo buono, l'addestramento del generatore può non riuscire a causa della sfumatura. In effetti, un discriminatore ottimale non fornisce informazioni sufficienti al generatore per progredire.
Tentativi di rimediare
- Perdita di Wasserstein: la perdita di Wasserstein è progettata per evitare di far scomparire i gradienti anche quando addestri il discriminatore all'ottimizzazione.
- Perdita di minimax modificata: il documento GAN originale ha proposto una modifica alla perdita di minimax per affrontare la sfumatura.
Modalità di compressione
Generalmente vuoi che il tuo GAN produca un'ampia varietà di output. Vuoi, ad esempio, un volto diverso per ogni input casuale con il generatore di volti.
Tuttavia, se un generatore produce un output particolarmente plausibile, potrebbe generare solo quell'output. Di fatto, il generatore cerca sempre di trovare l'unico output che sembra più plausibile al discriminatore.
Se il generatore inizia a produrre lo stesso output (o un piccolo insieme di output) più e più volte, la migliore strategia del discriminatore è imparare a rifiutare sempre quell'output. Tuttavia, se la prossima generazione di discriminatore si blocca in un minimo locale e non trova la strategia migliore, è troppo facile per l'iterazione del generatore successivo trovare l'output più plausibile per il discriminatore attuale.
Ogni iterazione del generatore esegue un'ottimizzazione eccessiva per un particolare discriminatore e il discriminatore non riesce mai a imparare a distinguersi dalla trappola. Di conseguenza, i generatori ruotano attraverso un piccolo gruppo di tipi di output. Questa forma di errore GAN è chiamata compressione modalità.
Tentativi di rimediare
I seguenti approcci cercano di costringere il generatore ad ampliare il proprio ambito impedendone l'ottimizzazione per un singolo discriminatore fisso:
- Perdita di Wasserstein: la perdita di Wasserstein riduce il collasso della modalità consentendo di addestrare il discriminatore all'ottima qualità senza preoccuparsi di scomparire i gradienti. Se il discriminatore non si blocca in una minima locale, impara a rifiutare gli output su cui il generatore si stabilizza. Il generatore deve provare qualcosa di nuovo.
- GAN non implementati: i GAN non implementati utilizzano una funzione di perdita generatori che incorpora non solo le classificazioni attuali di questo tipo di discriminazione, ma anche gli output delle versioni future di questo tipo di discriminatore. Pertanto il generatore non può ottimizzare eccessivamente un singolo discriminatore.
Mancata convergenza
Spesso i GAN non convergono, come descritto nel modulo sulla formazione.
Tentativi di rimediare
I ricercatori hanno cercato di utilizzare varie forme di regolarizzazione per migliorare la convergenza GAN, tra cui:
- Aggiunta di rumore agli input di discriminatori: vedi, ad esempio, Verso i metodi principali per l'addestramento di reti pubblicitarie concorrenti.
- Penilizzare i pesi dei discriminatori: vedi, ad esempio, Stabilizzare l'addestramento di reti adversative generative tramite la regolazione.