Maison >Périphériques technologiques >IA >Comparaison détaillée des modèles génératifs VAE, GAN et modèles basés sur les flux
Deux ans après qu'Ian Goodfellow et d'autres chercheurs ont présenté les réseaux contradictoires génératifs dans un article, Yann LeCun a qualifié la formation contradictoire de « l'idée la plus intéressante en ML au cours de la dernière décennie ». Bien que les GAN soient intéressants et prometteurs, ils ne constituent qu’une partie d’une famille de modèles génératifs qui résolvent les problèmes d’IA traditionnels sous un angle complètement différent. Dans cet article, nous comparerons trois modèles génératifs courants.
Quand on pense à l'apprentissage automatique, la première chose qui nous vient probablement à l'esprit est l'algorithme discriminant. Les modèles discriminants permettent de prédire des étiquettes ou des catégories de données d'entrée en fonction de leurs caractéristiques et sont au cœur de toutes les solutions de classification et de prédiction. Contrairement à ces modèles, les algorithmes génératifs nous aident à raconter des histoires sur les données et à fournir des explications possibles sur la manière dont les données ont été générées. Contrairement aux algorithmes discriminants, qui mappent les caractéristiques aux étiquettes, les modèles génératifs tentent de prédire les caractéristiques associées à une étiquette.
Distinguez la relation entre l'étiquette y et la caractéristique x définie par le modèle, et générez le modèle pour répondre à la question "Comment obtenez-vous y". Le modèle génératif est P(Observation/Cause), puis utilise le théorème de Bayes pour calculer P(Cause/Observation). De cette manière, ils peuvent capturer p(x|y), la probabilité de x étant donné y, ou la probabilité d'une caractéristique étant donné une étiquette ou une classe. En fait, les algorithmes génératifs peuvent également être utilisés comme classificateurs, probablement parce qu’ils modélisent la distribution des classes individuelles.
Il existe de nombreux algorithmes génératifs, mais les modèles les plus populaires qui entrent dans la catégorie des modèles génératifs profonds sont les auto-encodeurs variationnels (VAE), les gan et les modèles basés sur les flux.
Un auto-encodeur variationnel (VAE) est un modèle génératif qui « fournit une description probabiliste des observations dans un espace latent ». En termes simples, cela signifie que VAE stocke les attributs latents sous forme de distributions de probabilité.
L'idée des auto-encodeurs variationnels (Kingma & Welling, 2014) ou VAE est profondément ancrée dans les méthodes de modèles bayésiens et graphiques variationnels.
Un autoencodeur standard se compose de 2 réseaux similaires, un encodeur et un décodeur. L'encodeur prend l'entrée et la convertit en une représentation plus petite, que le décodeur peut utiliser pour la reconvertir en entrée d'origine. L'espace latent dans lequel ils transforment l'entrée et l'espace dans lequel se trouvent leurs vecteurs de codage peuvent ne pas être continus. C'est un problème pour les modèles génératifs, car nous voulons tous échantillonner aléatoirement à partir d'un espace latent ou générer des variations de l'image d'entrée à partir d'un espace latent continu.
L'auto-encodeur variationnel dispose d'un espace latent continu, ce qui rend l'échantillonnage aléatoire et l'interpolation plus pratiques. Pour y parvenir, le nœud caché du codeur ne génère pas le vecteur de codage, mais génère à la place deux vecteurs de même taille : un vecteur moyen et un vecteur d'écart type. Chaque nœud caché se considère distribué gaussien. Le i-ème élément du vecteur moyenne et écart type correspond ici à la valeur moyenne et écart type de la i-ème variable aléatoire. Nous échantillonnons à partir de ce vecteur de distribution et le décodeur échantillonne de manière aléatoire à partir de la distribution de probabilité du vecteur d'entrée. Ce processus est une génération aléatoire. Cela signifie que même pour la même entrée, lorsque la moyenne et l’écart type restent constants, le codage réel sera différent à chaque passage.
La perte de l'auto-encodeur vise à minimiser la perte de reconstruction (à quel point la sortie est similaire à l'entrée) et la perte latente (à quel point les nœuds cachés sont proches d'une distribution normale). Plus la perte potentielle est faible, moins d'informations peuvent être codées, donc la perte de reconstruction augmentera, il y a donc un compromis entre la perte potentielle et la perte de reconstruction. Lorsque la perte potentielle est faible, l’image générée sera trop similaire à l’image d’entraînement, ce qui entraînera de mauvaises performances. Lorsque la perte de reconstruction est faible, l'effet de l'image reconstruite pendant l'entraînement est meilleur, mais la nouvelle image générée est assez différente de l'image reconstruite, il faut donc trouver un bon équilibre.
Les VAE peuvent gérer différents types de données, séquentielles et non séquentielles, continues ou discrètes, même étiquetées ou non, ce qui en fait des outils de génération très puissants.
Mais un inconvénient majeur des VAE est le rendu flou qu’ils génèrent. Comme l’ont souligné Dosovitskiy et Brox, les modèles VAE produisent souvent des échantillons irréalistes et ambigus. Cela est dû à la manière dont la distribution des données est récupérée et la fonction de perte est calculée. Un article de 2017 de Zhao et al. suggérait de modifier les VAE sans utiliser de méthodes bayésiennes variationnelles pour améliorer la qualité des résultats.
Les réseaux contradictoires génératifs (GAN) sont un modèle génératif basé sur l'apprentissage en profondeur qui peut générer de nouveaux contenus. L'architecture GAN a été décrite pour la première fois dans un article de 2014 intitulé « Generative Adversarial Networks » par Ian Goodfellow et al.
Les GAN utilisent une approche d'apprentissage supervisé utilisant deux sous-modèles : un modèle générateur qui génère de nouveaux exemples et un modèle discriminateur qui tente de classer les exemples comme réels ou faux (générés).
Générateur : un modèle pour générer de nouveaux exemples plausibles à partir du domaine problématique.
Discriminateur : Un modèle utilisé pour classer les exemples comme réels (issus du domaine) ou faux (générés).
Les deux modèles sont formés en compétiteurs. Les générateurs produisent directement des exemples de données. Son adversaire, le discriminateur, tente de faire la distinction entre les échantillons tirés des données d'entraînement et les échantillons tirés du générateur. Ce processus compétitif se poursuit pendant la formation jusqu'à ce que le modèle discriminateur ne parvienne pas à dire vrai ou faux plus de la moitié du temps, ce qui signifie que le modèle générateur génère des données très réalistes.
Lorsque le discriminateur réussit à identifier un échantillon réel et faux, il est récompensé tandis que ses paramètres restent inchangés. Si le générateur fait une erreur, il est puni et ses paramètres sont mis à jour. Dans un monde idéal, chaque fois que le discriminateur ne peut pas faire la différence et prédit « incertain » (par exemple, 50 % de vrai ou de faux), le générateur peut produire une copie parfaite à partir du domaine d'entrée.
Mais ici, chaque modèle peut prendre le dessus sur l'autre. Si le discriminateur est trop bon, il renverra des valeurs très proches de 0 ou 1, et le générateur aura du mal à mettre à jour les dégradés. Si le générateur est trop performant, il exploitera les faiblesses du discriminateur et provoquera des faux négatifs. Par conséquent, les deux réseaux de neurones doivent avoir des « niveaux de compétence » similaires grâce à leurs taux d'apprentissage respectifs. C'est également l'une des raisons pour lesquelles le GAN est difficile à former.
Le générateur prend un vecteur aléatoire de longueur fixe en entrée et génère un échantillon dans le domaine défini. Ce vecteur est tiré aléatoirement d'une distribution gaussienne. Après l'entraînement, les points de cet espace vectoriel multidimensionnel correspondront aux points du domaine problématique, formant une représentation compressée de la distribution des données. Cette étape est similaire à VAE. Cet espace vectoriel est appelé espace latent, ou vecteur. espace composé de variables latentes. Le générateur du GAN fera la moyenne des points sélectionnés dans l'espace latent. De nouveaux points extraits de l'espace latent peuvent être fournis comme entrée au modèle générateur et utilisés pour générer des exemples de sortie nouveaux et différents. Après formation, le modèle générateur est conservé et utilisé pour générer de nouveaux échantillons.
Le modèle discriminateur prend un exemple en entrée (soit un échantillon réel de l'ensemble de données d'entraînement, soit généré par un modèle générateur) et prédit une étiquette de classe binaire de réel ou de faux (généré). Le discriminateur est un modèle de classification normal (et facile à comprendre).
Après le processus de formation, le discriminateur est écarté car nous nous intéressons au générateur. Bien sûr, le discriminateur peut également être utilisé à d'autres fins
Les GAN peuvent produire des échantillons réalisables, mais le GAN d'origine présente également des défauts :
Les modèles génératifs basés sur le flux sont des modèles de log-vraisemblance exacte avec échantillonnage traitable et inférence de variables latentes. Les modèles basés sur les flux appliquent un ensemble de transformations réversibles aux échantillons d'un a priori afin que la log-vraisemblance exacte d'une observation puisse être calculée. Contrairement aux deux algorithmes précédents, ce modèle apprend explicitement la distribution des données, de sorte que la fonction de perte est une log-vraisemblance négative.
Dans l'analyse de composantes indépendantes non linéaires, le modèle de flux f est construit comme une transformation réversible qui mappe une variable aléatoire de haute dimension x à une variable latente gaussienne standard z=f(x). L’idée clé dans la conception du modèle de flux est qu’il peut s’agir d’une fonction bijective arbitraire et qu’il peut être formé en superposant de simples transformations réversibles. Pour résumer : le modèle de flux f est composé d'une série de flux réversibles comme f(x) = f1◦···◦fL(x), chaque fi ayant un inverse traitable et un mode jacobien traitable.
Il existe deux catégories principales de modèles basés sur le flux : les modèles à flux normalisé et les modèles à flux autorégressif qui tentent d'améliorer les performances du modèle de base.
Pour de nombreux problèmes d'apprentissage automatique, être capable d'effectuer une bonne estimation de la densité est essentiel. Mais c'est intrinsèquement complexe : lorsque nous devons effectuer une rétropropagation dans un modèle d'apprentissage profond, la distribution de probabilité intégrée doit être suffisamment simple pour que les dérivées puissent être calculées efficacement. La solution traditionnelle consiste à utiliser des distributions gaussiennes dans des modèles de génération de variables latentes, bien que la plupart des distributions du monde réel soient beaucoup plus complexes. Les modèles de flux normalisé (NF), tels que RealNVP ou Glow, fournissent une approximation robuste de la distribution. Ils transforment une distribution simple en distribution complexe en appliquant une série de fonctions de transformation réversibles. Grâce à une série de transformations, selon le théorème de transformation des variables, les variables d'origine peuvent être remplacées à plusieurs reprises par de nouvelles variables, et finalement la distribution de probabilité de la variable cible finale est obtenue.
Lorsqu'une transformation de flux dans un flux normalisé est encadrée comme un modèle autorégressif, où chaque dimension d'une variable vectorielle est conditionnée par la dimension précédente, ce changement dans le modèle de flux est appelé flux autorégressif. C’est une avancée par rapport aux modèles aux processus standardisés.
Les modèles de flux autorégressifs couramment utilisés sont PixelCNN pour la génération d'images et WaveNet pour les signaux audio unidimensionnels. Elles consistent toutes en un ensemble de convolutions causales – des opérations de convolution qui prennent en compte l'ordre : les prédictions à un horodatage spécifique n'utilisent que des données observées dans le passé. Dans PixelCNN, la convolution causale est effectuée par un noyau masqué. Et WaveNet décale la sortie de plusieurs horodatages vers l'heure future.
Les modèles basés sur les flux sont conceptuellement très conviviaux pour modéliser des distributions complexes, mais par rapport aux modèles autorégressifs de pointe, ils sont limités par des problèmes de performances d'estimation de la densité. Bien que les modèles de flux puissent initialement produire de bons résultats comme alternative aux GAN, il existe un écart important entre les coûts de calcul de formation, les modèles basés sur les flux prenant plusieurs fois plus de temps pour générer des images de même résolution que les GAN.
Chaque algorithme a ses avantages et ses limites en termes de précision et d'efficacité. Bien que les GAN et les modèles basés sur les processus génèrent généralement des images meilleures ou plus proches de la réalité que le VAE, ce dernier a un temps plus rapide et une meilleure efficacité des paramètres que les modèles basés sur les processus. Voici un résumé comparatif des trois modèles :
Vous pouvez. voyez que le GAN est très efficace du fait de son parallélisme, mais il n'est pas réversible. En revanche, les modèles de flux sont réversibles mais non efficaces, tandis que vae est réversible et efficace mais ne peut pas être calculé en parallèle. Sur la base de ces caractéristiques, nous pouvons faire des compromis entre le rendement, le processus de formation et l’efficacité de l’utilisation réelle.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!