Un réseau antagoniste génératif (GAN) se compose de deux parties:
- Le générateur apprend à générer des données plausibles. Les instances générées deviennent des exemples d'entraînement négatifs pour le discriminateur.
- Le discriminateur apprend à distinguer les données factices du générateur des données réelles. Le discriminateur pénalise le générateur pour la production de résultats invraisemblables.
Lorsque l'entraînement commence, le générateur produit des données manifestement fausses, et le discriminateur apprend rapidement à les identifier comme telles:
À mesure que l'entraînement progresse, le générateur se rapproche de la production d'une sortie capable d'induire en erreur le discriminateur:
Enfin, si l'entraînement du générateur se passe bien, le discriminateur a de plus en plus de mal à faire la différence entre le vrai et le faux. Il commence à classer les données factices comme réelles, et sa précision diminue.
Voici une image de l'ensemble du système:
Le générateur et le discriminateur sont tous deux des réseaux de neurones. La sortie du générateur est connectée directement à l'entrée du discriminateur. Grâce à la propagation inverse, la classification du discriminateur fournit un signal que le générateur utilise pour mettre à jour ses poids.
Voyons plus en détail les éléments de ce système.