0% ont trouvé ce document utile (0 vote)
4 vues30 pages

Introduction aux GAN et leur optimisation

Le document traite des réseaux génératifs, en se concentrant sur les GAN (Generative Adversarial Networks) et leur fonctionnement basé sur une approche de théorie des jeux. Il aborde les défis d'entraînement, les améliorations apportées aux GAN, ainsi que des méthodes d'évaluation de la qualité des images générées. Des concepts comme la distance de Wasserstein et le CycleGAN pour le transfert de style sont également discutés.

Transféré par

ben ibrahim roua
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues30 pages

Introduction aux GAN et leur optimisation

Le document traite des réseaux génératifs, en se concentrant sur les GAN (Generative Adversarial Networks) et leur fonctionnement basé sur une approche de théorie des jeux. Il aborde les défis d'entraînement, les améliorations apportées aux GAN, ainsi que des méthodes d'évaluation de la qualité des images générées. Des concepts comme la distance de Wasserstein et le CycleGAN pour le transfert de style sont également discutés.

Transféré par

ben ibrahim roua
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Réseau génératif

Mapper une valeur de basse Réseau


dimension vers sortie de génératif
haute dimension (image)

Valeur aléatoire : z

Exemple : Variational Autoencoder (VAE)


GAN

2
GAN
• Approche inspirée de la théorie
des jeux
• Réseau génératif : essaie de
confondre le réseau discriminatif
• Réseau discriminatif (critique) :
?
essaie de distinguer entre les
images réels et les fausses ?

3
Ian Goodfellow et al., “Generative Adversarial Nets”, NIPS 2014
GAN
Générateur cherche à
produire des images vrai ou faux
quelconques ressemblant à
Réseau
celles d’un jeu de données discriminatif

Fausses
images
(générées)
Vraies images (données
d’entraînement)
Réseau
génératif

Valeur aléatoire : z 4
GAN
• Ne cherche pas à modéliser explicitement
la densité (manifold)
• Approche inspirée de la théorie des jeux :
jeu minimax à 2 joueurs

5
GAN
• Discriminateur D (sortie 0 à 1) change ses
poids afin de maximiser V

1 0

Vraies Fausses
données données

log(1) = 0
log(0.1) = -1
log(0) = -Inf 6
GAN
• Générateur G (sortie image) cherche à
confondre le discriminateur D, afin de
minimiser V

0 1

Vraies Fausses
données données

log(1) = 0
log(0.1) = -1
log(0) = -Inf 7
Entraîner le GAN
• Pour cette fonction objective V

• Alternance entre :
– Montée du gradient pour le discriminateur

– Descente du gradient pour le générateur


]

8
Instabilité entrainement
• Cette fonction de perte de G est peu commode
]

… mais le faible gradient


empêche un bon
Bon gradient inutile, car
apprentissage
le générateur confond
bien le discriminateur

Discriminateur a
démasqué le générateur
9
Version améliorée 1
• Montée de gradient pour le générateur
] max
G [log( D(G ( z )))]

Gradient plus fort


là où ça importe

En bref, la forme de la fonction de perte importe beaucoup! 10


Algorithme ca. 2016

11
Version améliorée 2
• Fonction perte précédente difficile à
entraîner
• Autre interprétation du GAN : on veut
que les distributions D(G(z)) et D(x) soient
les plus proches possibles
• Métrique de distance sur distributions
• Perte sur distance Wasserstein
– Earth mover distance (distance du cantonnier)
– (quantité déplacée) x (distance déplacement)

12
Distance de Wasserstein
Mesurer la
distance entre ces Distance Wasserstein discrète = 2+2+1 = 5
2 distributions

+2 +2 +1

13
[Link]
Comparaison des
distances
KL : Kullback-Leibler
JS : Jensen-Shannon
W : Wasserstein
q

q =0

Pas besoin d’avoir


le même support

q 0

14
WGAN

fw doit être K-lipschitzienne

“Weight clipping is a clearly terrible way to enforce a


Lipschitz constraint”

15
M. Arjovsky, S. Chintala, and L. Bottou. Wasserstein gan. arXiv preprint arXiv:1701.07875, 2017.
WGAN-GP (Gulrajani et al., 2017)

Plus de weight clipping!

16
Mode collapse
• Rappel : le GAN génère des images
quelconques (on ne peut spécifier
explicitement le type d’image désiré)
• Générateur risque de perfectionner
un/quelques styles d’image

Significant degree of mode collapse in the GAN MLP [1]

17
[1] Arjovsky et al., Wasserstein GAN, arxiv:1701.07875, 2017.
Métrique d’évaluation

• Classification d’image : précision


• GAN : quantifier le taux de réalisme!
• Problématique similaire à la traduction
– BLEU score n’est pas toujours représentatif
• Parfois recourt à Amazon Mechanical Turk,
pour exploiter jugment humain

18
Inception score IS
• Réseau Inception préentrainé sur ImageNet
• IS Corrèle bien avec scores humains sur CIFAR-10
images générées p est calculé avec Inception

• Plus IS est grand, mieux c’est


• Relié à l’information mutuelle entre marginal et
conditionnel :
– Inception est confiant qu’il n’y a qu’un objet dans
l’image → p(y|x) a une faible entropie
– Genérateur produit une grande variété d’image → p(y)
a une grande entropie
19
Baratt et al. , A Note on the Inception Score, [Link]
GAN MLP→CNN
• Approches précédentes basées sur MLP
• Radford et al. proposent des règles pour
utiliser des CNN : DCGAN

Radford et al, “Unsupervised Representation Learning with Deep Convolutional


20
Generative Adversarial Networks”, ICLR 2016
Résultats (64x64 pixels)

Entraîné sur LSUN bedroom dataset, 3 millions d’images. 22


Interpolation sur z
• Permet d’évaluer si le réseau a appris par cœur
() ou non (☺) les données d’entrainement
• Absence de transitions brusques est bon signe!

23
Algèbre sur z

24
Algèbre sur z

25
CycleGAN
• Pour effectuer des transferts de style

26
Zhu et al., Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks, ICCV 2017.
CycleGAN : faiblement supervisé
• Pas besoin d’apparier les images

27
CycleGAN : faiblement supervisé

x G ( x) F (G ( x))

28
Progressive Growth of GAN
• Cherche à
– stabiliser l’entraînement des
GAN
– augmenter la qualité
– la taille des images de sorties :
1024x1024
• Idées maîtresses :
– faire croitre graduellement le
GAN
– ajouter heuristique pour
encourager la diversité des
images générées (mode collapse)

29
Karras et al., Progressive Growing of GANs for Improved Quality, Stability, and Variation, ICLR 2018.
Croissance progressive
• Permet au réseau de découvrir les structures à
grande échelle, puis de raffiner vers le détail
• Plus rapide, car entrainement majoritairement sur
des images plus petites (gain 2x-6x)

Note : détails fins


sont généralement
problématiques
pour GAN

30
Croissance progressive
• Fondu progressif avec a (0→1) à l’ajout d’une couche
– éviter les chocs/instabilités au moment de l’ajout
– simplifie la problématique, au lieu d’essayer de trouver
directement z→1024² (shaping)

Couches
jamais
gelées

31
Contrer le mode collapse
• Ajout d’un heuristique basé sur des écarts-
types pour chaque minibatch
1. Pour chaque feature et
chaque endroit, calcule  f
( x, y )

2. Moyenne globale
unique de  (f x , y )

3. Ajoute un feature
map dans D contant
cette valeur unique,
pour toute la batch
(ajouté vers sommet
de D)
32

Vous aimerez peut-être aussi