Dans le monde scientifique du Deep Learning les réseaux GAN font de plus en plus de bruit. Mais qu’est ce que c’est concrètement ?
Les Réseau Antagonistes Génératifs (GAN en anglais) est un nom barbare pour qualifier les modèles de Deep Learning permettant de générer de l’information, des images, de la musique.
C’est un type de Réseau de Neurones que nous n’avions pas encore abordé chez Inside Machine Learning et pourtant, il a une place de plus en plus important dans les recherches scientifiques en Intelligence Artificielle.
C’est pourquoi on vous propose d’explorer les Réseau Antagonistes Génératifs dès maintenant !
La structure des GAN
Les GAN sont un type de réseau de neurones basé sur des algorithmes d’apprentissage non supervisé.
Cela veut dire que le réseau s’entraîne sans qu’au préalable un humain lui ai donné un objectif.
Pour comprendre comment ils fonctionnent, on va tout simplement décrypter leurs noms : GAN
Un GAN, c’est un Réseaux Antagonistes Génératifs en anglais Generative Antagonist Network.
Les termes « réseaux » et « génératifs » sont assez immédiat à comprendre. Il s’agit de Réseaux de Neurone comme les CNN ou les RNN qui sont ici utilisés pour générer, créer des choses. C’est donc un réseau génératif.
Mais alors pourquoi parle-t-on d’Antagoniste ?
Dans les films, un Antagoniste est l’adversaire du Protagoniste : le héros principal. On dit alors que les deux personnages sont antagonistes, c’est à dire qu’ils sont opposés, rivaux.
Dit autrement, une histoire contient deux personnages qui chacun ont un but opposé : vaincre l’autre, remporter la victoire.
Quel est le rapport avec le Deep Learning me direz-vous ? Je vous rassure, cela fait partie de l’explication 😎
Au fait, si ton objectif est d'apprendre le Deep Learning - j’ai préparé pour toi le Plan d’action pour Maîtriser les Réseaux de neurones.
7 jours de conseils gratuits d’un ingénieur spécialisé en Intelligence Artificielle pour apprendre à maîtriser les réseaux de neurones à partir de zéro :
- Planifie ton apprentissage
- Structure tes projets
- Développe tes algorithmes d’Intelligence Artificielle
J’ai basé ce programme sur des faits scientifiques, des approches éprouvées par des chercheurs mais également mes propres techniques que j'ai conçues au fil de mes expériences dans le domaine du Deep Learning.
Pour y accéder, clique ici :
À présent, on peut revenir à ce que je mentionnais précédemment.
En fait dans un GAN, comme dans un film, il y a des Antagonistes. Seulement ici, au lieu d’avoir deux personnages qui s’affrontent pour la victoire, on a deux Réseaux de Neurones qui s’affrontent pour s’optimiser !
Les Réseaux Antagonistes
Mais alors comment fonctionnent concrètement, les deux Réseaux Antagonistes d’un GAN ?
En fait, ils ont chacun un rôle bien distinct.
Prenons le cas d’un GAN appliqués aux images (le cas le plus fréquent).
Un des réseaux va s’entraîner sur un dataset et essayer de reproduire, de générer de fausses images ressemblant aux images de base.
Son antagoniste, lui, va analyser toutes les images (les fausses comme les vraies) et repérer celles qu’ils considèrent comme falsifié.
Plus l’antagoniste détecte les fausses images, plus le réseau génératif devra s’améliorer dans la création de fausses images.
En fait le but d’un GAN est de rendre le falsificateur plus performant que le détecteur !
À la fin de l’entraînement, le GAN doit être capable de générer des images fidèles à la réalité.
Voici un exemple concret d’un résultat de GAN permettant de transformer les chevaux d’une image en zèbres :
C’est la fin de cet article, on espère qu’il vous a permis de mieux comprendre les Réseaux Antagonistes Génératifs.
On se retrouve très prochainement dans un tutoriel pour voir en détails comment en coder un GAN !
sources :
- Photo by Ray Hennessy on Unsplash
Un dernier mot, si tu veux aller plus loin et apprendre le Deep Learning - j’ai préparé pour toi le Plan d’action pour Maîtriser les Réseaux de neurones.
7 jours de conseils gratuits d’un ingénieur spécialisé en Intelligence Artificielle pour apprendre à maîtriser les réseaux de neurones à partir de zéro :
- Planifie ton apprentissage
- Structure tes projets
- Développe tes algorithmes d’Intelligence Artificielle
J’ai basé ce programme sur des faits scientifiques, des approches éprouvées par des chercheurs mais également mes propres techniques que j'ai conçues au fil de mes expériences dans le domaine du Deep Learning.
Pour y accéder, clique ici :