Développement durable GAN Learning (Creuser plus profondément)

image

Dans l' article précédent, en utilisant l'exemple des modèles de jouets, j'ai essayé d'analyser pourquoi, en fait, nous sommes en mesure de former efficacement les GAN. Nous allons maintenant essayer de résumer certains des résultats et, surtout, essayer d'analyser comment l'architecture des réseaux de neurones affecte la stabilité du processus d'apprentissage.

Présentation


Vous pouvez considérer le processus d'apprentissage GAN comme un processus de minimisation de la limite inférieure de divergence ou comme un système dynamique composé d'un discriminateur et d'un générateur. La première approche est très bien développée, si toute personne intéressée peut trouver beaucoup d'ouvrages intéressants sur ce sujet, je ne donnerai que les plus significatifs à mon avis: f-GAN , WGAN . D'un autre côté, The Numerics of GANs, Lars Mescheder et al, 2017 a montré que l'on ne peut pas regarder un GAN uniquement à partir d'une position de minimisation de la divergence (bien que ce soit l'objectif principal), mais il est toujours nécessaire de prendre en compte les propriétés d'un système dynamique. Notre objectif est de combiner ces deux approches et de voir quelles propriétés théoriques auront les trajectoires d'un tel système dynamique.

Ensuite, nous considérerons une forme assez générale de la fonction GAN (objectif GAN).

