A ut o -encoder Variational A ut o-Enc od er
Modèles Génératifs : Autoencodeur et
autoencodeur variationnel
M o d è l e s génératifs - Master SDIA 1 / 30
A ut o -encoder Variational A ut o-Enc od er
Plan
1 Auto-encoder
2 Variational Auto-Encoder
M o d è l e s génératifs - Master SDIA 2 / 30
A ut o -encoder Variational A ut o-Enc od er
Auto-encodeur -
récap
Définition
Motivation : compression apprise avec le moins de pertes possible
Soit une variable aléatoire X à valeurs dans Rn. Un réseau
auto-encodeur modélise une fonction H telle que :
||H − x|| ≤ c
L’auto-encodeur se décompose en deux parties :
Un encodeur E : Rn → Rd
Un décodeur D : Rd → Rn
M o d è l e s génératifs - Master SDIA 3 / 30
A ut o -encoder Variational A ut o-Enc od er
Auto-encodeur -
récap
L’auto-encodeur apprend à reconstruire l’entrée. On cherche donc les
poids θ tels que :
θ∗
= argmin L(x, xˆ ) = ||E ◦ D(x) − x||
θ
avec L la fonction de coût eg. erreur quadratique, erreur absolue,
cross-entropy...
M o dèle s génératifs - blo c 2 / cours 2 4 / 30
A ut o -encoder Variational A ut o-Enc od er
Convolutional Auto-
encoder
Figure – Guo et al. ICONIP 2017
M o d è l e s génératifs - Master SDIA 5 / 30
A ut o -encoder Variational A ut o-Enc od er
Clustering
Figure – Guo et al. ICONIP 2017
Figure – Dizaji et al. ICCV 2017
M o d è l e s génératifs - Master SDIA 6 / 30
A ut o -encoder Variational A ut o-Enc od er
Débruitage et inpainting
Figure – Agostinelli et al. Neurips
2013
Figure
–
G
o
n
d
a
r
a
I
C
Figure – Xie et al. Neu-
rips 2012
M o d è l e s génératifs - Master SDIA 7 / 30
A ut o -encoder Variational A ut o-Enc od er
Estimation de
pose
Figure – Hong et al. ITIP 2015
M o d è l e s génératifs - Master SDIA 8 / 30
A ut o -encoder Variational A ut o-Enc od er
AE comme modèle
génératif ?
Motivation : Utiliser le decoder pour générer des données
Tirer un vecteur de taille d aléatoire
Reconstruire l’image correspondant à ce vecteur
M o d è l e s génératifs - Master SDIA 9 / 30
A ut o -encoder Variational A ut o-Enc od er
AE comme modèle
génératif ?
Motivation : Utiliser le decoder pour générer des données
Tirer un vecteur de taille d aléatoire
Reconstruire l’image correspondant à ce vecteur
À quoi peut-on s’attendre ?
1 Une données synthétique crédible
2 Généralement une mauvaise reconstruction
M o dèle s génératifs - blo c 2 / cours 2 9 / 30
A ut o -encoder Variational A ut o-Enc od er
AE comme modèle
génératif ?
Motivation : Utiliser le decoder pour générer des données
Tirer un vecteur de taille d aléatoire
Reconstruire l’image correspondant à ce vecteur
À quoi peut-on s’attendre ?
1 Une données synthétique crédible
2 Généralement une mauvaise reconstruction
Pourquoi ?
1 on ne sait pas où tirer
2 on a pas de garantie que la distribution de l’espace lattent soit
continue
3 la dimension de l’espace lattente est trop grande
4 le modèle n’est pas assez complexe
M o d è l e s génératifs - Master SDIA 9 / 30
A ut o -encoder Variational A ut o-Enc od er
Plan
1 Auto-encoder
2 Variational Auto-Encoder
M o d è l e s génératifs - Master SDIA 1 0 / 30
A ut o -encoder Variational A ut o-Enc od er
Scénario
Soit un jeu de données D = {x1, · · · , xN } de N variables
indépendantes et identiquement distribuées (iid ) correspondant
aux réalisations d’une variable aléatoire x ∈ X.
Soit x ∼ pD, le,processus génératif
M o d è l e s génératifs - Master SDIA 1 1 / 30
A ut o -encoder Variational A ut o-Enc od er
Scénario
Soit un jeu de données D = {x1, · · · , xN } de N variables
indépendantes et identiquement distribuées (iid ) correspondant
aux réalisations d’une variable aléatoire x ∈ X.
Soit x ∼ pD, le,processus génératif
On cherche à représenter le processus génératif pD par un modèle
appris
x est générée par un processus aléatoire impliquant une variable
aléatoire continue z ∈ Z.
M o d è l e s génératifs - Master SDIA 1 1 / 30
A ut o -encoder Variational A ut o-Enc od er
Scénario
Soit un jeu de données D = {x1, · · · , xN } de N variables
indépendantes et identiquement distribuées (iid ) correspondant
aux réalisations d’une variable aléatoire x ∈ X.
Soit x ∼ pD, le,processus génératif
On cherche à représenter le processus génératif pD par un modèle
appris
x est générée par un processus aléatoire impliquant une variable
aléatoire continue z ∈ Z.
1 zi est généré d’après une distribution a priori pθ∗(z)
2 xi est généré suivant la probabilité conditionnelle pθ∗(x|z)
M o d è l e s génératifs - Master SDIA 1 1 / 30
A ut o -encoder Variational A ut o-Enc od er
Objectif
θ∗ et les variables latentes {z1, · · · , zN } sont inconnues
On cherche une paramétrisation θ∗ ∈ Θ permettant de générer x à
partir de z. Une fonction objectif possible : maximiser la
log -vraisemblance sur D :
θˆ = argmax EpD [ log pθ (x) ]
θ
ie. maximiser la vraisemblance marginal d’une donnée x ∼ pθ sur
l’ensemble des observation.
M o d è l e s génératifs - Master SDIA 1 2 / 30
A ut o -encoder Variational A ut o-Enc od er
Exemple simpliste
M o dèle s génératifs - blo c 2 / cours 2 1 3 / 30
A ut o -encoder Variational A ut o-Enc od er
Exemple simpliste
M o d è l e s génératifs - Master SDIA 1 4 / 30
A ut o -encoder Variational A ut o-Enc od er
Cas général
f
θ θ
θ
p (x) = p (z)p (x|z)dz : pas d’expression analytique, pas non
plus pour son gradient
posterior pθ (z|x) : pas d’expression analytique
Le jeu de données est trop large pour échantillonner dans X
Généralement l’espace latent Z est trop grand pour être
échantillonné efficacement
M o d è l e s génératifs - Master SDIA 1 5 / 30
A ut o -encoder Variational A ut o-Enc od er
Cas général
f
θ θ
θ
p (x) = p (z)p (x|z)dz : pas d’expression analytique, pas non
plus pour son gradient
posterior pθ (z|x) : pas d’expression analytique
Le jeu de données est trop large pour échantillonner dans X
Généralement l’espace latent Z est trop grand pour être
échantillonné efficacement
Intuition : On approche le posterior par une distribution qφ(z|x)
paramétrée par φ. Sous réserve que qφ(z|x) soit bien construite, cette
distribution (connue) donne accès à des valeurs de z étant
vraisemblablement à l’origine d’un x.
M o d è l e s génératifs - Master SDIA 1 5 / 30
A ut o -encoder Variational A ut o-Enc od er
Kullback-Leibler
Divergence
Comment choisir qφ(z|x) ?
→ on souhaite avoir une distribution la plus proche possible du vrai
posterior pθ (z|x)
M o d è l e s génératifs - Master SDIA 1 6 / 30
A ut o -encoder Variational A ut o-Enc od er
Kullback-Leibler
Divergence
Comment choisir qφ(z|x) ?
→ on souhaite avoir une distribution la plus proche possible du vrai
posterior pθ (z|x)
→ φˆ = argmin KL (qφ(z|x)||pθ (z|x))
φ
M o d è l e s génératifs - Master SDIA 1 6 / 30
A ut o -encoder Variational A ut o-Enc od er
Kullback-Leibler
Divergence
Définition
La divergence de Kullback-Leigler noté KL est donnée par :
r
q(x)
p(x)
KL (q(x)|| p(x)) = log
q(x)dx
KL (q(x)|| p(x)) = Eq(x)[log q(x) − log p(x)]
M o d è l e s génératifs - Master SDIA 1 7 / 30
A ut o -encoder Variational A ut o-Enc od er
Kullback-Leibler
Divergence
Objectif
φ = argmin KL (qφ(z|x) || pθ (z|x))
φ
KL (qφ(z|x) || pθ (z|x)) = Eqφz|x [log qφ(z|x) − log pθ (z|x)]
= Eqφz|x [log qφ(z|x) − log pθ (x|z) − log pθ (x)] + log pθ (x)
= −Eq φ  z |x  [log pθ (x|z)] + KL (qφ(z|x) || pθ (z)) + log pθ (x)
M o d è l e s génératifs - Master SDIA 1 8 / 30
A ut o -encoder Variational A ut o-Enc od er
Evidence Lower
Bound
KL (qφ(z|x) || pθ (z|x)) = −Eq φ  z |x  [log pθ (x|z)] + KL (qφ(z|x) || pθ (z)) + log pθ (x)
= −L(θ, φ; x) + log pθ (x)
Définition
L’evidence lower bound (ELBO) est définie par
L(θ, φ; x) = Eqφ(z|x) [log pθ (x|z)] − KL (qφ(z|x) || pθ (z))
Minimiser la divergence de Kullback-Leibler KL (qφ(z|x) || pθ (z|x))
revient à maximiser l’ELBO L(θ, φ; x).
M o d è l e s génératifs - Master SDIA 1 9 / 30
A ut o -encoder Variational A ut o-Enc od er
ELBO et fonction objectif
On cherche θ tel que :
θˆ = argmax EpD [ log pθ (x) ]
θ
Or, log pθ (x) = KL (qφ(z|x) || pθ (z|x)) + L(θ, φ; x)
De plus la KL-divergence est positive donc
log pθ (x) ≥ L(θ, φ; x)
Maximiser l’ELBO revient donc à maximiser la
vraisemblance
M o d è l e s génératifs - Master SDIA 2 0 / 30
A ut o -encoder Variational A ut o-Enc od er
Evidence Lower
Bound
L(θ, φ; x) = Eqφ(z|x) [log pθ (x|z)]
Esp
'-
érance de l
._
a
,.
vraisembla
..
nce
− KL (qφ(z|x) || pθ (z))
'-
.. écart a
.
_
u
,
.
prior
M o dèle s génératifs - blo c 2 / cours 2 2 1 / 30
A ut o -encoder Variational A ut o-Enc od er
Evidence Lower
Bound
L(θ, φ; x) = Eqφ(z|x) [log pθ (x|z)]
Esp
'-
érance de l
._
a
,.
vraisembla
..
nce
− KL (qφ(z|x) || pθ (z))
'-
.. écart a
.
_
u
,
.
prior
Quel fonction pour qφ(z|x) ?
→ Un choix naturel : loi normale
→ qφ(z|x) = N(z; µ, σI)
M o d è l e s génératifs - Master SDIA 2 1 / 30
A ut o -encoder Variational A ut o-Enc od er
Evidence Lower
Bound
L(θ, φ; x) = Eqφ(z|x) [log pθ (x|z)]
Esp
'-
érance de l
._
a
,.
vraisembla
..
nce
− KL (qφ(z|x) || pθ (z))
'-
.. écart a
.
_
u
,
.
prior
Quel fonction pour qφ(z|x) ?
→ Un choix naturel : loi normale
→ qφ(z|x) = N(z; µ, σI)
Quel prior pθ (z) ?
→ On cherche un espace lattent structuré
→ Encore une fois : pθ (z) = N(z; 0, I)
M o d è l e s génératifs - Master SDIA 2 1 / 30
A ut o -encoder Variational A ut o-Enc od er
Evidence Lower
Bound
L(θ, φ; x) = Eqφ(z|x) [log pθ (x|z)]
Esp
'-
érance de l
._
a
,.
vraisembla
..
nce
− KL (qφ(z|x) || pθ (z))
'-
.. écart a
.
_
u
,
.
prior
Quel fonction pour qφ(z|x) ?
→ Un choix naturel : loi normale
→ qφ(z|x) = N(z; µ, σI)
Quel prior pθ (z) ?
→ On cherche un espace lattent structuré
→ Encore une fois : pθ (z) = N(z; 0, I)
On alors
φ
θ
1
2
KL(q (z|x)||p (z)) = tr T
(σI) + µ µ − k − log
det
(σI)
)
M o d è l e s génératifs - Master SDIA 2 1 / 30
A ut o -encoder Variational A ut o-Enc od er
Variational Auto-
Encoder
M o d è l e s génératifs - Master SDIA 2 2 / 30
A ut o -encoder Variational A ut o-Enc od er
Variational Auto-
Encoder
M o dèle s génératifs - blo c 2 / cours 2 2 3 / 30
A ut o -encoder Variational A ut o-Enc od er
Variational Auto-
Encoder
Problème : on ne peut pas dériver une opération d’échantillonnage
(sampling ).
M o d è l e s génératifs - Master SDIA 2 3 / 30
A ut o -encoder Variational A ut o-Enc od er
Reparameterization trick
L(θ, φ; x) = Eqφ(z|x) [log pθ (x|z)] − KL (qφ(z|x) || pθ (z))
g
'
-
radient par
._
r
,.
apport à φ
..
?
'
-
expression
.
_
an
,.
alytique ici
..
M o d è l e s génératifs - Master SDIA 2 4 / 30
A ut o -encoder Variational A ut o-Enc od er
Reparameterization trick
L(θ, φ; x) = Eqφ(z|x) [log pθ (x|z)] − KL (qφ(z|x) || pθ (z))
g
'
-
radient par
._
r
,.
apport à φ
..
?
'
-
expression
.
_
an
,.
alytique ici
..
Astuce : z = µ + σ 0 E avec E ∼ N(0,
I)
M o d è l e s génératifs - Master SDIA 2 4 / 30
A ut o -encoder Variational A ut o-Enc od er
Reparameterization trick
L(θ, φ; x) = Eqφ(z|x) [log pθ (x|z)] − KL (qφ(z|x) || pθ (z))
g
'
-
radient par
._
r
,.
apport à φ
..
?
'
-
expression
.
_
an
,.
alytique ici
..
Astuce : z = µ + σ 0 E avec E ∼ N(0, I)
On peut donc calculer le gradient par rapport à une donnée (i) de D :
L(i)
(θ, φ; x(i)
) °'
1
2
d
i
j
j
(i) (i)
j
2
2
(i)
j
1 + log((σ ) ) − (µ ) − (σ )2
)
+
1
L
L
i
l=1
θ
(i) (i,l)
log p (x |z )
avec z(i,l) = µ(i) + σ(i) 0 c(l)
M o d è l e s génératifs - Master SDIA 2 4 / 30
A ut o -encoder Variational A ut o-Enc od er
Reparameterization trick
L(θ, φ; x) = Eqφ(z|x) [log pθ (x|z)] − KL (qφ(z|x) || pθ (z))
g
'
-
radient par
._
r
,.
apport à φ
..
?
'
-
expression
.
_
an
,.
alytique ici
..
Astuce : z = µ + σ 0 E avec E ∼ N(0, I)
Si les batch sont assez larges, on peut ne garder qu’un tirage comme
estimation de l’espérance :
L(i)
(θ, φ; x(i)
) °'
1
2
d
i
j
j
(i) (i)
j
2
2
(i)
j
1 + log((σ ) ) − (µ ) − (σ )2
)
+ log pθ (x(i)
|z(i)
)
avec z(i) = µ(i) + σ(i) 0 c
M o d è l e s génératifs - Master SDIA 2 5 / 30
A ut o -encoder Variational A ut o-Enc od er
Variational Auto-Encoder : final
form
M o d è l e s génératifs - Master SDIA 2 6 / 30
A ut o -encoder Variational A ut o-Enc od er
VAE - générations de
données
Figure – Pu et al. 2016
M o d è l e s génératifs - Master SDIA 2 7 / 30
A ut o -encoder Variational A ut o-Enc od er
VAE - générations de
données
Figure – Razavi et al. 2019
M o d è l e s génératifs - Master SDIA 2 8 / 30
A ut o -encoder Variational A ut o-Enc od er
VAE - interpolation
Figure – Sainburg et al. 2018
M o d è l e s génératifs - Master SDIA 2 9 / 30
A ut o -encoder Variational A ut o-Enc od er
VAE - interpolation
Figure – Deshpande et al. CVPR 2016
M o d è l e s génératifs - Master SDIA 3 0 / 30

