Fondement théorique des GAN

← Introduction Les concepts fondamentaux →

1) Introduction aux réseaux antagonistes génératifs

Avec le développement des réseaux et de la puissance de calcul, les machines d’aujourd’hui sont capables de choses considérées irréalisables il y a de cela un siècle. La génération d’image photoréaliste en fait notamment partie.

Figure 1 - Image générée par DALL-E 2, une intelligence artificielle générative conçue par OpenAI

a) Cas d'usage

Introduit par Goodfellow et al. en 2014 [1], les réseaux antagonistes génératifs (GANs) apparaissent dans le monde de l’intelligence artificielle. Disposant de multiples cas d’usages, allant de l’imitation du contenu multimédia, des textes ou encore des discours. De manière générale, la principale utilité d’un GAN est de créer des données à partir de rien.

Parmi les applications populaires de cette technologie, on peut citer la modification ou la création d’images, la colorisation d’images en noir et blanc, ou encore l’amélioration de la définition d’une image. Il est par exemple possible de créer de faux visages grâce à cela. Celle-ci a aussi beaucoup été utilisée pour créer des vidéos de type «deepfakes».

De même, les GANs peuvent servir à recréer une peinture ou une photo populaire ou à écrire des articles pour un blog ou un site web en se basant sur du contenu existant. Il est aussi possible de générer une image à partir de texte, ou encore de produire des représentations photoréalistes de prototypes de produits [2].

b) Structure

Un GAN ou Generative Adversarial Network (réseau antagoniste génératif en français) est une technique de Machine Learning [3, 4]. Il fait partie de la classe des algorithmes d’apprentissage non supervisé [5] et repose sur la mise en compétition de deux réseaux au sein d'un framework.

Ces deux réseaux sont appelés «générateur» et «discriminateur». Le générateur est un type de réseau neuronal convolutif dont le rôle est de créer de nouvelles instances d'un objet. De son côté, le discriminateur est un réseau neuronal «déconvolutif» qui détermine l'authenticité de l'objet ou s'il fait ou non partie d'un ensemble de données.

Pendant le processus d'entraînement, ces deux entités sont en compétition et c'est ce qui leur permet d'améliorer leurs comportements respectifs. C'est ce que l'on appelle la rétro-propagation [6].

L'objectif du générateur est de produire des outputs sans que l'on puisse déterminer s'ils sont faux, tandis que l'objectif du discriminateur est d'identifier les faux. Ainsi, au fil du processus, le générateur produit des outputs de meilleure qualité tandis que le discriminateur détecte de mieux en mieux les faux. De fait, l'illusion est de plus en plus convaincante au fil du temps.

Dans un premier temps, il convient de déterminer ce que l'on souhaite que le GAN produise (l'output). La seconde étape consiste à composer un ensemble de données basé sur ces paramètres. Ces données sont ensuite entrées dans le générateur jusqu'à ce qu'il commence à produire des outputs convaincants.

Les images générées sont ensuite transmises au discriminateur, aux côtés des véritables points de données du dataset. Le discriminateur filtre les informations, et établit une probabilité comprise entre 0 et 1 pour déterminer l'authenticité de l'image. Le chiffre 1 signifie que l'image est réelle, le 0 indique qu'il s'agit d'un faux. Ces valeurs sont ensuite vérifiées manuellement, et le processus est répété jusqu'à ce que le résultat souhaité soit atteint [2].

2) Historique des développements fondamentaux

a) Les précurseurs

Depuis l'Antiquité, l'humanité a rêvé de créer des machines intelligentes. Des mythes et rêves d'automates mécaniques, comme le Golem de MaHaRaL [7, 8, 9] ou le Pygmalion [7, 10], aux premières idées de machines à calculer, les fondements de l'IA ont été posés bien avant l'ère moderne.

