GeneratĂv modellezĂŠs

Download Report

Transcript GeneratĂv modellezĂŠs

Generatív (Bayesi) modellezés
2013. ápr. 17.
Slides by (credit to):
David M. Blei
Andrew Y. Ng,
Michael I. Jordan,
Ido Abramovich,
L. Fei-Fei,
P. Perona,
J. Sivic,
B. Russell,
A. Efros,
A. Zisserman,
B. Freeman,
Tomasz Malisiewicz,
Thomas Huffman,
Tom Landauer and Peter Foltz,
Melanie Martin,
Hsuan-Sheng Chiu,
Haiyan Qiao,
Jonathan Huang
Thank you!
Generatív modellezés
• Felügyelet nélküli tanulás
• … túl a klaszterzésen
• Hogyan írjuk le/modellezzük a
világot a számítógépnek?
• Bayes háló!
Generatív (Bayesi) modellezés
Találjuk meg a paramétereket amikkel a modell a
legjobban „rekonstruálja” a megfigyelt adatot
ADAT
Modell
„Generatív sztori”
A dokumentum
klaszterzés/osztályozás probléma
• Szöveges dokumentumokat sorolunk be
témákba vagy
• Képekről tanuljuk meg, hogy mi szerepel rajtuk
• „Szózsák modell”
• A term-dokumentum mátrix:
Kép
„Szavak” zsákja
• N db dokumentum:
D={d1, … ,dN}
• A szótár M db szót tartalmaz
– W={w 1 , … ,w M}
• A term-dokumentum mátrix mérete N * M, az
egyes szavak (termek) dokumentumbeli
előfordulását tartalmazza
– term lehet 1 szó, többszavas frázis vagy képrészlet is
– Előfordulást jellemezhetjük gyakorisággal, binárisan
stb.
A szózsák modell problémái
– Sorrendiség és pozíció elveszik
– Szinonímák: sok féleképen
hivatkozhatunk egy objektumra
(fogalomra), pl: álmos-kialvatlan
→ gyenge fedés
– Poliszémia: a legtöbb szónak több
jelentése van, pl: körte, puska
→ gyenge pontosság
képi poliszémia
Dokumentumok
klaszterezése
• Minden dokumentumhoz
rendeljünk egy „topic”-ot
Generatív sztori az „unigram modell”hez
Hogyan generálódik(ott) egy
dokumentum?
1.
„Dobjunk” egy topicot
TOPIC
2.
Minden kitöltendő szópozícióra
„dobjunk” egy szót a kiválasztott
topichoz
szó
...
szó
Valószínűségi LSA
pLSA
Probabilistic Latent Semantic Analysis
• Minden dokumentumot egy
valószínűségi eloszlás ír le a topicok
felett
• Minden topicot egy valószínűségi
eloszlás ír le a szavak felett
• Az eloszlások interpretálhatóak
Viszony a klaszterzéshez…
• A dokumentumok nem pontosan
egy klaszterbe sorolódnak be
• Topicok egy eloszlását határozzuk
meg minden dokumentumhoz
→ sokkal flexibilisebb
Generatív sztori a pLSA-hoz
Hogyan generálódik(ott) egy
dokumentum?
1.
Generáljunk egy topic-eloszlást
TOPIC eloszlás
2.
3.
Minden kitöltendő szópozícióra
„dobjunk” egy topicot a topiceloszlából
TOPIC
...
TOPIC
szó
...
szó
„Dobjunk” egy szót a kiválasztott
topichoz
Példa
DOCUMENT 1: money1 bank1 bank1 loan1 river2 stream2 bank1
money1 river2 bank1 money1 bank1 loan1 money1 stream2 bank1
money1 bank1 bank1 loan1 river2 stream2 bank1 money1 river2 bank1
money1 bank1 loan1 bank1 money1 stream2
.8
.2
TOPIC 1
.3
.7
TOPIC 2
DOCUMENT 2: river2 stream2 bank2 stream2 bank2 money1 loan1
river2 stream2 loan1 bank2 river2 bank2 bank1 stream2 river2 loan1
bank2 stream2 bank2 money1 loan1 river2 stream2 bank2 stream2
bank2 money1 river2 stream2 loan1 bank2 river2 bank2 money1
bank1 stream2 river2 bank2 stream2 bank2 money1
A modell illesztése (tanulása)
?
TOPIC 1
?
TOPIC 2
DOCUMENT 1: money? bank? bank? loan? river? stream? bank?
money? river? bank? money? bank? loan? money? stream? bank?
money? bank? bank? loan? river? stream? bank? money? river? bank?
money? bank? loan? bank? money? stream?
?
DOCUMENT 2: river? stream? bank? stream? bank? money? loan?
river? stream? loan? bank? river? bank? bank? stream? river? loan?
bank? stream? bank? money? loan? river? stream? bank? stream?
bank? money? river? stream? loan? bank? river? bank? money? bank?
stream? river? bank? stream? bank? money?
pLSA
K
p( wi | d j )   p( wi | zk ) p( zk | d j )
k 1
Megfigyelt adateloszlások
termek eloszlása
a topicok felett
topicok eloszlása
dokumentumonként
Slide credit: Josef Sivic
Generatív sztori a pLSA-hoz
Hogyan generálodott egy
dokumentum?
1.
Generáljunk egy topic-eloszlást
TOPIC eloszlás
2.
Minden kitöltendő szópozícióra
„dobjunk” egy topicot a topiceloszlából
p( zk | d j )
3.
„Dobjunk” egy szót a kiválasztott
topichoz
p( wi | zk )
TOPIC
...
TOPIC
szó
...
szó
pLSA – modell-illesztés
K
p( wi | d j )   p( wi | zk ) p( zk | d j )
k 1
p( w, d )  p(d ) p( w | d )
arg max

