Réseaux antagonistes génératifs de Wasserstein

De testwiki
Aller à la navigation Aller à la recherche

Modèle:Infobox Méthode scientifiqueLes réseaux antagonistes génératifs de Wasserstein (en anglais Wasserstein Generative Adversarial Network d'où WGAN et Wasserstein GAN) sont une variante des réseaux antagonistes génératifs (GAN), proposée en 2017 qui vise à « améliorer la stabilité de l'apprentissage, à éliminer les problèmes tels que l'effondrement sur les modes et à fournir des courbes d'apprentissage utiles pour le débogage et la recherche d'hyperparamètres »[1]Modèle:,[2].

Comparé au discriminateur d'un GAN traditionnel, le discriminateur d'un GAN de Wasserstein, souvent appelé critique, fournit un meilleur signal d'apprentissage pour le générateur. Cela permet à l'entraînement d'être plus stable lorsque le générateur apprend des distributions dans des espaces de très grande dimension.

Motivation

GAN

Modèle:Article détaillé Un GAN classique est basée sur un jeu à somme nulle entre 2 joueurs : générateur et discriminateur. Le jeu est défini sur un espace de probabilité (Ω,,μr). L'ensemble de stratégies du générateur est l'ensemble de toutes les mesures de probabilité μG sur (Ω,), et l'ensemble de stratégies du discriminateur est l'ensemble des fonctions mesurables D:Ω[0,1].

L'objectif du jeu est le suivant :L(μG,D):=𝔼xμref[lnD(x)]+𝔼xμG[ln(1D(x))]. Le générateur vise à le minimiser, tandis que le discriminateur vise à le maximiser.

Un théorème de base du jeu GAN stipule que :

Modèle:Théorème

Répétez ce jeu plusieurs fois, à chaque fois avec le générateur se déplaçant en premier suivit par l discriminateur. Chaque fois que le générateur μG change, le discriminateur doit s'adapter en se rapprochant de l'idéal :D*(x)=dμrd(μr+μG).Puisque nous sommes vraiment intéressés par μr, la fonction discriminatrice D est en soi plutôt inintéressante. Elle suit simplement le rapport de vraisemblance entre la distribution du générateur et la distribution de référence. À l'équilibre, le discriminateur ne fait que produire 12 constamment, ayant renoncé à tenter de percevoir une quelconque différence. En pratique, le générateur ne pourrait jamais atteindre l'imitation parfaite, et le discriminateur serait donc motivé pour percevoir la différence, ce qui lui permet d'être utilisé pour d'autres tâches, telles que la classification d'ImageNet sans supervision.

Concrètement, dans un GAN, si on a un générateur μG, et un discriminateur qu'on améliore pas à pas, où on dénote μD,t le discriminateur à l'étape t; alors nous avons (idéalement) que :L(μG,μD,1)L(μG,μD,2)maxμDL(μG,μD)=2DJS(μrμG)2ln2, nous voyons donc que le discriminateur est en fait une limite inférieure DJS(μrμG).

Distance de Wasserstein

Modèle:Article détaillé Ainsi, nous voyons que le rôle du discriminateur est principalement de fournir un retour d'information au générateur, sur à quel point celui-ci est loin de la perfection, où « loin » est défini comme cette divergence de Jensen-Shannon.

Naturellement, cela apporte la possibilité d’utiliser une fonction objectif différente. Il existe de nombreuses divergences possibles parmi lesquelles choisir, comme la famille des divergences f, qui donnerait le f-GAN[3].

Le GAN de Wasserstein est obtenu en utilisant la distance de Wasserstein. Celle-ci satisfait le « théorème de la dualité de Kantorovich-Rubenstein  ». Cette dualité peut être utilisée ce qui rend l'algorithme très efficace à calculer : Modèle:Théorème

Définition

Selon la dualité de Rubenstein-Kantorovitch, la définition du GAN de Wasserstein est claire : Modèle:Citation bloc Par la dualité de Kantorovitch-Rubenstein, pour toute stratégie génératrice μG, la réponse optimale du discriminateur est D*, tel que LWGAN(μG,D*)=KW1(μG,μr). Par conséquent, si le discriminateur est bon, le générateur serait constamment poussé à minimiser W1(μG,μr), et la stratégie optimale pour le générateur est simplement μG=μr, comme il se doit.

Comparaison avec le GAN classique

Dans le GAN de Wasserstein, le discriminateur fournit un meilleur gradient que dans le GAN traditionnel.

Considérons par exemple un jeu sur les réels où les deux μG et μr sont gaussiennes. Ensuite, le critique optimal de Wasserstein DWGAN et le discriminateur GAN optimal D sont représentés comme ci-dessous :

Le critique optimal du Wasserstein GAN DWGAN et le discriminateur optimal D du GAN pour une distribution de référence fixe μr et la distribution de générateur μG . Le critique de Wasserstein DWGAN et le discriminateurD du GAN sont réduits pour s'adapter à l'intrigue.

Pour un discriminateur fixé, le générateur doit minimiser les objectifs suivants :

  • Dans un GAN, 𝔼xμG[ln(1D(x))] .
  • Dans un GAN de Wasserstein, 𝔼xμG[DWGAN(x)] .

Soit μG paramétré par θ, nous pouvons alors effectuer une descente de gradient stochastique en utilisant deux estimateurs non biaisés du gradient : θ𝔼xμG[ln(1D(x))]=𝔼xμG[ln(1D(x))θlnρμG(x)]θ𝔼xμG[DWGAN(x)]=𝔼xμG[DWGAN(x)θlnρμG(x)] où nous avons utilisé l'Modèle:Lien. Ce n'est pas ainsi que les choses se passent dans la pratique, puisque

θlnρμG(x)

est en général introuvable, mais c'est éclairant sur le plan théorique.

Le même scénario, mais avec le discriminateur GAN D remplacé par ln(1D) (et réduit pour s'adapter à l'intrigue)

Comme indiqué, le générateur dans un GAN classique est motivé pour laisser son μG « glisser vers le bas du sommet » de ln(1D(x)) . Il en va de même pour le générateur d'un GAN de Wasserstein.

Pour un GAN de Wasserstein, DWGAN a un gradient de 1 presque partout, tandis que pour GAN, ln(1D) a un gradient nul au milieu et un gradient impotant ailleurs. Par conséquent, la variance de l’estimateur dans le GAN est généralement beaucoup plus grande que celle dans le GAN de Wasserstein[1].

Le problème avec DJS est beaucoup plus grave dans les situations réelles d’apprentissage automatique. Envisagez de former un GAN pour générer ImageNet, une collection de photos de taille 256 x 256. L'espace de toutes ces photos est 2562, et la distribution des images ImageNet, μr, se concentre sur une variété de dimension beaucoup plus faible en elle. Par conséquent, toute stratégie de générateur μG serait presque sûrement entièrement disjointe de μr, rendant DJS(μGμr)=+. Ainsi, un bon discriminateur peut presque parfaitement distinguer μr de μG, ainsi que tout μG proche de μG. Ainsi, le gradient μGL(μG,D)0, ne créant aucun signal d'apprentissage pour le générateur.

Entraînement d'un GAN de Wasserstein

L'entraînement du générateur dans un GAN de Wasserstein est une descente de gradient, la même que dans un GAN (ou pour la plupart des méthodes d'apprentissage profond), mais l'entraînement du discriminateur est différent, car le discriminateur est désormais limité par une norme Lipschitz bornée. Il existe plusieurs méthodes pour imposer cette condition.