Autoencoders_et_variational_autoencoders.pptx

  • 1.
    A ut o-encoder Variational A ut o-Enc od er Modèles Génératifs : Autoencodeur et autoencodeur variationnel M o d è l e s génératifs - Master SDIA 1 / 30
  • 2.
    A ut o-encoder Variational A ut o-Enc od er Plan 1 Auto-encoder 2 Variational Auto-Encoder M o d è l e s génératifs - Master SDIA 2 / 30
  • 3.
    A ut o-encoder Variational A ut o-Enc od er Auto-encodeur - récap Définition Motivation : compression apprise avec le moins de pertes possible Soit une variable aléatoire X à valeurs dans Rn. Un réseau auto-encodeur modélise une fonction H telle que : ||H − x|| ≤ c L’auto-encodeur se décompose en deux parties : Un encodeur E : Rn → Rd Un décodeur D : Rd → Rn M o d è l e s génératifs - Master SDIA 3 / 30
  • 4.
    A ut o-encoder Variational A ut o-Enc od er Auto-encodeur - récap L’auto-encodeur apprend à reconstruire l’entrée. On cherche donc les poids θ tels que : θ∗ = argmin L(x, xˆ ) = ||E ◦ D(x) − x|| θ avec L la fonction de coût eg. erreur quadratique, erreur absolue, cross-entropy... M o dèle s génératifs - blo c 2 / cours 2 4 / 30
  • 5.
    A ut o-encoder Variational A ut o-Enc od er Convolutional Auto- encoder Figure – Guo et al. ICONIP 2017 M o d è l e s génératifs - Master SDIA 5 / 30
  • 6.
    A ut o-encoder Variational A ut o-Enc od er Clustering Figure – Guo et al. ICONIP 2017 Figure – Dizaji et al. ICCV 2017 M o d è l e s génératifs - Master SDIA 6 / 30
  • 7.
    A ut o-encoder Variational A ut o-Enc od er Débruitage et inpainting Figure – Agostinelli et al. Neurips 2013 Figure – G o n d a r a I C Figure – Xie et al. Neu- rips 2012 M o d è l e s génératifs - Master SDIA 7 / 30
  • 8.
    A ut o-encoder Variational A ut o-Enc od er Estimation de pose Figure – Hong et al. ITIP 2015 M o d è l e s génératifs - Master SDIA 8 / 30
  • 9.
    A ut o-encoder Variational A ut o-Enc od er AE comme modèle génératif ? Motivation : Utiliser le decoder pour générer des données Tirer un vecteur de taille d aléatoire Reconstruire l’image correspondant à ce vecteur M o d è l e s génératifs - Master SDIA 9 / 30
  • 10.
    A ut o-encoder Variational A ut o-Enc od er AE comme modèle génératif ? Motivation : Utiliser le decoder pour générer des données Tirer un vecteur de taille d aléatoire Reconstruire l’image correspondant à ce vecteur À quoi peut-on s’attendre ? 1 Une données synthétique crédible 2 Généralement une mauvaise reconstruction M o dèle s génératifs - blo c 2 / cours 2 9 / 30
  • 11.
    A ut o-encoder Variational A ut o-Enc od er AE comme modèle génératif ? Motivation : Utiliser le decoder pour générer des données Tirer un vecteur de taille d aléatoire Reconstruire l’image correspondant à ce vecteur À quoi peut-on s’attendre ? 1 Une données synthétique crédible 2 Généralement une mauvaise reconstruction Pourquoi ? 1 on ne sait pas où tirer 2 on a pas de garantie que la distribution de l’espace lattent soit continue 3 la dimension de l’espace lattente est trop grande 4 le modèle n’est pas assez complexe M o d è l e s génératifs - Master SDIA 9 / 30
  • 12.
    A ut o-encoder Variational A ut o-Enc od er Plan 1 Auto-encoder 2 Variational Auto-Encoder M o d è l e s génératifs - Master SDIA 1 0 / 30
  • 13.
    A ut o-encoder Variational A ut o-Enc od er Scénario Soit un jeu de données D = {x1, · · · , xN } de N variables indépendantes et identiquement distribuées (iid ) correspondant aux réalisations d’une variable aléatoire x ∈ X. Soit x ∼ pD, le,processus génératif M o d è l e s génératifs - Master SDIA 1 1 / 30
  • 14.
    A ut o-encoder Variational A ut o-Enc od er Scénario Soit un jeu de données D = {x1, · · · , xN } de N variables indépendantes et identiquement distribuées (iid ) correspondant aux réalisations d’une variable aléatoire x ∈ X. Soit x ∼ pD, le,processus génératif On cherche à représenter le processus génératif pD par un modèle appris x est générée par un processus aléatoire impliquant une variable aléatoire continue z ∈ Z. M o d è l e s génératifs - Master SDIA 1 1 / 30
  • 15.
    A ut o-encoder Variational A ut o-Enc od er Scénario Soit un jeu de données D = {x1, · · · , xN } de N variables indépendantes et identiquement distribuées (iid ) correspondant aux réalisations d’une variable aléatoire x ∈ X. Soit x ∼ pD, le,processus génératif On cherche à représenter le processus génératif pD par un modèle appris x est générée par un processus aléatoire impliquant une variable aléatoire continue z ∈ Z. 1 zi est généré d’après une distribution a priori pθ∗(z) 2 xi est généré suivant la probabilité conditionnelle pθ∗(x|z) M o d è l e s génératifs - Master SDIA 1 1 / 30
  • 16.
    A ut o-encoder Variational A ut o-Enc od er Objectif θ∗ et les variables latentes {z1, · · · , zN } sont inconnues On cherche une paramétrisation θ∗ ∈ Θ permettant de générer x à partir de z. Une fonction objectif possible : maximiser la log -vraisemblance sur D : θˆ = argmax EpD [ log pθ (x) ] θ ie. maximiser la vraisemblance marginal d’une donnée x ∼ pθ sur l’ensemble des observation. M o d è l e s génératifs - Master SDIA 1 2 / 30
  • 17.
    A ut o-encoder Variational A ut o-Enc od er Exemple simpliste M o dèle s génératifs - blo c 2 / cours 2 1 3 / 30
  • 18.
    A ut o-encoder Variational A ut o-Enc od er Exemple simpliste M o d è l e s génératifs - Master SDIA 1 4 / 30
  • 19.
    A ut o-encoder Variational A ut o-Enc od er Cas général f θ θ θ p (x) = p (z)p (x|z)dz : pas d’expression analytique, pas non plus pour son gradient posterior pθ (z|x) : pas d’expression analytique Le jeu de données est trop large pour échantillonner dans X Généralement l’espace latent Z est trop grand pour être échantillonné efficacement M o d è l e s génératifs - Master SDIA 1 5 / 30
  • 20.
    A ut o-encoder Variational A ut o-Enc od er Cas général f θ θ θ p (x) = p (z)p (x|z)dz : pas d’expression analytique, pas non plus pour son gradient posterior pθ (z|x) : pas d’expression analytique Le jeu de données est trop large pour échantillonner dans X Généralement l’espace latent Z est trop grand pour être échantillonné efficacement Intuition : On approche le posterior par une distribution qφ(z|x) paramétrée par φ. Sous réserve que qφ(z|x) soit bien construite, cette distribution (connue) donne accès à des valeurs de z étant vraisemblablement à l’origine d’un x. M o d è l e s génératifs - Master SDIA 1 5 / 30
  • 21.
    A ut o-encoder Variational A ut o-Enc od er Kullback-Leibler Divergence Comment choisir qφ(z|x) ? → on souhaite avoir une distribution la plus proche possible du vrai posterior pθ (z|x) M o d è l e s génératifs - Master SDIA 1 6 / 30
  • 22.
    A ut o-encoder Variational A ut o-Enc od er Kullback-Leibler Divergence Comment choisir qφ(z|x) ? → on souhaite avoir une distribution la plus proche possible du vrai posterior pθ (z|x) → φˆ = argmin KL (qφ(z|x)||pθ (z|x)) φ M o d è l e s génératifs - Master SDIA 1 6 / 30
  • 23.
    A ut o-encoder Variational A ut o-Enc od er Kullback-Leibler Divergence Définition La divergence de Kullback-Leigler noté KL est donnée par : r q(x) p(x) KL (q(x)|| p(x)) = log q(x)dx KL (q(x)|| p(x)) = Eq(x)[log q(x) − log p(x)] M o d è l e s génératifs - Master SDIA 1 7 / 30
  • 24.
    A ut o-encoder Variational A ut o-Enc od er Kullback-Leibler Divergence Objectif φ = argmin KL (qφ(z|x) || pθ (z|x)) φ KL (qφ(z|x) || pθ (z|x)) = Eqφz|x [log qφ(z|x) − log pθ (z|x)] = Eqφz|x [log qφ(z|x) − log pθ (x|z) − log pθ (x)] + log pθ (x) = −Eq φ  z |x  [log pθ (x|z)] + KL (qφ(z|x) || pθ (z)) + log pθ (x) M o d è l e s génératifs - Master SDIA 1 8 / 30
  • 25.
    A ut o-encoder Variational A ut o-Enc od er Evidence Lower Bound KL (qφ(z|x) || pθ (z|x)) = −Eq φ  z |x  [log pθ (x|z)] + KL (qφ(z|x) || pθ (z)) + log pθ (x) = −L(θ, φ; x) + log pθ (x) Définition L’evidence lower bound (ELBO) est définie par L(θ, φ; x) = Eqφ(z|x) [log pθ (x|z)] − KL (qφ(z|x) || pθ (z)) Minimiser la divergence de Kullback-Leibler KL (qφ(z|x) || pθ (z|x)) revient à maximiser l’ELBO L(θ, φ; x). M o d è l e s génératifs - Master SDIA 1 9 / 30
  • 26.
    A ut o-encoder Variational A ut o-Enc od er ELBO et fonction objectif On cherche θ tel que : θˆ = argmax EpD [ log pθ (x) ] θ Or, log pθ (x) = KL (qφ(z|x) || pθ (z|x)) + L(θ, φ; x) De plus la KL-divergence est positive donc log pθ (x) ≥ L(θ, φ; x) Maximiser l’ELBO revient donc à maximiser la vraisemblance M o d è l e s génératifs - Master SDIA 2 0 / 30
  • 27.
    A ut o-encoder Variational A ut o-Enc od er Evidence Lower Bound L(θ, φ; x) = Eqφ(z|x) [log pθ (x|z)] Esp '- érance de l ._ a ,. vraisembla .. nce − KL (qφ(z|x) || pθ (z)) '- .. écart a . _ u , . prior M o dèle s génératifs - blo c 2 / cours 2 2 1 / 30
  • 28.
    A ut o-encoder Variational A ut o-Enc od er Evidence Lower Bound L(θ, φ; x) = Eqφ(z|x) [log pθ (x|z)] Esp '- érance de l ._ a ,. vraisembla .. nce − KL (qφ(z|x) || pθ (z)) '- .. écart a . _ u , . prior Quel fonction pour qφ(z|x) ? → Un choix naturel : loi normale → qφ(z|x) = N(z; µ, σI) M o d è l e s génératifs - Master SDIA 2 1 / 30
  • 29.
    A ut o-encoder Variational A ut o-Enc od er Evidence Lower Bound L(θ, φ; x) = Eqφ(z|x) [log pθ (x|z)] Esp '- érance de l ._ a ,. vraisembla .. nce − KL (qφ(z|x) || pθ (z)) '- .. écart a . _ u , . prior Quel fonction pour qφ(z|x) ? → Un choix naturel : loi normale → qφ(z|x) = N(z; µ, σI) Quel prior pθ (z) ? → On cherche un espace lattent structuré → Encore une fois : pθ (z) = N(z; 0, I) M o d è l e s génératifs - Master SDIA 2 1 / 30
  • 30.
    A ut o-encoder Variational A ut o-Enc od er Evidence Lower Bound L(θ, φ; x) = Eqφ(z|x) [log pθ (x|z)] Esp '- érance de l ._ a ,. vraisembla .. nce − KL (qφ(z|x) || pθ (z)) '- .. écart a . _ u , . prior Quel fonction pour qφ(z|x) ? → Un choix naturel : loi normale → qφ(z|x) = N(z; µ, σI) Quel prior pθ (z) ? → On cherche un espace lattent structuré → Encore une fois : pθ (z) = N(z; 0, I) On alors φ θ 1 2 KL(q (z|x)||p (z)) = tr T (σI) + µ µ − k − log det (σI) ) M o d è l e s génératifs - Master SDIA 2 1 / 30
  • 31.
    A ut o-encoder Variational A ut o-Enc od er Variational Auto- Encoder M o d è l e s génératifs - Master SDIA 2 2 / 30
  • 32.
    A ut o-encoder Variational A ut o-Enc od er Variational Auto- Encoder M o dèle s génératifs - blo c 2 / cours 2 2 3 / 30
  • 33.
    A ut o-encoder Variational A ut o-Enc od er Variational Auto- Encoder Problème : on ne peut pas dériver une opération d’échantillonnage (sampling ). M o d è l e s génératifs - Master SDIA 2 3 / 30
  • 34.
    A ut o-encoder Variational A ut o-Enc od er Reparameterization trick L(θ, φ; x) = Eqφ(z|x) [log pθ (x|z)] − KL (qφ(z|x) || pθ (z)) g ' - radient par ._ r ,. apport à φ .. ? ' - expression . _ an ,. alytique ici .. M o d è l e s génératifs - Master SDIA 2 4 / 30
  • 35.
    A ut o-encoder Variational A ut o-Enc od er Reparameterization trick L(θ, φ; x) = Eqφ(z|x) [log pθ (x|z)] − KL (qφ(z|x) || pθ (z)) g ' - radient par ._ r ,. apport à φ .. ? ' - expression . _ an ,. alytique ici .. Astuce : z = µ + σ 0 E avec E ∼ N(0, I) M o d è l e s génératifs - Master SDIA 2 4 / 30
  • 36.
    A ut o-encoder Variational A ut o-Enc od er Reparameterization trick L(θ, φ; x) = Eqφ(z|x) [log pθ (x|z)] − KL (qφ(z|x) || pθ (z)) g ' - radient par ._ r ,. apport à φ .. ? ' - expression . _ an ,. alytique ici .. Astuce : z = µ + σ 0 E avec E ∼ N(0, I) On peut donc calculer le gradient par rapport à une donnée (i) de D : L(i) (θ, φ; x(i) ) °' 1 2 d i j j (i) (i) j 2 2 (i) j 1 + log((σ ) ) − (µ ) − (σ )2 ) + 1 L L i l=1 θ (i) (i,l) log p (x |z ) avec z(i,l) = µ(i) + σ(i) 0 c(l) M o d è l e s génératifs - Master SDIA 2 4 / 30
  • 37.
    A ut o-encoder Variational A ut o-Enc od er Reparameterization trick L(θ, φ; x) = Eqφ(z|x) [log pθ (x|z)] − KL (qφ(z|x) || pθ (z)) g ' - radient par ._ r ,. apport à φ .. ? ' - expression . _ an ,. alytique ici .. Astuce : z = µ + σ 0 E avec E ∼ N(0, I) Si les batch sont assez larges, on peut ne garder qu’un tirage comme estimation de l’espérance : L(i) (θ, φ; x(i) ) °' 1 2 d i j j (i) (i) j 2 2 (i) j 1 + log((σ ) ) − (µ ) − (σ )2 ) + log pθ (x(i) |z(i) ) avec z(i) = µ(i) + σ(i) 0 c M o d è l e s génératifs - Master SDIA 2 5 / 30
  • 38.
    A ut o-encoder Variational A ut o-Enc od er Variational Auto-Encoder : final form M o d è l e s génératifs - Master SDIA 2 6 / 30
  • 39.
    A ut o-encoder Variational A ut o-Enc od er VAE - générations de données Figure – Pu et al. 2016 M o d è l e s génératifs - Master SDIA 2 7 / 30
  • 40.
    A ut o-encoder Variational A ut o-Enc od er VAE - générations de données Figure – Razavi et al. 2019 M o d è l e s génératifs - Master SDIA 2 8 / 30
  • 41.
    A ut o-encoder Variational A ut o-Enc od er VAE - interpolation Figure – Sainburg et al. 2018 M o d è l e s génératifs - Master SDIA 2 9 / 30
  • 42.
    A ut o-encoder Variational A ut o-Enc od er VAE - interpolation Figure – Deshpande et al. CVPR 2016 M o d è l e s génératifs - Master SDIA 3 0 / 30