I( theta, phi)=  intpd(x)fD(D theta(x))dx +  intp( epsilon)fG(D theta(G phi( epsilon))d epsilon


 theta - paramètres du discriminateur,  phi - paramètres du générateur. Et nous supposons également que le générateur et le discriminateur sont deux fonctions différenciables.

Le processus d'apprentissage peut être formulé mathématiquement comme:

\ underset {\ phi} {min} \ {\ underset {\ theta} {max} I (\ theta, \ phi) \}

\ underset {\ phi} {min} \ {\ underset {\ theta} {max} I (\ theta, \ phi) \}



Point de repos


Malgré l'énorme quantité de travail sur le GAN, la question de l'existence d'un point de repos reste ouverte. Nous allons maintenant essayer de répondre à cette question.

Supposons ( hypothèse 1 ) que pour tout générateur, il existe un discriminateur maximisant

I( thêta, phi)

ê


C'est-à-dire la fonction

\ theta_ {opt} = \ underset {\ theta} {argmax} \ {I (\ theta, \ phi) \}

\ theta_ {opt} = \ underset {\ theta} {argmax} \ {I (\ theta, \ phi) \}


défini pour toutes les valeurs  phi . Bien qu'il soit possible et ambigu - c'est-à-dire, il existe de nombreux discriminateurs optimaux différents. Nous appellerons l'ensemble de ces discriminateurs optimaux «reparamétrisation», et l'ensemble \ {\ theta_ {opt} \}\ {\ theta_ {opt} \} ensemble de reparamétrisation du discriminateur. Faisons une petite clarification - par maximum, nous entendons non seulement un maximum global, mais tout maximum local.

Mathématiquement  thetaopt déterminé par le système d'équations:

 nabla thetaI( thetaopt, phi)=0


 nabla theta2I( theta, phi) preceq0


Bien que si le générateur et le discriminateur sont des réseaux de neurones, et que nous formons le générateur d'images, cette hypothèse n'est pas remplie. Dans les articles suivants, je montrerai comment cela peut être réalisé à l'aide d'un simple régularisateur, mais pour l'instant je dois le croire.

La deuxième hypothèse ( hypothèse 2 ) est que pour tout changement infiniment petit des paramètres du générateur, il existe un discriminateur optimal infiniment proche du courant. Vous pouvez essayer de savoir quand cela est fait pour les réseaux de neurones, mais il me semble que c'est une exigence intuitive et avec une probabilité élevée, elle est satisfaite pour les réseaux suffisamment flexibles.

Mathématiquement, cette exigence peut être formulée comme suit: un système d'équations

 nabla theta2I( thetaopt, phi)d theta= nabla theta phiI( thetaopt, phi)d phi ;(1)


a des décisions d theta à tout d phi .
Cette condition est facilement obtenue à partir de la décomposition  nabla thetaI( thetaopt, phi)=0 dans une rangée de taylor.

Nous montrons maintenant que, dans l' hypothèse 2, le gradient du générateur  nabla phiI( thetaopt, phi) ne change pas si nous nous déplaçons le long de l'ensemble de reparamétrisation du discriminateur. Se déplacer le long de l'ensemble de reparamétrisation signifie mathématiquement que  delta theta appartient au noyau  nabla theta2I( theta, phi) c'est-à-dire:

 nabla thetaI( thetaopt, phi)= nabla thetaI( thetaopt+d thetaopt, phi)=0


Développons une série Taylor:

 nabla phiI( thetaopt+d thetaopt, phi)= nabla phiI( thetaopt, phi)+ nabla phi thetaI( theta, phi)d thetaopt


D'où, pour que le gradient ne change pas, il faut que d thetaopt appartenait au noyau  nabla phi thetaI( theta, phi) . Mais si d thetaopt appartient au noyau  nabla theta2I( theta, phi) et (1) détient, puis d thetaopt appartient au noyau  nabla phi thetaI( theta, phi) . C'est facile à montrer en multipliant (1) par d thetaopt et considérant que d phi peut être n'importe lequel:

d thetaTopt nabla theta2I( thetaopt, phi)d theta=d thetaTopt nabla theta phiI( thetaopt, phi)d phi=0


Nous venons de prouver le merveilleux fait que le gradient \ nabla_ \ phi \ underset {\ theta} {max} \ {I (\ theta, \ phi) \} peu importe lequel est sélectionné  theta de l'ensemble de reparamétrisation du discriminateur  underset thetamaxI( theta, phi) est une fonction différenciable de  phi et nous pouvons le minimiser en utilisant des méthodes d'optimisation de gradient.

Que dire du minimum de cette fonction? Malheureusement, aucune conclusion générale ne peut être tirée jusqu'à présent. Nous devons faire une autre hypothèse ( hypothèse 3 ) sur les propriétés du discriminateur, à savoir  underset thetamaxI( theta, phi) geq0 . De l'analyse mat nous savons qu'une fonction continue bornée ci-dessous atteint sa valeur minimale, ou qu'il existe des séquences de points décroissantes de façon monotone (c'est-à-dire que la fonction atteint son minimum à l'infini).

L'hypothèse 3 indique que, peu importe à partir de quel point nous avons commencé à former le discriminateur (initialisation du réseau neuronal), le discriminateur optimal attribue toujours aux données une valeur supérieure (ou égale) (en moyenne) aux échantillons du générateur et tout discriminateur faisant le contraire ne peut pas être optimal. À mon avis, cette hypothèse est très logique en interne et des réseaux de neurones suffisamment flexibles devraient la satisfaire. Soit dit en passant, il est facile de montrer que le discriminateur linéaire satisfait cette hypothèse.

«Trajectoire optimale»


Nous venons de découvrir que si le discriminateur satisfait à des hypothèses suffisamment «douces», alors soit le point de repos existe, soit il est situé à l'infini et nous pouvons l'approcher asymptotiquement.

Pour ce faire, supposons que  theta et  phi paramètres actuels, et le discriminateur est formé pour converger. Maintenant, nous changeons un peu le générateur (  phik+1= phik+d phi ) pour que \ underset {\ theta} {argmax} \ {I (\ theta, \ phi) \} diminue - par exemple, nous prenons une étape de descente de gradient. Comment mettre à jour le discriminateur? La réponse est donnée par la formule (1):

d theta= nabla theta2I( theta, phi) dagger nabla theta phiI( theta, phi)d phi(2)


 nabla theta2I( theta, phi) dagger Est une matrice pseudoinverse.
Pour être mathématiquement rigoureuse, la formule (2) détermine alors l'hyperplan tangent à la surface dans l'espace des paramètres sur lequel «vivent» les discriminateurs optimaux. Nous appellerons cette surface «optimale».

Mais que se passera-t-il si nous partons d'un point très proche, mais le discriminateur n'est toujours pas optimal. De toute évidence, notre formule décrit des trajectoires complètement imprévisibles, car il n'a été obtenu que pour des discriminateurs optimaux. Essayons de corriger cette situation. Dans ce cas, il serait logique de se déplacer non seulement parallèlement à la surface «optimale», mais aussi vers elle. De toute évidence, un pas dans la direction indiquée par la méthode de Newton est tout à fait approprié pour cela. Notre formule finale ressemblera à ceci:

d theta= nabla theta2I( theta, phi) dagger[ nabla thetaI( theta, phi)+ nabla theta phiI( theta, phi)d phi](3)


Que venons-nous de faire? Tout d'abord, notez que sur une surface optimale  nabla thetaI( theta, phi)=0 , c'est-à-dire si si  theta était le discriminateur formé à la convergence, alors nous n'avons pas changé la trajectoire. D'un autre côté, si nous avons commencé quelque part près du point «optimal», le terme supplémentaire nous «tirera» sur la trajectoire «optimale». Autrement dit, nous avons rendu la trajectoire «optimale» résistante au bruit.

Malheureusement, je ne peux pas le prouver mathématiquement. Mais nous n'en avons pas besoin. Examinons de plus près la formule (3), elle peut être réécrite sous la forme:

d theta= nabla theta2I( theta, phi) dagger nabla thetaI( theta, phi+d phi)


Ça ne ressemble à rien? Cela ressemble presque à la méthode de Newton. Cela suggère que l'alternance (dans la littérature en langue anglaise utilise l'alternance) des mises à jour des paramètres du générateur et du discriminateur, où le discriminateur est mis à jour par la méthode de Newton (en fait, nous n'avons pas besoin de prendre l'étape de Newton complète, mais nous pouvons faire un petit pas dans la direction indiquée par la méthode de Newton) et le générateur, d'une manière générale, peut faire un pas dans n'importe quelle direction, l'essentiel est de diminuer \ underset {\ theta} {argmax} \ {I (\ theta, \ phi) \} est une bonne approximation du mouvement le long d'une trajectoire optimale.

