Il discriminatore

Il discriminatore in una GAN è semplicemente un classificatore. Cerca di distinguere i dati reali dai dati creati dal generatore. Potrebbe utilizzare qualsiasi architettura di rete appropriata per il tipo di dati che sta classificando.

Diagramma di una rete avversaria generativa. Al centro del diagramma è presente una casella con l'etichetta 'discriminator'. Due rami si spostano in questa casella a sinistra.  Il ramo in alto inizia in alto a sinistra nel diagramma con una casella etichettata 'real world images'. Una freccia porta da questo cilindro a una casella con l'etichetta 'Sample'. Una freccia dalla casella etichettata 'Sample' si inserisce nella casella 'Discriminator'. Il ramo inferiore
          si inserisce nella casella 'Discriminator' che inizia con una casella etichettata 'random
          Input'. Una freccia porta da 'Input casuale' a una casella etichettata
          'Generatore'. Una freccia porta dalla casella 'Generatore' a una seconda
          casella 'Esempio'. Una freccia passa dalla casella 'Sample' alla
          casella ##39;Discriminator. Sul lato destro della casella Discriminatore, due frecce portano a due caselle sul lato destro del diagramma. Una freccia conduce a una casella
          etichettata 'Discriminator perdita'. L'altra freccia conduce a una casella denominata
          'Perdita del generatore'. Un riquadro giallo con una freccia rivolta verso sinistra e la parola 'Backpropagation' è disegnato attorno alla casella del discriminatore e alla casella di perdita di discriminazione per indicare che la retropropagazione opera sulla parte del sistema racchiusa nella casella gialla.

Figura 1: retropropagazione nell'addestramento di discriminatori.

Dati sulla formazione per gli discriminatori

I dati di formazione dei discriminatori provengono da due fonti:

  • Istanze di dati reali, come immagini reali di persone. Il discriminatore usa queste istanze come esempi positivi durante l'addestramento.
  • Istanze di dati falsi create dal generatore. Il discriminatore usa queste istanze come esempi negativi durante l'addestramento.

Nella Figura 1, le due caselle "Esempio" rappresentano queste due origini dati che alimentano il discriminatore. Durante l'addestramento dei discriminatori, il generatore non viene addestrato. I suoi pesi rimangono costanti mentre produce esempi su cui l'iscriminatore può formarsi.

Allenare la discriminazione

Il discriminatore si connette a due funzioni di perdita. Durante l'addestramento dei discriminatori, il discriminatore ignora la perdita del generatore e utilizza semplicemente la perdita del discriminatore. Utilizziamo la perdita di generatori durante la formazione del generatore, come descritto nella sezione successiva.

Durante l'addestramento per discriminatori:

  1. Il discriminatore classifica sia i dati reali sia quelli falsi del generatore.
  2. La perdita del discriminatore penalizza il discriminatore per aver classificato erroneamente un'istanza reale come falsa o un'istanza falsa come reale.
  3. Il distorsore aggiorna i suoi pesi tramite la propagazione tramite la perdita del discriminatore attraverso la rete del discriminatore.

Nella prossima sezione vedremo perché la perdita del generatore si collega al discriminatore.