Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · •...

41
Generative Moment Matching Networks Yujia Li, Kevin Swersky and Richard Zemel Feb.12, 2015

Transcript of Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · •...

Page 1: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

Generative)Moment)Matching)Networks4

Yujia)Li,)Kevin)Swersky)and)Richard)Zemel44

Feb.12,)20154

Page 2: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

•  We)want)to)learn)generative)models4–  Generate)nice)samples4–  Find)structure)in)data4–  Extract)features)for)other)tasks)like)classification4– Make)use)of)unlabeled)data4

Page 3: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

•  Generative)models)in)deep)learning4–  Undirected)models4

•  BolPmann)machines,)RBMs,)DBMs4–  Directed)models4

•  Neural)Autoregressive)Distribution)Estimator)(NADE)4•  Sigmoid)belief)nets4•  Deep)belief)nets)(hybrid)4•  Recent)advances)in)using)neural)nets)to)do)inference)for)these)models4

–  AutoUEncoders)used)as)generative)models4•  Methods)for)recovering)density)models)from)autoUencoders4

Page 4: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

•  The)model)we)consider)here:4–  Uniform)prior4

4–  Deterministic)mapping)defined4))))by)a)neural)net4

–  p(h))and)x=f(h;)w))jointly)define)a)distribution)of)x4

•  Very)easy)to)generate)samples4–  h)~)p(h),)then)pass)h)through)the)net)to)get)x4– Not)easy)to)estimate)probability4

Uniform)Prior4

h4

Data)space)sample4

x4

p(h) =HY

j=1

U(hj)

x = f(h;w)

Page 5: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

•  Similar)models)studied)in)(Mackay,)1995))and)(MagdonUIsmail)and)Atidya,)1998)4

•  Recently)used)in)generative)adversarial)nets)(Goodfellow)et)al.,)2014)4–  Training)formulated)as)minimax)optimization4–  Alternating)optimization4

•  We)train)them)with)a)simple)objective)MMD4–  Can)be)interpreted)as)moment)matching4–  Trainable)by)direct)backpropagation4–  “Generative)moment)matching)networks”)(GMMN)4

Page 6: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

Moment)Matching4

•  Moments:4– Mean)(1st)order),)variance)(2nd)order),)skewness)(3rd)order),)…4

•  Under)mild)conditions:)if)all)moments)of)two)distributions)p)and)q)are)the)same,)then)p"=)q.4

•  Training)generative)models)with)moment)matching:4– Make)model)moments)match)data)moments4

Page 7: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

•  Define)mapping)function4

–  Then)))))))))))))))))))))))))is)the)sample)moment4

–  Examples:4

4

•  Moment)matching)objective:4–  Data)set))))))))))))))))))))),)model)samples4

�1

N

NX

i=1

�(xi)

�(x) = x

1st)order)moment4

�(x) = vec(x,xx>)

= (x1, ..., xd, x1x1, x1x2, ..., xdxd)

1st)and)2nd)order)moments4

{xd1, ...,x

dN} {xs

1, ...,xsM}

������1

M

MX

i=1

�(xsi )�

1

N

NX

j=1

�(xdj )

������

2

Page 8: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

•  Problem)with)this)approach4–  There)are)infinite)many)moments4– High)order)moments)require)exponentially)many)terms)in)))):))nUth)order)moments)contain)dn)terms4

•  Kernel)trick4–  )))may)contain)infinite)many)terms,)but)we)don’t)need)to)write)them)down4

������1

M

MX

i=1

�(xsi )�

1

N

NX

j=1

�(xdj )

������

2

=1

M2

MX

i=1

MX

j=1

�(xsi )

>�(xsj)�

2

MN

MX

i=1

NX

j=1

�(xsi )

>�(xdj ) +

1

N2

NX

i=1

NX

i=1

�(xdi )

>�(xdj )

=1

M2

MX

i=1

MX

j=1

k(xsi ,x

sj)�

2

MN

MX

i=1

NX

j=1

k(xsi ,x

dj ) +

1

N2

NX

i=1

NX

i=1

k(xdi ,x

dj )

Page 9: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

•  For)a)universal)kernel)like)Gaussian4

–  Using)Taylor)expansion,)the)implicit)feature)map))))))))))))contains)terms)of)all)orders)(weighted)differently)4

–  Polynomial)kernels)are)not)universal4•  ))))))))))only)contains)terms)up)to)the)order)of)the)kernel4•  But)this)is)still)a)much)more)compact)representation)than)writing)out))))))))))))explicitly.4

k(x,y) = exp

✓� 1

2�kx� yk2

�(x)

�(x)

�(x)

Page 10: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

•  This)is)an)empirical)estimate)of)the)kernel)Maximum)Mean)Discrepancy)(MMD))between)data)and)model)distributions4