Az „expectation-maximisation”,
EM algoritmus
• Iteratív módszer maximum likelihood becslésre
• rejtett változók esetén
• E-lépés
– Rejtett változók várható értékének kiszámítása, úgy
hogy fixáljuk a keresett paramétereket
• M-lépés
– Frissítsük a paramétereket úgy, hogy a rejtett
változók értékét rögzítjük.
– Maximalizáljuk a (likelihood) célfüggvényt
pLSA – E-lépés
A paraméterek ismerete mellett, mi a
rejtett változók (z, topicok) eloszlása
pLSA – M-lépés
Rögzítsük p(z|d,w)-ket és
EM algoritmus
• Lokális maximumhoz konvergál
• Megállási feltétel?
– Adatbázis és/vagy ismeretlen
példákra való illeszkedés?
pLSA problémái
• Korábban nem látott
dokumentumokra újra kell számítani a
teljes halmazon.
• A paraméterek száma az adathalmaz
méretével nő
• d tulajdonképpen csak egy index,
nem illik a generatív sztoriba
LDA
Unigram modell
Zi
wi1
w2i
w3i
w4i
Minden M db dokumentumhoz,
 dobjunk egy z topicot.
 Dobjunk N szót, egymástól függetlenül multinomiális eloszlásból z
N
függvényében
pw   pz  pwn | z 
z
n 1
Minden dokumentumhoz egy topicot rendelünk
pLSA modell
d
zd1
zd2
zd3
zd4
wd1
wd2
wd3
wd4
pd , wn   pd  pwn | z  pz | d 
z
Minden d dokumentum minden
szópozíciójára:
 Dobjunk egy z témát egy
multinominális eloszlásból ami a d
indextől függ
 Dobjunk egy szót multinomális
eloszlásból, ami z-től függ.
pLSA-ban a dokumentumokhoz
topicok egy eloszlását rendeljünk.
LDA modell




