Nel campo dell'apprendimento automatico, si definisce rete antagonista generativa, o in inglese generative adversarial network (GAN), una classe di metodi, introdotta per la prima volta da Ian Goodfellow[1], in cui due reti neurali vengono addestrate in maniera competitiva all'interno di un framework di gioco minimax. Questo tipo di framework permette alla rete neurale di apprendere come generare nuovi dati aventi la stessa distribuzione dei dati usati in fase di addestramento. Ad esempio, è possibile ottenere una rete neurale in grado di generare volti umani iperrealistici[2], come dimostrato nel 2018 da NVIDIA Corporation, azienda produttrice di GPU.

Metodo

Nella sua versione originale, una rete antagonista generativa è composta da due componenti: un modello generativo, o generatore  , e un modello discriminativo, o discriminatore  , entrambi realizzati tramite reti neurali. Lo scopo del modello generativo è quello di produrre nuovi dati, mentre il modello discriminativo apprende come distinguere i dati reali da quelli generati. In particolare, dato uno spazio latente  , avente una distribuzione a priori  , il generatore rappresenta una funzione differenziabile   che fornisce in output i nuovi dati secondo una certa distribuzione  , dove   sono i parametri del modello generativo. Il discriminatore rappresenta una funzione differenziabile  , dove   sono i parametri del modello discriminativo, che produce in output la probabilità che   provenga dalla distribuzione dei dati di addestramento  . Lo scopo è quello di ottenere un generatore che sia un buon stimatore di  . Quando questo avviene, il discriminatore viene "ingannato" e non riesce più a distinguere i campioni provenienti da   da quelli provenienti da  .

La chiave per raggiungere questa situazione è l'addestramento competitivo. la rete discriminativa viene addestrata in modo da massimizzare la probabilità di classificare correttamente i campioni provenienti dai dati di addestramento e i campioni generati.

Allo stesso tempo, la rete generativa viene addestrata minimizzando

 ,

massimizzando quindi la probabilità del discriminatore di considerare i campioni   come provenienti da  .

L'ottimizzazione consiste quindi in un gioco minimax a due giocatori (D e G):

 .

Varianti

Applicazioni

Note

  1. ^ Generative Adversarial Nets (PDF), in Advances in Neural Information Processing Systems 27, Curran Associates, Inc., 2014, pp. 2672–2680. URL consultato il 2 luglio 2019.
  2. ^ A Style-Based Generator Architecture for Generative Adversarial Networks, in arXiv:1812.04948 [cs, stat], 12 dicembre 2018. URL consultato il 2 luglio 2019.