Sauter au menu Sauter au contenu
PraedictIA

Comment fonctionnent les modèles génératifs ?

Les modèles génératifs : mode de fonctionnement

Les modèles génératifs représentent une sous-catégorie de modèles d’apprentissage machine ayant comme objectif de produire du contenu sous certaines conditions définies au préalable. Dans les cas les plus fréquents, ils sont entraînés à générer des données d’après une base de données réelles comme référence, et un mécanisme de validation qui permet à l’algorithme apprenant d’évaluer la qualité des données générées (en se basant sur la référence citée précédemment).

Il existe plusieurs approches pour créer des modèles génératifs opérationnels, dont l’utilisation des réseaux de neurones antagonistes et génératifs (GANs ou Generative Adversarial Network), l’une des approches modernes les plus efficaces. Pour bien comprendre le fonctionnement d’un GAN, supposons que nous entraînions un réseau antagoniste génératif à générer des images synthétiques de portraits humains dont l’apparence se rapproche le plus possible de la réalité.

Ce GAN serait principalement composé des éléments suivants :

  • Une collection de données d’entraînement qui servira de référence pour le modèle (dans ce cas, une collection d’images de portraits humains réels).

  • Un réseau de neurones génératif (Generative Neural Network) dont la morphologie est appropriée à la génération des données, contrairement aux réseaux de neurones adaptés à la classification, la régression, etc. Ces réseaux de neurones auront une couche de sortie permettant de produire une donnée résultante, et non une classe spécifique ou une valeur spécifique.

Dans un modèle de réseaux de neurones antagonistes, la partie générative (le réseau de neurones génératif) sera alimentée initialement par du bruit : des données complètement aléatoires, et non des portraits ou quoi que ce soit d’autre. L’objectif de ce réseau de neurones est de pouvoir générer, à partir du bruit, des images qui s’apparentent à des portraits humains, en n’ayant aucun accès direct aux données d’entraînement (les images de portraits). Il devra donc avoir de l’aide pour apprendre à générer des formes adéquates à partir de données complètement aléatoires.

  • Un réseau de neurones discriminatif a pour objectif d’aider le réseau de neurones génératif à créer des données vraisemblables. Ce réseau étant entraîné à reconnaître les portraits, il sera en mesure de distinguer si un nouvel enregistrement est « réel » ou non. Donc, chaque fois qu’il recevra une image générée par le réseau de neurones génératif, il évaluera si elle représente un portrait humain ou pas.

  • Le mécanisme d’adversité oppose un réseau de neurones qui tente de générer des images réalistes pouvant se faire passer pour des images réelles, et un réseau discriminatif qui cherche à identifier les fausses images. Rappelons que les premières images créées par le réseau de neurones génératif sont loin d’être réalistes, car elles sont générées à partir d’un bruit de pixels totalement aléatoire; il n’existe aucun indice sur les formes pouvant constituer un portrait humain. Chaque image générée sera jugée comme étant réelle ou pas par le réseau de neurones discriminatif. S’il juge que l’image n’est pas réelle, il propagera un signal d’erreur qui aidera le réseau de neurones génératif à s’ajuster et à générer des formes différentes. Donc, ce processus itératif aidera le réseau de neurones génératif à former du contenu si réaliste que le réseau de neurones discriminatif sera incapable de voir la différence entre les images générées et les images réelles. Ce processus est référencé comme étant une adversité. Un GAN serait donc capable de produire des images si justes qu’un modèle d’apprentissage machine serait incapable de les distinguer.

D’autres approches qui permettent aussi d’entraîner des modèles génératifs sont les autoencodeurs variationnels (VAEs ou Variational Autoencoder) ou des approches hybrides entre les GANs et les VAEs.

Le Deep Learning et les GAN