Slide 1

Slide 1 text

Variational Lossy Autoencoder ICLR 2017 ಡΈձ @ DeNA @crcrpar 2017/6/17 1 / 25

Slide 2

Slide 2 text

࿦จ • Variational Lossy Autoencoder • Xi Chen (UC Berkeley, OpenAI), Diederik P. Kingma (OpenAI), Tim Salimans (OpenAI), et al. • දݱֶशͰજࡏม਺Λ׆༻͢Δ • Bits Back Coding Ͱ VAE ͷજࡏม਺ʹ͍ͭͯͷߟ࡯ • જࡏม਺Λ lossy ʹ͢Δ • જࡏม਺ z ͷ෼෍ p(z), q(z|x) Λॊೈʹ • decoder ʹ PixelCNN 2 / 25

Slide 3

Slide 3 text

දهʹ͍ͭͯ • x ∈ Rd: σʔλ. x = ( x0 . . . xd )⊤ • x

Slide 4

Slide 4 text

VAE ໨తؔ਺ log p(X) = ∑ N i=1 log p(x(i)) ࣮ࡍͷ໨తؔ਺ L(x; θ) = Eq(z|x) [log p(x|z) − DKL (q(z|x)∥p(z))] - ਖ਼نԽͨ͠ autoencoder ͱΈΕΔɻ VAE ͷ՝୊ɾऑ఺ • දݱྗ͕ߴ͗͢Δ decoder ͸જࡏม਺Λແࢹ • જࡏม਺͕΋ͭ৘ใΛ؅ཧͰ͖ͳ͍ 4 / 25

Slide 5

Slide 5 text

1 ͳͥʁ ௚ײతʹ ཧ࿦ʢBits Back Codingʣ 2 VLAE ֓ཁ Autoregressive Flow decoder: PixelCNN 3 ࣮ݧɾ݁Ռ Lossy Comprssion Density Estimation 5 / 25

Slide 6

Slide 6 text

1 ͳͥʁ 2 VLAE 3 ࣮ݧɾ݁Ռ 6 / 25

Slide 7

Slide 7 text

௚ײతʹ... ͦ΋ͦ΋ɺRNN / AR ͸೚ҙͷ෼෍ΛۙࣅͰ͖Δ 1 જࡏม਺ʹ৘ใ͕΄ͱΜͲؚ·Εͳ͍ʢֶशॳظʣ 2 decoder ͸௚઀σʔλΛ࠶ߏ੒͠Α͏ͱ͢Δ: p(x|z) → pdecoder (x) 3 ࣄޙ෼෍ɾۙࣅࣄޙ෼෍ͱ΋ʹࣄલ෼෍ʹͳΔ p(z|x), q(z|x) → p(z) 7 / 25

Slide 8

Slide 8 text

গ͠ཧ࿦తʹ... VAE ≈ ූ߸Խ 1 σʔλͷຊ࣭ z Λූ߸Խ: p(z) 2 z ͷζϨΛූ߸Խ: p(x|z) ූ߸ͷ௕͞͸ʁ naive ʹ Cnaive (x) = Ex∼data,z∼q(z|x) [− log p(z) − log p(x|z)] Bits Back Coding ޮ཰ͷͨΊʹ encoder ͷ෼෍ q(z|x) Λ༻͍Δ 8 / 25

Slide 9

Slide 9 text

Bits Back Coding q(z|x) ߴʑ H(q(z|x)) ϏοτͰ৘ใΛ఻͑ΒΕΔ ʢ஫ʣ ɿreceiver ΋ q(z|x) ΛΈΕΔ৔߹ͷΈ Bits Back Coding ͷූ߸௕ Cnaive ͸ q(z|x) ͚ͩແବͰ L(x) = Eq(z|x) [log p(x|z) − log q(z|x)] ͳͷͰ CBitsBack (x) = Ex∼data [−L(x)] ≥ H(data) + Ex∼data [DKL (q(z|x)∥p(z|x))] 9 / 25

Slide 10

Slide 10 text

Bits Back Coding • ූ߸௕ͷ࠷খԽ = ม෼Լքͷ࠷େԽ → z ͕࢖ΘΕΔͷ͸ූ߸Խ͕ޮՌతͳ࣌ • ΑΓਖ਼֬ͳࣄޙ෼෍ʹΑΓม෼ਪ࿦͸ߴਫ਼౓ʹͳ Δ͕ɺݱ࣌఺Ͱ͸ଘࡏ͠ͳ͍ → DKL (≥ 0) ͸ແࢹͰ͖ͳ͍ 10 / 25

Slide 11

Slide 11 text

