30
1 / 24 RCP211 – Réseaux génératifs antagonistes pix2pix – images HD – espaces latents Nicolas Audebert [email protected] Conservatoire national des arts & métiers 24 novembre 2021

RCP211 – Réseaux génératifs antagonistes

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: RCP211 – Réseaux génératifs antagonistes

1 / 24

RCP211 – Réseaux génératifsantagonistes

pix2pix – images HD – espaces latents

Nicolas Audebert [email protected]

Conservatoire national des arts & métiers

24 novembre 2021

Page 2: RCP211 – Réseaux génératifs antagonistes

Rappels 1 / 24

Plan du cours

1 Rappels

2 Extensions des GAN conditionnels pour les images

3 GAN pour la synthèse d’images à haute résolution

4 Espace latent et contrôle des GAN

Page 3: RCP211 – Réseaux génératifs antagonistes

Rappels 2 / 24

Principe des GAN

Jeu minimax en opposition entre G et D :maxϕ Ex∼pdata [log Dϕ(x)] + Ex∼p(x[log(1− x)] : trouver lesparamètres de D qui séparent les données réelles des donnéessynthétiques.minθ Ez∼p(z)[log(1− Dϕ(Gθ(z)))] : trouver les paramètres de G quiproduisent des données qui trompent D.

Page 4: RCP211 – Réseaux génératifs antagonistes

Rappels 3 / 24

Schéma récapitulatif

Donnéesréelles

Page 5: RCP211 – Réseaux génératifs antagonistes

Extensions des GAN conditionnels pour les images 3 / 24

Plan du cours

1 Rappels

2 Extensions des GAN conditionnels pour les images

3 GAN pour la synthèse d’images à haute résolution

4 Espace latent et contrôle des GAN

Page 6: RCP211 – Réseaux génératifs antagonistes

Extensions des GAN conditionnels pour les images 4 / 24

GAN conditionnel convolutif

Schéma extrait de Suh et al., 2019

Formule du GAN conditionnelJeu minimax à deux joueurs, conditionné sur une variable aléatoire y :

minG

maxD

V(D,G) = Ex∼p(x)[log D(x|y)] + Ez∼pz(z)[log(1− D(G(z|y)))]

Page 7: RCP211 – Réseaux génératifs antagonistes

Extensions des GAN conditionnels pour les images 4 / 24

GAN conditionnel convolutif

Schéma extrait de Suh et al., 2019

ProblèmeLe discriminateur renvoie une unique réponse “réel” ou “faux” pour toutel’image.→ le GAN ne capture que la structure globale de l’image

Page 8: RCP211 – Réseaux génératifs antagonistes

Extensions des GAN conditionnels pour les images 5 / 24

PatchGAN

Schéma extrait de Demir et Unal, 2018

PatchGAN produit une carte deprédictions “réel/faux”. Chaque pixelde la carte de sortie correspond àune région de l’image d’entrée dudiscriminateur.

PatchGANPatchGAN est une architecture dediscriminateur proposée par Isola et al.(2017) dans l’article pix2pix.Principe : on ne conserve que la partieconvolutive du discriminateur.

→ le discriminateur agrège des décisionslocales→ D optimise la moyenne des entropiescroisées sur toutes les prédictions (i, j)

Page 9: RCP211 – Réseaux génératifs antagonistes

Extensions des GAN conditionnels pour les images 6 / 24

pix2pix : principe

pix2pixIsola et al., Image-to-Image Translation with Conditional Adversarial Nets,2017Principe : convertir des images d’un domaine A vers un domaine B à partir depaires existantes.Architecture : DCGAN conditionné à une image avec un discriminateurPatchGAN.

Page 10: RCP211 – Réseaux génératifs antagonistes

Extensions des GAN conditionnels pour les images 7 / 24

pix2pix : architecture

EncodeurModèle entièrement convolutif :U-NetEntrée : image du domaine ASortie : image du domaine B

DiscriminateurPatchGANEntrée : image (réelle ou fausse)Sortie : une prédiction par région

Page 11: RCP211 – Réseaux génératifs antagonistes

Extensions des GAN conditionnels pour les images 8 / 24

pix2pix : optimisation

Optimisationpix2pix est une méthode supervisée : il est nécessaire d’avoir des pairesd’images. On optimise :

minG

maxD

LGAN + λLdata(G)

avec une double fonction de coût :Attache aux données : Ldata(G) = Ex,y,z[∥y − G(x, z)∥1]GAN : LGAN(G,D) = Ey[log D(y)] + Ex,z[log(1− D(G(x, z))]

avec x les images source, y les images cible et z un bruit.

Interprétation : la perte L1 capte les basses fréquences (= structure globale)tandis que PatchGAN intègre les hautes fréquences (= détails). Le GAN agitcomme une régularisation perceptuelle.

Page 12: RCP211 – Réseaux génératifs antagonistes

Extensions des GAN conditionnels pour les images 9 / 24

CycleGAN

Peut-on réaliser la “traduction” d’image sans paires pour la supervision ?CycleGANZhu et al., Unpaired Image-to-Image Translation using Cycle-ConsistentAdversarial Networks, 2018Extension non supervisée de pix2pix

Principe : pour apprendre la transformation G : X → Y sans pairesd’exemples, on apprend aussi la transformation inverse F : Y → X.On souhaite avoir une idempotence du cycle F ◦ G (et G ◦ F) :

x → G(x) → F(G(x)) ≈ x (cohérence avant),y → F(y) → G(F(y)) ≈ y (cohérence arrière).

Page 13: RCP211 – Réseaux génératifs antagonistes

Extensions des GAN conditionnels pour les images 10 / 24

CycleGAN : fonctionnementOn dispose d’images x ∈ X et y ∈ Y. Il n’y a pas de correspondances entreles images.

Le modèle apprend G : X → Y et F : Y → X par deux GAN :

LGAN(G,DY,X,Y) = Ey∼p(y)[log DY(y)] + E ∼ p(x)[log(1− DY(G(x)))]

et impose une contrainte de cohérence cyclique :

Lcyc(G,F) = Ex∼p(x)[∥F(G(x))− x∥1] + Ey∼p(y)[∥G(F(y))− y∥1]

Page 14: RCP211 – Réseaux génératifs antagonistes

Extensions des GAN conditionnels pour les images 11 / 24

CycleGAN : résultats

Page 15: RCP211 – Réseaux génératifs antagonistes

GAN pour la synthèse d’images à haute résolution 11 / 24

Plan du cours

1 Rappels

2 Extensions des GAN conditionnels pour les images

3 GAN pour la synthèse d’images à haute résolution

4 Espace latent et contrôle des GAN

Page 16: RCP211 – Réseaux génératifs antagonistes

GAN pour la synthèse d’images à haute résolution 12 / 24

PGGAN

Principe : progressivement ajouter des couches au générateur et audiscriminateur pour raffiner les images à basse résolution en images hauterésolution.Karras et al., Progressive Growing of GANs for Improved Quality, Stability and Variation, 2018

Page 17: RCP211 – Réseaux génératifs antagonistes

GAN pour la synthèse d’images à haute résolution 13 / 24

PGGAN : ajout d’une couche

(a) Générateur à l’échelle 16× 16(b) Transition : α contrôle l’interpolation entre la nouvelle couche(32× 32) et la couche précédente 16× 16 réinterpolée(c) Générateur à l’échelle 32× 32

Page 18: RCP211 – Réseaux génératifs antagonistes

GAN pour la synthèse d’images à haute résolution 14 / 24

PGGAN : PixelNorm

Problème du jeu minimax : les normes des paramètres du générateur etdu discriminateur peuvent parfois croître sans limite.

PixelNorm : pixelwise feature vector normalizationLes activations ax,y après chaque couche convolutive du générateur sontnormalisées selon une variante de la Local Response Normalization (Krizhesvky

et al., 2012) :

bx,y =ax,y√

1N∑N−1

j=0 (ajx,y)2

→ normalise les activations et permet de contrôler l’amplitude desparamètres

Page 19: RCP211 – Réseaux génératifs antagonistes

GAN pour la synthèse d’images à haute résolution 15 / 24

StyleGAN

Principe : version“améliorée” dePGGAN, le codez ∈ Z est transforméen style w ∈ W. Cestyle est injecté dansles différentes couchesdu générateur.

Karras et al., A Style-Based Generator Architecture for Generative Adversarial Networks, 2019

Page 20: RCP211 – Réseaux génératifs antagonistes

GAN pour la synthèse d’images à haute résolution 16 / 24

StyleGAN : astuces

Adaptive Instance Normalization (AdaIN)

AdaINw est décomposé par unetransformation affine eny = (ys,yb).Le style permet ensuite de contrôlerchaque carte de caractéristiquesaprès une convolution dans l’AdaIN :

AIN(xi,y) = ys,ixi − µ((xi)

σ(xi)+ yb,i

Page 21: RCP211 – Réseaux génératifs antagonistes

GAN pour la synthèse d’images à haute résolution 16 / 24

StyleGAN : astucesStyle mixing : on remplace aléatoirement certains styles w par le style w′

d’une autre image.

Page 22: RCP211 – Réseaux génératifs antagonistes

GAN pour la synthèse d’images à haute résolution 17 / 24

StyleGAN : troncaturePour simplifier l’échantillonnage, on considère une distribution tronquée :

w′ = w + ψ (w − w)

où w = Ez∼p(z)[f((z)] est le centre de masse de W.G(w) est l’image “moyenne” et s’en éloigner dans une direction ou sonopposée “inverse” une image :

Page 23: RCP211 – Réseaux génératifs antagonistes

GAN pour la synthèse d’images à haute résolution 18 / 24

StyleGAN : espace des styles

L’espace de style W permet d’obtenir un espace latent structurédifféremment de l’a priori gaussien de Z. Le style correspond à unembedding que l’on espère plus interprétable.

Page 24: RCP211 – Réseaux génératifs antagonistes

Espace latent et contrôle des GAN 18 / 24

Plan du cours

1 Rappels

2 Extensions des GAN conditionnels pour les images

3 GAN pour la synthèse d’images à haute résolution

4 Espace latent et contrôle des GAN

Page 25: RCP211 – Réseaux génératifs antagonistes

Espace latent et contrôle des GAN 19 / 24

Espace latent

L’espace latent des modèles génératifs permet de parcourir la distributiondes données synthétiques.Mais les directions de l’espace latent n’ont en général pas de significationparticulière. Les attributs sémantiques d’une image sont mélangés : onparle d’entanglement.Comment explorer cet espace latent pour :

comprendre la structure des données ?interpréter sémantiquement les variations statistiques latentes ?modifier une donnée réelle de façon plausible ?

Page 26: RCP211 – Réseaux génératifs antagonistes

Espace latent et contrôle des GAN 20 / 24

Manipulation d’image

Pour une image générée G(z) = x, comment déplacer z de sorte à produireun effet donné sur x (e.g.pose, expression, couleur, etc.) ?

ProblématiqueComment trouver des directions sémantiques dans l’espace latent ?

Idée naïve : arithmétique des vecteurs dans l’espace latent« homme avec lunettes » - « homme sans lunettes » + « femme sanslunettes » = « femme avec lunettes »

Page 27: RCP211 – Réseaux génératifs antagonistes

Espace latent et contrôle des GAN 21 / 24

InterFaceGAN

Prérequis : un classifieur C capable d’identifier un attribut binairey ∈ {0, 1}.Objectif : trouver une direction d ∈ Z qui permet de contrôler la présencede l’attribut y dans les images générées G(z).Shen et al., Interpreting the latent space of GANs for semantic face editing, 2020

Algorithme1 Échantillonner N codes latents2 Générer les N images xi correspondantes3 Obtenir les pseudo-étiquettes yi = C(G(zi)) grâce au classifieur4 Conserver les n codes latents z+i (resp. z−i ) qui ont produit les images qui

obtiennent les scores les plus élevés (resp. les plus faibles)5 Trouver la direction d comme la normale à l’hyperplan séparateur d’une

SVM linéaire qui séparent Z+ et Z−

Page 28: RCP211 – Réseaux génératifs antagonistes

Espace latent et contrôle des GAN 22 / 24

GANSpaceHärkönen et al., Discovering Interpretable GAN Controls, 2020

PrincipeGANSpace exploite la structure de W et applique une ACP dans l’espace latentde StyleGAN.La découverte des directions est non-supervisée mais leur sémantique estinterprétée a posteriori.

Page 29: RCP211 – Réseaux génératifs antagonistes

Espace latent et contrôle des GAN 23 / 24

Édition d’image

Modifier une image existantePour modifier une image réelle, il est nécessaire de connaître son équivalentz dans l’espace latent : c’est le problème de l’inversion d’image.

Comparaison GAN/VAEUn auto-encodeur (variationnel) possède un encodeur qui réalise uneprojection X → Z. Ce n’est pas le cas des GAN.

Recherche par descente de gradientUne solution coûteuse pour retrouver z∗ qui génère une image cible xconsiste à minimiser :

minz∈Z

∥G(z)− x∥p

par descente de gradient.

Page 30: RCP211 – Réseaux génératifs antagonistes

Espace latent et contrôle des GAN 24 / 24

Apprentissage d’un encodeur pour l’inversion

Une solution moins coûteuse que la descente de gradient consiste àapprendre un réseau de neurones P paramétré par θ qui réalise laprojection X → Z.Algorithme

1 Échantillonner n codes zi et les images G(zi) = xi correspondantes2 Apprendre P par descente de gradient :θ∗P = arg minθ

∑ni=1 L(G(P(zi; θ)), zi)

3 Pour une image x′, le code associé est z′ = P(x′).

Une approche rapide et performante consiste à utiliser z = P(x) commeinitialisation pour une recherche par descente de gradient. (Zhu et al., 2016)