Soit dit en passant, c'est peut-être là que réside le succès d'Adam dans la formation GAN. Après tout, il est bien connu qu'Adam tente d'approximer la Hesse et utilise ces informations pour l'étape du gradient (se rapproche de la méthode de Newton).

Stabilité de trajectoire


Pour analyser la stabilité des trajectoires, nous utiliserons les mêmes outils que les gars utilisés dans Quelles méthodes de formation pour les GAN convergent réellement? . Celui qui a le temps, je vous recommande de bien comprendre ce travail, ça vaut le coup.

Je crois que le principal inconvénient de cet article est que les auteurs analysent la stabilité du système à un point de repos, qui n'existe tout simplement pas pour la plupart des vrais GAN (pour les exemples de jouets 2D ou 3D, bien sûr, cela est possible). Je veux dire, en général, il n'y a pas de point de repos, et le point auquel le générateur a la même distribution que les données, et le discriminateur est identique à 0. Par conséquent, nous n'analyserons pas la stabilité du système au point de repos, nous irons un peu différemment - nous essaierons d'analyser la stabilité des trajectoires du système . Bien que cette analyse puisse être facilement transférée au point de repos, le point de repos est également une trajectoire.

Comme trajectoires étudiées, nous choisissons les trajectoires obtenues lors de l'entraînement par descente de gradient. Pourquoi est-ce important? Premièrement, nous avons découvert quelle est la trajectoire «optimale» et constaté qu’elle peut être bien approximée par des mises à jour des discriminateurs dans la direction indiquée par la méthode de Newton. Et la méthode de Newton est la méthode la plus dégradée qui utilise les informations des dérivées secondes pour ajuster la direction. Mais la raison principale pour laquelle nous faisons cela est très simple - parce que nous le pouvons. Tout écart par rapport à cela conduit à des formules si folles qu'il est tout simplement impossible de comprendre quoi que ce soit là-bas.

