2017-02-20T00:00+02:00
Les Generative Adversarial Networks sont nés en 2014 Publication originale - Goodfellow et al. et sont très vite devenus particulièrement populaires dans la communauté scientifiques comme présentant un nouveau modèle de génération de donnée original et particulièrement efficace. Nous proposons ici une petite revue de tâches réalisées aujourd'hui par les GANs et de reprendre ensuite l'état de compréhension scientifique de ces réseaux aujourd'hui.
Il convient en premier de définir ce qu'est un "Generative Model" dans l'absolu. Nous parlons là de réseaux qui, à l'opposé des réseaux usuels permettant de mettre en œuvre la classification ou la prédiction d'une donnée, vont eux être en capacité de générer une nouvelle donnée dans un cadre contrôlé. Un exercice usuel, par exemple, sera de générer à partir d'un dataset de nouvelles photos de visage, parfaitement crédibles mais complètement originales. Cet exemple semble futile, mais il peut être étendu dans des cas pratiques très variées :
À ce stade, pour comprendre réellement l'intérêt de ces outils, il devient nécessaire de rappeler qu'un GAN, à la manière d'un VAE, vise à définir un espace latent simple mathématiquement permettant de représenter correctement la distribution de probabilité cible. Une fois l'apprentissage réalisé, nous devenons capables de parcourir la donnée d'une manière "intelligente". Par exemple, en entraînant un GAN sur un dataset composé de photographies d'individus qui expriment différentes émotions, le réseau pourra apprendre à isoler l'information du sourire comme d'une variable manipulable, permettant ainsi de générer à partir d'une photo normale un équivalent souriant :) Les GANs, fondamentalement, cherchent donc une structuration de la donnée à générer suffisamment simple et exploitable, à la manière d'un VAE ou tout autre modèle d'inférence usuel.
S'il existe aujourd'hui de nombreuses dérivations de l'architecture originale du GAN de Goodfellow, le principe fondamental reste le même. Le réseau se divise en deux parties, deux sous-réseaux qui agissent en coopération :
Dès lors, chacun va à tour de rôle s'entraîner : le générateur va apprendre à générer quelque chose de "convenable" du point de vue du discriminateur, qui lui va ensuite s'entraîner à nouveau à ne plus se laisser "berner" par le générateur. Les deux sous-réseaux vont ainsi converger, chacun en s'appuyant sur l'autre... Mais seulement quand ils voudront bien converger.
En effet, les GANS présentent aujourd'hui plusieurs difficultés. Non moindre d'entre elles, l'apprentissage qui reste très sensible à l'ensemble des hyper-paramètres et peut ainsi être très laborieux à mettre en place (encore qu'une récente publication, les Wasserstein GAN, Arjovsky et al, propose un apprentissage plus contrôlé). Un autre "problème" fondamental reste l'absence de compréhension fondamentale aujourd'hui sur le bon fonctionnement de ces réseaux, où la communauté scientifique reste cantonnée aux hypothèses. Pour plus de détail sur celles-ci et les mathématiques sous-jacentes, nous vous invitons à consulter le NIPS 2016 Tutorial rédigé par Goodfellow qui récapitule deux années de recherche et de nouvelles propositions.