Considéré comme le père de l'informatique théorique, Turing a introduit le concept de "machine universelle" [11] et posé la question "Les machines peuvent-elles penser ?". Son "Test de Turing" reste une référence dans le domaine de l'IA [12]. La conférence de Dartmouth en 1956 est souvent considérée comme le point de départ officiel de l'IA en tant que domaine académique [13, 14, 15]. Les premiers programmes d'IA ont été développés durant ces décennies, comme le "Perceptron" de Frank Rosenblatt, capable de reconnaître le contenu d'images et de discerner certaines formes géométriques [16], et "ELIZA" de Joseph Weizenbaum, capable de converser (ce qui en fait plus moins le premier chatbot de l'histoire) [17, 18].

Les premières tentatives de modélisation de la créativité et de la génération de contenu par des machines ont été réalisées par des chercheurs en informatique et en psychologie cognitive. Les modèles de Markov (HMM) [19] et les modèles de mélange gaussien (GMM) [20] ont été les premiers à être développés dès les années 1950. Ces modèles généraient des données séquentielles telles que la parole et les séries temporelles. Cependant, ils furent rapidement limités en terme de puissance de calcul et de données disponibles [21].

b) L’âge d’or des réseaux neuronaux

Après des années de stagnation et de désillusions connues comme le premier hiver de l'IA, elle connaît un regain d'intérêt à la fin des années 80. Grâce à une meilleure compréhension de l'intelligence humaine et des neurones biologiques, les chercheurs développent des modèles basés sur la "rétro-propagation" [10, 22]. Ces réseaux de mini-cerveaux interconnectés travaillent ensemble pour résoudre un problème, le tout hébergé sur des ordinateurs de plus en plus puissants. L'humain apprend de ses erreurs pour s'améliorer, les machines devraient pouvoir en faire de même, non ?

En 1997, après de nouvelles années de déceptions, un événement marque l'histoire de l'IA : IBM Deep Blue devient le premier ordinateur à battre un champion du monde d'échecs en titre, Garry Kasparov [7]. C'est un tournant dans la reconnaissance des capacités de l'IA, prouvant que les machines peuvent surpasser les humains dans des tâches complexes.

Avec l'explosion des données et la démocratisation des ordinateurs personnels, les machines peuvent désormais "voir" et "reconnaître" des images grâce aux réseaux neuronaux convolutifs (CNN). Ces réseaux sont conçus pour traiter des données structurées en grille, comme une image, et sont particulièrement efficaces pour la reconnaissance visuelle. Ils fonctionnent selon la même méthodologie que les méthodes traditionnelles d’apprentissage supervisé: ils reçoivent des images en entrée, détectent les pattern de chacune d’entre elles, puis entrainent un classifieur dessus [18, 23, 24].

c) L’avènement des IA génératives

Ian Goodfellow introduit les GANs en 2014, permettant aux machines de "créer" du contenu [1]. Ces modèles, souvent exécutés sur des serveurs cloud puissants, peuvent produire des images d'une qualité impressionnante. En 2016, AlphaGo, une machine développée par DeepMind (filiale de Google), bat le champion du monde de Go, un jeu considéré comme bien plus complexe que les échecs [25].

En 2020, tout s'accélère. Avec l'essor des infrastructures technologiques la capacité de traitement augmente considérablement et la multiplication de bases de données facilite la formation des modèles d'IA plus complexe. Bref, l'IA générative passe au niveau supérieur.

En 2021, quelques entreprises de pointe commencent à se saisir de ces outils [26] . L'utilisation de modèles pré-entraînés devient de plus en plus populaire chez les avertis. Mais, avec la montée en puissance de l'IA, des questions éthiques et réglementaires émergent.

En 2022, les outils se démocratisent et deviennent accessibles à tous, même sans expertise approfondie. Les développeurs sont parmi les premiers à utiliser massivement l'IA générative. Dans de nombreux secteurs, on reconnaît son potentiel [27].

En 2023, avec l'arrivée de modèles comme ChatGPT, l'IA générative devient "grand public". Elle est accessible via des plateformes en ligne, permettant à chacun d'interagir avec cette technologie depuis n'importe quel appareil connecté [18].

← Introduction Les concepts fondamentaux →

Références et bibliographie