La méthode standard pour analyser la stabilité des trajectoires est d'analyser des modèles linéarisés. Similaire aux auteurs de Quelles méthodes de formation pour les GAN convergent réellement? nous explorerons les trajectoires jacobiennes:

A = \ begin {bmatrix} \ nabla_ \ theta ^ 2 I (\ theta, \ phi) & \ nabla _ {\ theta \ phi} ^ 2 I (\ theta, \ phi) \\ - \ nabla _ {\ theta \ phi} ^ 2 I (\ theta, \ phi) ^ T & - \ nabla_ \ phi ^ 2 I (\ theta, \ phi) \ end {bmatrix}


J=I+ etaA


I Est la matrice d'identité.

Nous supposons que le discriminateur, bien qu'il ne soit pas optimal, est suffisamment proche de celui optimal à effectuer  nabla theta2I( theta, phi) preceq0 . Et aussi que le régularisateur (j'ai déjà mentionné qu'en vrai GAN le discriminateur n'a pas de point optimal et que nous devons créer ce point à l'aide du régularisateur) n'est pas envieux du générateur. Je vais prendre un peu d’avance - le meilleur régularisateur que nous avons trouvé dans la pratique dépend, mais pour nos études théoriques, cette hypothèse ne nous limite pas tellement.

Pour ce qui suit, nous avons besoin d'un fait élémentaire sur les matrices: si  nabla theta2I( theta, phi) preceq0 et  nabla phi2I( theta, phi) succeq0 , alors il y a  eta>0 quelle est la norme spectrale de la matrice J sera inférieur ou égal à 1.
La preuve est élémentaire - nous écrivons JTJ :

JTJ=[I+ etaA]T[I+ etaA]=I+ eta[A+AT+ eta(ATA)]


mais:

A + A ^ T = \ begin {bmatrix} 2 \ nabla_ \ theta ^ 2 I (\ theta, \ phi) & 0 \\ 0 & -2 \ nabla_ \ phi ^ 2 I (\ theta, \ phi) \ fin {bmatrix}


Par conséquent, en raison de la continuité des valeurs propres, il est évident que l'on peut choisir  eta>0 ces valeurs propres JTJ sera inférieur ou égal à 1. De cela découle le fait que nous avons besoin que  gauche |J droite | leqslant1 .