LMMD2 =1

M2

MX

i=1

MX

j=1

k(xsi ,x

sj)�

2

MN

MX

i=1

NX

j=1

k(xsi ,x

dj ) +

1

N2

NX

i=1

NX

i=1

k(xdi ,x

dj )

Page 11: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

An)Alternative)Interpretation)of)MMD4

•  MMD)originally)came)from)the)hypothesis)testing)literature4

–  Suppose)we)have)access)to)only)samples)from)two)distributions)X ~ PA and)Y ~ PB

–  Can)we)tell)if)PA = PB?4

–  TwoUsample)test)problem4

Page 12: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

•  Theorem:)p)and)q)are)probability)measures,)then)p"=)q)iff)4

))))F)is)the)class)of)bounded)continuous)functions.4

–  If)p)≠)q,)then)we)can)always)construct)some)f)that)picks)up)the)difference)between)p)and)q.4

–  )4

–  If)MMD)is)small,)we)say)p)=)q,)otherwise)p)≠)q4–  Problem:)F is)a)huge)class4

max

f2F|Ep[f(x)]� Eq[f(x)]| = 0

MMD = max

f2F|Ep[f(x)]� Eq[f(x)]|

Page 13: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

•  (Gremon)et)al.,)2007))showed)that)F)can)be)just)a)RKHS)associated)with)a)universal)kernel)k"and)we)can)use4

–  )))))))))))is)the)kernel)feature)map)for)k$–  p)=)q)iff)MMD2)=)04

•  An)empirical)estimate)is4

�(x)

MMD2 =1

M2

MX

i=1

MX

j=1

k(xpi ,x

pj )�

2

MN

MX

i=1

NX

j=1

k(xpi ,x

qj) +

1

N2

NX

i=1

NX

i=1

k(xqi ,x

qj)

MMD2 , kEp[�(x)]� Eq[�(x)]k2

Page 14: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

Using)MMD)to)Learn)GMMNs4

•  It’s)simple!4

–  Generate)a)set)of){h1,)…,)hM})from)uniform)prior)p(h)4

–  Compute)corresponding)Xs)=){x1,)…,)xM})by)x)=)f(h;)w)4

–  Use)MMD)between)Xs)and)training)set)Xd)as)a)loss)function,)backprop)through)the)MMD)loss)and)the)neural)net)f)to)update)w4

Page 15: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

Uniform)Prior4

h4

Samples4

x4 x4MMD4

Training)Data4

Or4

Samples4

x4

Uniform)Prior4

h4

x4MMD4

Training)Data4

Page 16: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

GMMN)in)AutoUEncoder)Code)Space4

•  AutoUEncoders4–  Easier)to)train4–  Good)at)recovering)a)lowUdimensional)manifold)in)highUdimensional)space4

–  Disentangle)factors)of)variations)(Bengio)et)al.,)2013)4–  If)we)transform)the)distribution)in)the)original)input)space)to)a)distribution)in)the)code)space)then)it)looks)much)nicer!4

•  Code)space)also)helps)MMD)–)as)MMD)is)bemer)in)lowerUdimensional)spaces)(Ramdas)et)al.,)2015)4

Page 17: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

x4

z4

x’4

Input)Data4 Reconstruction4

Training)GMMN+AE4

AutoUEncoder4

Trained)with)layerUwise4pretraining)+)fineUtuning,44Dropout)on)encoder4layers)during)training4

Page 18: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

Uniform)Prior4

h4

MMD4

x4

z4

x’4

Input)Data4 Reconstruction4

Training)GMMN+AE4

GMMN4

Page 19: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

Uniform)Prior4

h4

MMD4

x4

z4

Input)Data4

Training)GMMN+AE4

Encoder4

Page 20: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

Uniform)Prior4

h4

Code)Samples4

x4

z4

Input)Samples4

Generating)Samples4

Decoder4

Page 21: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

Practical)Considerations4

•  Bandwidth)parameter)σ)in)the)kernel4– We)can)treat)them)as)hyperparameters4–  Or)use)heuristics)to)set)them4–  For)most)cases)we)used)multiple)kernels)with)fixed)σ)4

–  For)example)fix)σi)=)1,)2,)5,)10,)…4– Matching)distributions)at)multiple)scales4–  Covers)the)range)of)possible)σ4

k(x, y) =X

i

k�i(x, y)

Page 22: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

•  Square)root)loss4

4–  Square)root)loss)helps)to)drive)the)loss)to)zero4– Much)larger)gradients)when)close)to)04

–  Easy)to)implement,)simply)scale)the)learning)rate4

LMMD =p

LMMD2

v.s.4

@LMMD

@w=

1

2pLMMD2

@LMMD2

@w

Page 23: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

