JPO : Webinar d'information sur nos formations → RDV mardi à 17h30.

Qu’est ce qu’un Conditional Generative Adversarial Network (cGAN)?

Le Conditional GAN ou cGAN est un modèle utilisé dans le deep learning, un dérivé du machine learning. Il permet la génération et la discrimination plus précise d’images afin d’entraîner les machines et leur permettre d’apprendre par elles-mêmes. L’idée du cGAN a été publiée pour la première fois en 2014 par Mehdi Mirza et Simon Osindero.

Pour bien comprendre ce qu’est qu’un cGan, il faut d’abord se familiariser avec le Deep Learning. Ce procédé consiste à nourrir un programme informatique de milliers de données pour que ce dernier puisse apprendre à les reconnaître. Le Generative Adversarial Network (GAN), ou réseau antagoniste génératif en français, constitue une première approche d’entraînement. Il permet un dialogue entre deux réseaux, le générateur et le discriminateur.

D’un côté le générateur génère de fausses images qui sont censées être les plus réalistes possibles, dans le but de tromper le réseau adverse: le discriminateur. De l’autre le discriminateur va observer des images venant à la fois du générateur et d’une banque de données. Il va devoir déterminer quelles images viennent de la banque de données (et les labelliser comme vraies) et quelles images sont produites par le générateur (et sont donc fausses).

Le discriminateur classe correctement les faux comme des faux et les vrais comme des vrais, il est récompensé avec un feedback positif, s’il échoue dans son travail, il reçoit un feedback négatif. Petit à petit, grâce à l’algorithme de la Descente de Gradient, il va pouvoir déterminer l’étendue de données qui lui permettent de reconnaître une image vraie, apprendre de ses erreurs et s’améliorer. Il va donc petit à petit s’améliorer et créer des objets de plus en plus pertinents.

Le cGAN ou comment maximiser les performances du générateur et du discriminateur

Avec un conditional gan, il est possible d’envoyer des informations plus précises, appelées labels de classe, au générateur et au discriminateur pour cadrer leur production de données. Ces informations vont permettre de préciser les données produites par le générateur et le discriminateur afin qu’ils arrivent plus rapidement au résultat voulu. Les labels vont orienter la production du générateur pour lui permettre de générer des informations plus précises. Au lieu de produire des images de vêtements, par exemple, il produira des images de pantalons, de vestes, ou de chaussettes selon le label qu’on lui fourni. Du côté du discriminateur, les labels vont permettre au réseau de mieux distinguer les images réelles des fausses images que va lui fournir le générateur. Il gagnera donc en efficacité.

conditional-gan

Le cGAN et ses multiples utilisations dans le domaine du machine learning

Si vous avez du mal à vous représenter l’utilisation du conditional GAN, voici quelques exemples qui pourraient vous aider. Le conditional Generative Adversarial Network peut-être très utile dans les cas suivants :

1. La traduction d’image à image

Les cGAN permettent notamment de faire évoluer des images en prenant en compte d’infos additionnelles, les labels. Le cGan a permis le développement de la méthode Pix2Pix dont certaines applications permettent la reconstruction d’objets à partir des bords, la synthèse de photos à partir de cartes d’étiquettes et la colorisation d’images.

2. Création d’images à partir de texte

Grâce au cGAN, il est possible de créer des photos de haute qualité sur la base d’un texte. L’utilisation d’un texte, et la richesse de son vocabulaire, permet de créer des images de synthèse beaucoup plus précises.

3. La génération de vidéo

En vidéo, le cGan peut également prédire les futures images d’une vidéo sur base d’une sélection d’images précédentes.

4. Génération de visages

Le cGANs peut-être utilisé pour générer des images de visages avec des attributs particuliers, par exemple la couleur des cheveux ou des yeux.

Le cGAN représente donc une avancée toute particulière si l’on le compare avec le GAN. Il permet aux systèmes de deep learning de gagner en précision et en efficacité. Une petite révolution dans le domaine du machine learning qui a propulsé la carrière de ses deux inventeurs Mehdi Mirza et Simon Osindero. Ils travaillent maintenant chez DeepMind, une entreprise leader du secteur.

Facebook
Twitter
LinkedIn

Tag de l'article :

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone

S'inscrire à la JPO :

Vous souhaitez recevoir notre newsletter data 💌 hebdomadaire ?