Professional Documents
Culture Documents
Generative Models
Generative Models
Ikasketa gainbegiratua
• Datuak ( x, y)
• x: datua
• y: etiketa
• Helburua: ikasi funtzio bat x → y
mapaketa ikasteko
• Adibideak: Sailkapena, erregresioa,
objektu ezagutzaileak, Entitate
Izendunen Ezagutza, etc.
2
Ikasketa gainbegiratu vs. ez gainbegiratua
Ikasketa gainbegiratua
• Datuak ( x, y)
• x: datua
• y: etiketa
• Helburua: ikasi funtzio bat x → y
mapaketa ikasteko
• Adibideak: Sailkapena,
erregresioa, objektu
ezagutzaileak, Entitate CC0 lizentzia
Izendunen Ezagutza, etc.
3
Ikasketa gainbegiratu vs. ez gainbegiratua
Ikasketa gainbegiratua
• Datuak ( x, y)
• x: datua
• y: etiketa
• Helburua: ikasi funtzio bat x → y
mapaketa ikasteko
• Adibideak: Sailkapena,
erregresioa, objektu
ezagutzaileak, Entitate
Izendunen Ezagutza, etc. CC0 lizentzia
4
Ikasketa gainbegiratu vs. ez gainbegiratua
5
Ikasketa gainbegiratu vs. ez gainbegiratua
Ikasketa ez gainbegiratua
• Datuak x
• datuak bakarrik, etiketarik
ez
• Helburua: Datuen egitura
ezkutua ikastea.
• Adibideak: Clustering,
ezaugarriak ikasi (feature
learning), dentsitate estimazioa,
etab. CC0 lizentzia
6
Ikasketa gainbegiratu vs. ez gainbegiratua
Ikasketa ez gainbegiratua
• Datuak x
• datuak bakarrik,
etiketarik ez
• Helburua: Datuen
egitura ezkutua ikastea.
• Adibideak: Clustering,
ezaugarriak ikasi (feature
learning), dentsitate
estimazioa, etab.
7
Eredu diskriminatzaile vs
sortzaileak
Eredu diskriminatzaile vs sortzaileak
8
Eredu diskriminatzaile vs sortzaileak
Probabilitatea labur
Dentsitate-funtzioa
• Marko probabilistikoak, ereduak
• p( x ) zenbaki positiboa esleitzen dio x
errepresentatzeko balio dutenak.
bakoitzari. Zenbaki handia bada → x
• Ereduek datuaren gainean banaketa probableagoa.
probabilistikoa doitzea dute helburu: • Dentsitate-funtzioak normalizatuak
daude:
• Diskriminatzaile: p(y | x ) Z
• Sortzaile: p( x ) p( x ) dx = 1
X
• Sortzaile baldintzatua: p( x | y)
• x balio desberdinak dentsitatea
lortzeko lehian daude.
9
Eredu diskriminatzaile vs sortzaileak
10
Eredu diskriminatzaile vs sortzaileak
• Diskriminatzaile: p(y | x )
Iturri https://web.eecs.umich.edu/ jus-
tincj/slides/eecs498/498 FA2019 lecture19.pdf
• Diskriminatzaile:
• etiketak lehiatzen dira dentsitatea
eskuratzeko.
• irudien arteko lehiarik ez.
11
Eredu diskriminatzaile vs sortzaileak
• Diskriminatzaile:
• Sarrera “arraroak” (probabilitate
gutxikoak) detektatzeko modurik ez.
• Etiketa guztiei esleitu behar zaie
probabilitate-masa.
12
Eredu diskriminatzaile vs sortzaileak
• Marko probabilistikoak,
ereduak errepresentatzeko
balio dutenak.
13
Eredu diskriminatzaile vs sortzaileak
• Sortzaile baldintzatua:
p( x | y) Iturri https://web.eecs.umich.edu/ justincj/slides/eecs498/498 FA2019 lecture19.pdf
• Sortzaile baldintzatua:
• Etiketa bakoitzak irudien arteko lehia sortzen du.
• Sailkapena: y = argmaxy P( x | y).
• P( x | y) txikia bada ∀y, ukatu x.
14
Eredu sortzaile vs. sortzaile baldintzatuak
P(y | x )
P( x | y) = P( x )
P(y)
15
Zer egin daiteke eredu hauekin?
16
Zer egin daiteke eredu hauekin?
16
Zer egin daiteke eredu hauekin?
16
Eredu sortzaileen taxonomia
17
Eredu autoerregresiboak
Dentsitate-estimazio esplizitua
18
Dentsitate-estimazio esplizitua
pθ ( x ) = p ( x1 , . . . , x n )
= p ( x1 ) p ( x2 | x1 ) p ( x3 | x1 , x2 ) . . .
n
= ∏ p ( x i | x 1 , . . . , x i −1 )
i =1
19
Auto-kodetzaile Bariazionala
(Variational Autoencoders)
Auto-kodetzaile Bariazionala (Variational Autoencoders)
20
Autokodetzaileak (ez bariazionalak)
21
Autokodetzaileak (ez bariazionalak)
f enc ( x ) = z
f dec (z) = x̂
22
Autokodetzaileak (ez bariazionalak)
23
Autokodetzaileak (ez bariazionalak)
• Pros
• Metodo elegantea eta ez-gainbegiratua.
• Oso malgua.
• Cons
• Praktikan ez dute hain emaitza ona ematen.
• Ez dira probabilistikoak, ezin dituzte datu berriak sortu.
24
Inferentzia bariazionala (autokodetzailea ez)
25
Inferentzia bariazionala (autokodetzailea ez)
• Probabilitateak:
p(z) Dadoa aukeratzeko probabilitatea.
p( x | z) zenbakien probabilitatea, dadoa aukeratu eta gero.
p(z | x ) Dadoen probabilitatea, zebakiak jakinda. Hau da nahi dugun
probabilitatea.
26
Inferentzia bariazionala (autokodetzailea ez)
27
Inferentzia bariazionala (autokodetzailea ez)
q( x )
• Gogoratu KL diberjentzia: KL( p || q) = − ∑ p( x ) log p( x)
• banaketen arteko distantzia neurtzen du.
• beti ≥ 0
• ez simetrikoa: KL( p || q) ̸= KL(q || p)
28
Inferentzia bariazionala (autokodetzailea ez)
p(z| x )
KL(q(z)|| p(z| x )) = − ∑ q(z) log
z q(z)
p( x |z) p(z) p( x, z)
p(z| x ) = =
p( x ) p( x )
p( x, z)
KL(q(z)|| p(z| x )) = − ∑ q(z) log + ∑ q(z) log p( x )
z q(z) z
| {z }
log p( x )
p( x, z)
log p( x ) = KL(q(z)|| p(z| x )) + ∑ q(z) log
| {z } | {z } z q(z)
konstantea Hau minimizatu | {z }
L
• KL minimizatu L maximizatuz
• KL ≥ 0 denez , L da log p( x )en behe-borne bariazionala.
• L-ri deitzen zaio ELBO (Evidence Lower-BOund).
29
Inferentzia bariazionala (autokodetzailea ez). ELBO.
p( x, z) p( x |z) p(z)
L = ∑ q(z) log q(z)
= ∑ q(z) log q(z)
p(z)
= ∑ q(z) log p(x|z) + ∑ q(z) q(z)
| {z }
−KL(q(z)|| p(z))
= Ez∼q(z) [log p( x |z)] − KL(q(z)|| p(z))
laburbilduz:
log p( x ) ≥ L
= Ez∼q(z) [log p( x |z)] − KL(q(z)|| p(z))
| {z } | {z }
Datuak berrosatu Prior dibergentzia
30
Autokodetzaile bariazionalak
(Kingma and Wellig, 2014)
• pθ ∗ (z)-tik z sortu.
• Suposatu p(z) jakina dela (gausiarra)
32
Autokodetzaile bariazionalak
(Kingma and Wellig, 2014)
• pθ ∗ (z)-tik z sortu.
• Suposatu p(z) jakina dela (gausiarra)
• pθ ∗ ( x | z) prob. baldintzatutik x sortu
• p( x | z) neurona-sarea da.
• Sarrera z da, irteera irudien gaineko prob. banaketa da.
• Nola egin hori?
32
Autokodetzaile bariazionalak
(Kingma and Wellig, 2014)
34
VAE entrenatzen
34
VAE entrenatzen
35
VAE entrenatzen
35
VAE entrenatzen
36
VAE entrenatzen
37
VAE entrenatzen
1 ( x − µ x | z )2
− (log 2π + + 2 log Σ x|z )
2 ( Σ x | z )2 Iturri https://web.eecs.umich.edu/ jus-
40
tincj/slides/eecs498/498 FA2019 lecture19.pdf
VAE entrenatzen
• Laginketa ez da diferentziagarria
• “Reparametrization trick” (Kingma and Wellig, 2014)
ϵ ∼ N (0, I ) gainean laginketa egin.
z = µz| x + ϵΣz| x .
• µz| x eta Σz| x konputazio-grafoaren parte dira.
• ϵ grafoaren sarrera da.
41
VAE: Entrenatzeko arazoak
• Hori dela eta, ereduak soilik dekodetzailea erabiltzen du, eta latenteaz
“paso” egiten du, hots, p( x |z) = p( x )
• Posterior colapse
42
1 irtenbidea: KL Divergence Annealing
43
2 irtenbidea: Free bits / KL thresholding (Knigma et al. 2017)
44
VAE: datuak sortzen
45
VAE: datuak sortzen
46
VAE: datuak editatzen
47
VAE: datuak editatzen
48
VAE: datuak editatzen
49
VAE: datuak editatzen
50
VAE: Esaldiak espazio jarrian sortzen (Bowman et al. 2015)
51
VAE: Laburbilduz
52
Sare sortzaile aurkaridunak
(Generative Adversarial
Networks, GAN)
Eredu sortzaileak, orain arte
53
Eredu sortzaileak, orain arte
53
GANs
• Setup:
• Suposatu { x (i) }iN=1 datuak pdata banaketatik eratorriak direla.
• pdata gainean laginketa egin nahi dugu.
• Ideia:
• Erabili z aldagai latentea, p(z) a-priori duena (adibidez, N (0, I)).
• z ∼ p(z) laginketa egin, eta pasa sortzaile batera x = G (z).
• G sortzaileak inplizituko definituko du pG .
• x datua pG gaineko laginketa bidez sortzen da. Nahi dugu
pG = pdata
• Entrenatu G Sare sortzailea zeinak z latentea x datu faltsuak
sortzen dituen, p G laginketa eginez.
55
GANak entrenatzen: bi jokalarien jokoa
56
GANak entrenatzen: bi jokalarien jokoa
min max[Ex∼ pdata log Dθd ( x ) + Ez∼ p(z) log(1 − Dθd ( Gθg (z)))]
θg θd
57
GANak entrenatzen: bi jokalarien jokoa
58
GANak entrenatzen: bi jokalarien jokoa
59
GANak entrenatzen: bi jokalarien jokoa
min max[Ex∼ pdata log Dθd ( x ) + Ez∼ p(z) log(1 − Dθd ( Gθg (z)))]
θg θd
60
GANak entrenatzen: bi jokalarien jokoa
• Helburu-funtzioa:
min max[Ex∼ pdata log Dθd ( x ) + Ez∼ p(z) log(1 − Dθd ( Gθg (z)))]
θg θd
Txandakatu:
max[Ex∼ pdata log Dθd ( x ) + Ez∼ p(z) log(1 − Dθd ( Gθg (z)))]
θd
61
GANak entrenatzen: bi jokalarien jokoa
• Helburu-funtzioa:
min max[Ex∼ pdata log Dθd ( x ) + Ez∼ p(z) log(1 − Dθd ( Gθg (z)))] =
θg θd
min max V ( D, G )
θg θd
For t in 1 . . . , T:
∂V
1. (Update D) D = D + α D ∂D
2. (Update G) G = G − αG ∂V
∂G
• Ohartu:
• Helburu orokorra optimizatzen ari gara.
• Ez dago entrenamendu-kurba bakarra.
• G eta D bakoitzak bere galera du, eta haien arteko dependentzia
dago.
• Oro har, GAN galerek ez dute behera egiten denboran zehar.
• GAN entrenatzea zaila da.
62
GANak entrenatzen: bi jokalarien jokoa
Txandakatu:
max[Ex∼ pdata log Dθd ( x ) + Ez∼ p(z) log(1 − Dθd ( Gθg (z)))]
θd
Arazoa
63
GANak entrenatzen: bi jokalarien jokoa
Txandakatu:
64
GANak entrenatzen: bi jokalarien jokoa
Txandakatu:
65
GANak entrenatzen: bi jokalarien jokoa
end
Sample minibatch of m noise samples {z(1) , . . . , z(m) } from prior p(z);
Update generator by ascending its stochastic gradient:
1 m
G = G + α G ∇θ g m ∑i=1 log Dθd ( Gθ g (z(i) )))
end
67
GAN: balio optimoa
min max[Ex∼ pdata log Dθd ( x ) + Ez∼ p(z) log(1 − Dθd ( Gθg (z)))] =
θg θd
68
GAN: entrenamendu ondoren
69
GAN: emaitzak
Sortutako irudiak:
70
GAN: irudiak sortzen
71
GAN: irudiak sortzen
72
GAN: irudiak Interpolatzen
73
GAN: bektore interpretagarriak
Bektore-aritmetika:
74
GAN: bektore interpretagarriak
Bektore-aritmetika:
74
GAN: bektore interpretagarriak
Bektore-aritmetika:
74
GAN Baldintzatuak
75
GAN Baldintzatuak
76
GAN baldintzatuak: batch normalizazio baldintzatuak
Batch normalizazioa
a (i ) − µ
a (i ) = γ+β
σ
Batch normalizatu baldintzatua Dumoulin et al. ICLR 2017
a (i ) − µ y
a (i ) = γ + βy
σ
77
2017: GANen eztanda
78
GAN: irudiak sortzen
79
GAN laburbilduz
80
Eredu sortzaileen taxonomia
81
Eredu sortzaileak laburbilduz
82