Nous savons que sur notre trajectoire  nabla theta2I( theta, phi) preceq0 effectuée (car la trajectoire est "optimale") et s’il y avait  nabla phi2I( theta, phi) succeq0 alors toute trajectoire (y compris le point d'équilibre) serait stable - c'est-à-dire qu'avec une légère déviation de la trajectoire, le système aurait tendance à y revenir. Cela est évident car toute trajectoire discrète peut être représentée comme le produit des Jacobiens, et le produit de matrices de norme inférieure ou égale à 1 ne peut pas avoir de norme supérieure à 1.

Mais de nombreux faits indiquent que pour le GAN, ce n'est pas toujours le cas. Un exemple frappant est le mode d'effondrement, qui, d'ailleurs, ne se produit pas toujours et pas pour tous les modèles. Je soutiens que la complexité de la formation GAN est liée à deux faits: il n'y a pas de discriminateur optimal (traité par un régularisateur) et le jacobien du générateur n'est pas une matrice définie non négative. Nous allons maintenant essayer de comprendre comment, sinon éliminer complètement le deuxième problème, au moins minimiser son effet sur la durabilité.

Pour ce faire, nous écrivons le jacobien du générateur. Il comprendra trois volets:

J1= intp( epsilon)fG(D theta(G phi( epsilon)))[ nabla phiG phi( epsilon) nablaxD theta(G phi( epsilon))][ nabla phiG phi( epsilon) nablaxD theta(G phi( epsilon))]Td epsilon


J2= intp( epsilon)fG(D theta(G phi( epsilon))) nabla phi2G phi( epsilon) nablaxD theta(G phi( epsilon))d epsilon


J3= intp( epsilon)fG(D theta(G phi( epsilon))) nabla phiG phi( epsilon)T nabla2xD theta(G phi( epsilon)) nabla phiG phi( epsilon)d epsilon


Étant donné que les expressions du jacobien sont très complexes et qu'il est impossible de voir une sorte de structure, toutes nos actions viseront à garantir que ces matrices soient aussi proches de 0 que possible.

J1 on peut voir que ce terme est très facile à réinitialiser - il suffit de sélectionner la fonction fG tel que fG(x)=0 ou pour que le «point de fonctionnement» soit dans la région où la dérivée seconde est proche de 0. Soit dit en passant, le choix de la fonction fG(x)=0 Conforme à WGAN. Le WGAN est-il connu pour sa stabilité?

Les deux autres termes ne peuvent être influencés que par l'architecture des réseaux de neurones. Par exemple, ils sont annulés dans le cas d'un générateur et discriminateur linéaire (les dérivées secondes sont nulles). Soit dit en passant, l'activation de ReLU vient à l'esprit - malheureusement, cette analyse n'est pas applicable pour de tels réseaux, car l'hypothèse de différentiabilité est violée. Mais de par la pratique, on sait que les GAN avec des réseaux de neurones avec des activations linéaires par morceaux sont entraînés beaucoup plus stables qu'avec des tangentes hyperboliques, par exemple. Que cela soit dû au jacobien ou qu'il y ait une autre raison plus importante reste à deviner, mais à l'avenir, je prévois d'étudier un peu cette question.

On peut également conclure que le GAN "préfère" les réseaux larges. En effet, nous savons que le GAN avec des réseaux profonds s'effondre plus souvent.

Conclusion


Dans cet article, j'ai essayé de donner des réponses à des questions de longue haleine dans la théorie du GAN. Vous et moi avons vu que pour qu'un point de repos existe, il suffit que le discriminateur possède des propriétés assez simples. Nous avons également vu que l'interprétation probabiliste (minimisation des divergences) du GAN a tous les droits à la vie et qu'avec un algorithme assez simple on peut très bien se rapprocher des trajectoires «optimales». Et aussi que l'algorithme d'Adam le fait déjà et devrait en théorie stabiliser la formation GAN, ce qui a d'ailleurs été noté dans de nombreux travaux.

Pourtant, ce qui est assez important, nous avons vu que les recommandations empiriques pour choisir l'architecture des réseaux de neurones et les fonctions de perte sont tout à fait cohérentes avec la théorie. Et surtout, tous les problèmes d'apprentissage dus aux non-linéarités - les modèles linéaires sont entraînés de manière très stable.

Qu'est-ce qui est laissé de côté dans l'article? Pratique. Dans le prochain article, je décrirai le régularisateur que j'utilise pour fournir un point de repos au discriminateur et un tas d'astuces pour améliorer la stabilité du processus d'apprentissage GAN (à propos, certains d'entre eux sont motivés par cette analyse).

Et à titre d'exemple, un réseau profond (50 couches de générateur et 50 couches de discriminateur) formé sur le jeu de données de la chambre LSUN (seulement 100 000 itérations et nous n'avons pas utilisé la moyenne du générateur)

Source: https://habr.com/ru/post/fr447494/


All Articles