Avant de nous pencher sur ce que les GAN peuvent faire, il est important de savoir de quoi il s’agit.
Il s’agit d’un système d’apprentissage automatique (machine learning) développé en 2014 par Ian Goodfellow et son équipe. La tâche d’un GAN est d’étudier des échantillons de données réelles et, à partir de ceux-ci, de produire ses propres créations, qui doivent paraître si réelles au point que l’on ne puisse détecter qu’il s’agit d’images générées par ordinateur, sans intervention humaine. Pour cela, deux réseaux neuronaux sont utilisés en concurrence.
La tâche du réseau générateur est de créer une contrefaçon. On fournit des données au réseau, par exemple des photos de différentes personnes. En se basant sur ces informations, le réseau peut ensuite générer sa propre photo. Pour cela, le réseau apprend d’abord les caractéristiques communes des originaux. La nouvelle image n’est donc pas une copie des données sources, mais une image nouvelle qui y ressemble. Dans notre exemple, il s’agit d’une photo d’une personne qui n’existe pas.
Les données de base et les informations générées sont ensuite transmises au réseau partenaire. La tâche du réseau discriminateur est de vérifier toutes les données qu’il reçoit et de déterminer si elles sont vraies ou fausses. Une image sera non seulement jugée fausse si elle s’éloigne trop du modèle, mais également si elle est trop parfaite : si le générateur se contente de faire une moyenne des données reçues et d’en extraire une nouvelle image, il sera facile de voir qu’il s’agit de l’œuvre d’une machine. Le discriminateur filtre également les données qui n’ont pas l’air naturelles.
Les deux réseaux s’opposent constamment. Lorsque le réseau discriminateur reconnait une donnée erronée, il la renvoie à l’autre réseau. Dans ce cas, le réseau générateur n’est pas encore au point et doit continuer à apprendre. Dans le même temps, le réseau discriminateur a également appris. Dans la mesure où les deux systèmes neuronaux s’entraînent mutuellement, nous sommes en présence d’un système de deep learning. Le réseau générateur cherche à générer des ensembles de données qui ont l’air si réels que le discriminateur les considère comme vrais. Le discriminateur, de son côté, cherche à analyser en profondeur et à comprendre les exemples réels afin que les contrefaçons n’aient aucune chance d’être identifiées comme vraies.