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