Limite supérieure de la norme Lipschitz

Laissez la fonction discriminatrice D à mettre en œuvre par un perceptron multicouche : D=DnDn1D1Di(x)=h(Wix), et h: est une fonction d'activation fixe avec supx|h(x)|1 . Par exemple, la fonction tangente hyperbolique h=tanh satisfait à l'exigence.

Ensuite, pour tout x, posons xi=(DiDi1D1)(x), nous avons par la règle de la chaîne : dD(x)=diag(h(Wnxn1))Wndiag(h(Wn1xn2))Wn1diag(h(W1x))W1dx Ainsi, la norme Lipschitz de D est délimité par DLsupxdiag(h(Wnxn1))Wndiag(h(Wn1xn2))Wn1diag(h(W1x))W1Fs est la norme de l'opérateur de la matrice, c'est-à-dire la plus grande valeur singulière de la matrice, c'est-à-dire le rayon spectral de la matrice (ces concepts sont les mêmes pour les matrices, mais différents pour les opérateurs linéaires généraux).

Comme supx|h(x)|1, nous avons que diag(h(Wixi1))s=maxj|h(Wixi1,j)|1, et par conséquent la borne supérieure est : DLi=1nWisAinsi, si nous pouvons fixer une limite supérieure aux normes des opérateurs Wis de chaque matrice, nous pouvons donc fixer la limite supérieure de la norme Lipschitz de D .

Contrainte sur les poids

Puisque pour tout m×l matrice W, Posons c=maxi,j|Wi,j|, nous avons Ws2=supx2=1Wx22=supx2=1i(jWi,jxj)2=supx2=1i,j,kWijWikxjxkc2ml2 en coupant toutes les entrées de W dans un intervalle [c,c], nous pouvons être borné Ws .

Il s'agit de la méthode de contrainte des poids, proposée dans l'article original[1].

Normalisation spectrale

Le rayon spectral peut être calculé efficacement par l'algorithme suivant : Modèle:Citation bloc En réaffectant WiWiWis après chaque mise à jour du discriminateur, nous pouvons fixer une limite supérieure Wis1, et donc limite supérieure DL .

L'algorithme peut être encore accéléré par mémoïsation : A l'étape t, on garde xi*(t) . Puis à l'étape t+1, utiliser xi*(t) comme valeur initiale de l'algorithme. Depuis Wi(t+1) est très proche de Wi(t), c'est donc xi*(t) proche de xi*(t+1), ce qui permet une convergence rapide.

Il s'agit de la méthode de normalisation spectrale[4].

Pénalité sur le gradient

Au lieu de délimiter strictement DL, nous pouvons simplement ajouter un terme de « pénalité sur le gradient » sur le discriminateur, de la forme 𝔼xμ^[(D(x)2a)2]μ^ est une distribution fixe utilisée pour estimer dans quelle mesure le discriminateur a violé l'exigence de la norme de Lipschitz. Le discriminateur, en essayant de minimiser la nouvelle fonction de perte, amènerait naturellement D(x) proche de a partout, faisant ainsi DLa .

Il s'agit de la méthode de pénalité sur le gradient[5].

Liens externes

Voir aussi

Références

Modèle:Traduction/Référence Modèle:Références

Notes

Modèle:Références Modèle:Palette Modèle:Portail