Information Preference z ͕ແࢹ͞ΕΔͷ͸... p(x|z) ͕ pdata (x) Λz ͷ৘ใͳ͠ʹϞσϧԽͰ͖Δ৔߹ 1 ࣄޙ෼෍ pz|x) ͕ p(z) ʹͳΓɺ 2 ۙࣅࣄޙ෼෍ q(z|x) ΋ p(z) ʹͳΔ ∵ KL ߲Λখ͘͢͞ΔͨΊ Information Preference • z ͳ͠ͰہॴతʹϞσϧԽͰ͖Δ৘ใ͸ہॴతʹ ූ߸Խ • ͦΕҎ֎ͷ৘ใ͸ z Λ࢖ͬͯ෮߸Խ જࡏม਺Λ hack ͢Δํ๏ɿ free bits, annealing the relative weight of DKL 11 / 25

Slide 12

Slide 12 text

1 ͳͥʁ 2 VLAE 3 ࣮ݧɾ݁Ռ 12 / 25

Slide 13

Slide 13 text

Ϟσϧͷ֓ཁ 1 ॊೈͳࣄલ෼෍ 2 දݱྗͷ͋Δ decoder 13 / 25

Slide 14

Slide 14 text

ࣄલ෼෍ͷվળ • ٿ໘Ψ΢ε෼෍ɾҰ༷෼෍͕ద੾͔ٙ໰ • જࡏม਺ͷ׆༻ʹ͸ෆՄܽ • → autoregressive flow 14 / 25

Slide 15

Slide 15 text

Autoregressive Flow normalizing flows ʹ͍ͭͯ • ୯७ͳ෼෍͔Βॊೈͳ෼෍΁ͷՄٯͳม׵ • general normalizing flow • volume preserving flow • Jacobian ͷѻ͍ʹҧ͍ AF ͷಛ௃ IAF ͱಉ͡ܭࢉྔ͕ͩϞσϧ͕ΑΓਂ͍ 15 / 25

Slide 16

Slide 16 text

Inverse Autoregressive Flow zt = µt + σt ⊙ zt−1 log q(zT |x) = − D ∑ i=1         1 2 ϵ2 i + 1 2 log(2π) + T ∑ t=0 log σt,i         ਤ 1: IAF ͷ֓ཁ 16 / 25

Slide 17

Slide 17 text

IAF posterior ॊೈͳࣄޙ෼෍Λ֫ಘ͍ͯ͠Δʂ ਤ 2: IAF ͷࣄޙ෼෍ 17 / 25

Slide 18

Slide 18 text

AF prior ≡ IAF posterior L(x; θ) = Ez∼q(z|x) [log p(x|z) + log p(z) − log q(z|x)] = Ez∼q(z|x),ϵ=f−1(z) [ log p(x|f(ϵ)) + log u(ϵ) + log det dϵ dz − log q(z|x) ] = Ez∼q(z|x),ϵ=f−1(z)                   log p(x|f(ϵ)) + log u(ϵ) − ( log q(z|x) − log det dϵ dz ) IAF posterior                   18 / 25

Slide 19

Slide 19 text

1 ͳͥʁ 2 VLAE 3 ࣮ݧɾ݁Ռ 19 / 25

Slide 20

Slide 20 text

࣮ݧ֓ཁ • ໨త • જࡏม਺͕େҬతͳ৘ใΛ֫ಘ͍ͯ͠Δ͔ • AF prior ͕ IAF posterior ΑΓ༏Ε͍ͯΔ͔ • AR decoder ʹΑΓີ౓ਪఆͷਫ਼౓্͕͕Δ͔ • ݕূϞσϧ: AF prior & PixelCNN decoder • σʔληοτ: 2 ஋ͷ 28×28 ը૾ • MNIST, OMNIGLOT, Caltech - 101 Silhouettes • ΞʔΩςΫνϟɾજࡏม਺ͷ࣍ݩ਺͸౷Ұ 20 / 25

Slide 21

Slide 21 text

Lossy Compression - MNIST ࠨɿೖྗɺӈɿग़ྗ • Ͳͷ਺ࣈ͔͸Θ͔Δ • ͨͩͷ࠶ߏ੒Ͱ͸ͳ͍ ਤ 3: original & decompressed MNIST 21 / 25

Slide 22

Slide 22 text

Lossy Compression - OMNIGLOT ࠨɿೖྗɺӈɿग़ྗ • semantics ͕อଘ͞Ε ͍ͯͳ͍ • λεΫɾσʔληοτ ͝ͱʹ৘ใΛಛఆ͢Δ ඞཁ ਤ 4: original & decompressed OMNIGLOT 22 / 25

Slide 23

Slide 23 text

જࡏม਺͔ΒͷαϯϓϦϯά • Սۭͷ਺ࣈ • େҬతͳಛ௃ ਤ 5: VLAE ͔Βͷαϯϓϧ 23 / 25

Slide 24

Slide 24 text

Density Estimation Unconditional Decoder ͸γϯϓϧͳ PixelCNN 24 / 25

Slide 25

Slide 25 text

AF priorͷޮՌ • ີ౓ਪఆ͕վળ • AR ʹΑͬͯજࡏม਺ ͷ࣋ͭ৘ใ͕૿Ճ ਤ 6: AF prior ͷޮՌ 25 / 25