•  Minibatch)training4– MMD)requires)O(N2))computation4–  Linear)time)MMD)variants)available4– We)can)also)use)random)features)to)get)linear)time)approximations4

–  But)for)all)our)experiments)we)simply)did)minibatch)training.4

Page 24: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

Experiments4

•  Datasets4– MNIST:)60,000)training)images)(55,000)train,)5,000)validation),)10,000)test)images,)32x32)(standard)4

–  Toronto)Face)Dataset)(TFD):)~100k)images,)48x48,)same)training/test)sets)as)in)(Goodfellow)et)al.,)2014)4

–  Preprocessing:)scale)input)image)to)[0,1]4

Page 25: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

•  GMMN)&)GMMN+AE)Architectures4–  GMMN)has)5)layers,)4)intermediate)ReLU)layers)and)1)sigmoid)output)layer)–)same)across)all)experiments4

– MNIST)AE:)2)encoder)layers,)2)decoder)layers,)all)sigmoid4

–  TFD)AE:)3)encoder)layers,)3)decoder)layers,)all)sigmoid)4

Page 26: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

Sigmoid4MMD4

Sigmoid4

Sigmoid4

Sigmoid4

Sigmoid4

Input)Data4 Reconstruction4

h4

ReLU4

Uniform)Prior4

ReLU4

ReLU4

ReLU4

GMMN+AE)architecture4for)MNIST4

Page 27: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

•  Evaluation4–  Computing)likelihood)is)hard4–  Generating)samples)is)easy,)so4

•  We)generated)10,000)samples)from)the)model4•  Use)kernel)density)estimator)to)estimate)the)density4•  Compute)logUlikelihood)of)data)under)this)estimated)density4

–  Same)protocol)used)in)previous)work)like)(Goodfellow)et)al.,)2014)4

Page 28: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

•  Results4

4•  DBN)and)Stacked)CAE)from)(Bengio)et)al.,)2013)4•  Deep)GSN)from)(Bengio)et)al.,)2014)4•  Adversarial)nets)from)(Goodfellow)et)al.,)2014)4

•  Significant)step)forward)over)baselines4•  GMMN+AE)much)bemer)than)GMMN4

Model MNIST TFD

DBN 138 ± 2 1909 ± 66

Stacked CAE 121 ± 1.6 2110 ± 50

Deep GSN 214 ± 1.1 1890 ± 29

Adversarial nets 225 ± 2 2057 ± 26

GMMN 147 ± 2 2085 ± 25

GMMN+AE 282 ± 2 2204 ± 20

Page 29: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

•  Power)of)Bayesian)Optimization4– Number)of)hidden)units,)learning)rate,)momentum,)dropout)rate)optimized)on)validation)set)using)BO.4

–  Switched)from)manual)tuning)to)Bayesian)Optimization)a)week)before)ICML)deadline4

MNIST4 TFD4GMMN4 GMMN+AE4 GMMN4 GMMN+AE4

2)weeks)ago4 ~1354 ~2704 1900~20004 ~21004Last)week4 1474 2824 2085% 2204%

Page 30: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

•  Surprising)architectures4–  Example:)GMMN)on)TFD4

48x484

104

644

2564

2564

10244

Uniform)Prior4

Manually)tuned:)1900~20004

48x484

2604

574

15004

15004

104

Uniform)Prior4

Bayesian)Optimization:)20854

Page 31: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

•  Not)so)surprising)semings:4–  AutoUEncoder)code)space)dimensionality)much)smaller)than)data)dimensionality4

–  Large)dropout)for)the)encoder4

Page 32: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

•  Samples4

Page 33: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

•  Closest)training)examples)to)generated)samples4

Page 34: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

•  Closest)training)examples)to)generated)samples4

Page 35: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

•  Exploring)the)learned)space4

Page 36: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

•  Exploring)the)learned)space4

Page 37: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

•  Videos4

Page 38: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

How)We)Started)to)Work)on)This4

•  Fairness4•  Domain)adaptation4•  Learning)invariant)features4•  Learning)features)robust)to)noise4

Page 39: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

Future)Directions4

•  Generate)larger,)more)realistic)images4•  Generate)image)labels)like)segmentation)masks4•  Conditional)generation4

Page 40: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

TakeUAways4

•  MMD)offers)a)much)simpler)objective)for)training)this)type)of)networks4

•  AutoUEncoders)can)be)readily)bootstrapped)into)part)of)a)good)generative)model4

Page 41: Generative)Moment)Matching)Networks4yujiali/files/talks/seminar_gmmn.pdf · • Generative)models)in)deep)learning4 – Undirected)models4 • BolPmann)machines,)RBMs,)DBMs4 – Directed)models4

Q)&)A))

Generative)Moment)Matching)Networks4

Yujia)Li,)Kevin)Swersky)and)Richard)Zemel44

Feb.12,)20154