z1
z2
z3
z4
z1
z2
z3
z4
z1
z2
z3
z4
w1
w2
w3
w4
w1
w2
w3
w4
w1
w2
w3
w4
b
• Minden dokumentumra,
• dobjunk ~Dirichlet()
• Minden n szópozícióra :
– dobjunk egy zn topicot zn ~ Multinomial()
– dobjunk egy wn szót p(wn|zn,b) multinomiális eloszlásból
LDA modell
• Minden dokumentumra,
• dobjunk ~Dirichlet()
• Minden n szópozícióra :
– dobjunk egy zn topicot zn ~ Multinomial()
– dobjunk egy wn szót p(wn|zn,b) multinomiális eloszlásból
pLSA példa
d
D
z
w
N
“szem”
Sivic et al. ICCV 2005
LDA példa
“part”
c
D

z
w
N
Fei-Fei et al. ICCV 2005
A dirichlet eloszlás
• Egy eloszlás a multinominális eloszlások felett.
• A k dimenziós  Dirichlet valószínűségi változó elemei
nem negatívak és 1-re összegződnek (k-1 szimplex)
• i pozitív (nem összegződik 1-re, az abszolút
értékei is számítanak, nem csak a relatívak!)
• A dirichlet eloszlás a multinominális eloszlás
konjugált priorja (ha a likelihodd multinominális
dirichlet priorral akkor a posterior is dirichlet)
• Az i paraméterre gondolhatunk úgy, mint az i.
topic gyakoriságára vonatkozó priorra
Példák
2
0
3
2
1
0
3
2
Dirichlet(5,5,5)
1
Dirichlet(0.2, 5, 0.2)
1
Dirichlet(0.5,0.5,0.5)
1
3
Dirichlet példák
1 = 2 = 3 = a
LDA
( ik1i ) 1 1
p(  )  k
1  kk 1
i 1 (i )
N
p( , z, w  , b )  p(  ) p( zn  ) p( wn zn , b )
n 1
 N

p( w  , b )   p(  )  p( zn  ) p( wn zn , b ) d
 n 1 zn

 Nd

p( D  , b )    p( d  )  p( zdn  d ) p( wdn zdn , b ) d d
d 1
 n 1 zdn

M
Következtetés
p( , z | w,, b ) 
p ( ,z,w| ,b )
p ( w| ,b )
Egzakt optimalizáció nem kivitelezhető
Következtetés
Gibbs mintavételezéssel
• közelítő valószínűségi következtetés
– dobjunk a Bayes hálónak megfelelően mintákat
– a felvett változóértékek gyakoriságával becsüljük az
együttes eloszlásokat
• Markov Lánc Monte Carlo módszer
– a következő minta függ az előző mintáktól (azaz ne
véletlenül és egymástól függetlenül dobáljunk
mintákat)
• Gibbs mintavételezés
– a következő mintát úgy kapjuk, hogy az egyes
változókat kidobjuk a többi változó aktuális értékének
rögzítése mellett
pLSA és LDA
összehasonlítás
• pLSA problémái
– új dokumentumokat nem tudja kezelni
– adatbázis méretével nő a paraméterek
száma (kezelhetőség, túlillesztés)
• LDA mindkét problémát kezeli azzal,
hogy a topic-eloszlásokat rejtett
változóként kezeli
• k+kV paraméter
39
LDA zárszó
• Az LDA egy flexibilis generative
valószínűségi modell
• Ekzakt következtetés nem
kivitelezhető, de a közelítő
megoldások (pl. variációs
következtetés, MCMC)
használhatóak és a gyakorlatban
jól működnek
1990
1999
2003
Objektumok azonosítása képekről
Találjuk meg milyen objektumok
szerepelnek a képgyűjteményben,
felügyelet nélküli módon!
Ezeket utána új képeken is ismerjük fel!
Automatikusan találjuk meg, hogy milyen jellemzők
fontosak az egyes tárgyak azonosításához!