Upgrade to Pro — share decks privately, control downloads, hide ads and more …

これでわかる GAN

Yosuke
September 12, 2019

これでわかる GAN

生成モデルや情報量についても軽く触れるGAN論文まとめ

Yosuke

September 12, 2019
Tweet

More Decks by Yosuke

Other Decks in Research

Transcript

  1. "EWFSTBSJBM/FUT ਓϓϨΠϠʔϛχϚοΫεήʔϜʹ  min ⏟ G max ⏟ D V(D,

    G) = x∼Pdata(x) [log D(x)] + z∼Pz(z) [log(1 − D(G(z)))] 10
  2. "EWFSTBSJBM/FUT  ࠨ୺  (͸%ʹؒҧ͍͑ͤͨ͞ͷͰ࠷খԽ  ਖ਼ࣝ͘͠ผͤ͞Α͏ͱ͢ΔͷͰ࠷େԽ min ⏟ G

    max ⏟ D V(D, G) = x∼Pdata(x) [log D(x)] + z∼Pz(z) [log(1 − D(G(z)))] min ⏟ G : max ⏟ D : 12
  3. "EWFSTBSJBM/FUT  ӈลୈ߲  %͕ຊ෺Λຊ෺ͱ൑ผ͜͜Ͱ͸αϯϓϧσʔλYΛ%ʹ౉͍ͯ͠ΔͷͰ ͭ·Γ Αͬͯظ଴஋΋ʹ͍ۙ΄͏͕ྑ͍ min ⏟ G

    max ⏟ D V(D, G) = x∼Pdata(x) [log D(x)]+z∼Pz(z) [log(1 − D(G(z)))] x∼¶data(x) [log D(x)] : D(x) = 1 log 1 = 0 13
  4. "EWFSTBSJBM/FUT  ӈลୈ߲  %ʹِ෺ͷੜ੒ͨ͠σʔλΛ౉͍ͯ͠Δ %ʹ͍ͭͯ͸ɺ ͱͳΕ͹ྑ͍ (ʹ͍ͭͯ͸ɺ ͱͳΕ͹ྑ͍ min

    ⏟ G max ⏟ D V(D, G) = x∼Pdata(x) [log D(x)] + z∼Pz(z) [log(1 − D(G(z)))] z∼¶z(z) [log(1 − D(G(z)))] : D(G(z)) → 0 D(G(z)) → 1 14
  5. ϑϨʔϜϫʔΫͷਖ਼౰ੑͷূ໌  Λݻఆͨ࣌͠ͷ ͷ࠷దղ ΛٻΊΔ    ͜͜Ͱɺੵ෼ͷத਎Λ࠷େԽ͍ͨ͠ʂ ˠ%

    Y Ͱඍ෼͢Δ min ⏟ G max ⏟ D V(D, G) = x∼Pdata(x) [log D(x)] + z∼Pz(z) [log(1 − D(G(z)))] G D DG (x)* V(D, G) = ∫ x [Pdata (x)log(D(x))]dx + ∫ z [Pz (z)log(1 − D(G(z)))]dz = ∫ x [Pdata (x)log(D(x))]dx + ∫ x [Pg (x)log(1 − D(x))]dx = ∫ x [Pdata (x)log(D(x)) + Pg (x)log(1 − D(x))]dx 19
  6. ϑϨʔϜϫʔΫͷਖ਼౰ੑͷূ໌ લࣜ ʜᶃ ᶃࣜͷத਎Λ࠷େԽ͢Δ  '0$ΑΓ    

    = ∫ x [Pdata (x)log(D(x)) + Pg (x)log(1 − D(x))]dx f(x) = Pdata (x)log(D(x)) + Pg (x)log(1 − D(x)) df(x) dD(x) = 0 Pdata (x) D(x) − Pg (x) 1 − D(x) = 0 Pdata (x) D(x) = Pg (x) 1 − D(x) Pdata (x) − Pdata (x)D(x) = Pg (x)D(x) DG (x)* = Pdata (x) Pdata (x) + Pg (x) 20
  7. ϑϨʔϜϫʔΫͷਖ਼౰ੑͷূ໌  ࣍ʹɺ Λ༻͍ͯ ͷ࠷దղΛٻΊΔ     

    min ⏟ G max ⏟ D V(D, G) = x∼Pdata(x) [log D(x)] + z∼Pz(z) [log(1 − D(G(z)))] DG (x)* G C(G) = max ⏟ D V(G, D) = V(G, D* G (x)) = ∫ x [Pdata (x)log(D* G (x)) + Pg (x)log(1 − D* G (x))]dx = ∫ x [Pdata (x)log( Pdata (x) Pdata (x) + Pg (x) ) + Pg (x)log( Pg (x) Pdata (x) + Pg (x) )]dx = ∫ x [Pdata (x)log( 1 2 Pdata (x) Pdata (x) + Pg (x) 2 ) + Pg (x)log( 1 2 Pg (x) Pdata (x) + Pg (x) 2 )]dx 21
  8. ϑϨʔϜϫʔΫͷਖ਼౰ੑͷূ໌    ͜͜Ͱɺ ͷͱ͖  = ∫ x

    [Pdata (x)log( 1 2 Pdata (x) Pdata (x) + Pg (x) 2 ) + Pg (x)log( 1 2 Pg (x) Pdata (x) + Pg (x) 2 )]dx = ∫ x [Pdata (x)log( Pdata (x) Pdata (x) + Pg (x) 2 )]dx + ∫ x [Pg (x)log( Pg (x) Pdata (x) + Pg (x) 2 )]dx − ∫ x [(Pdata + Pg )log2]dx = DKL (Pdata || Pdara + Pg 2 ) + DKL (Pg || Pdata + Pg 2 ) − ∫ x [(Pdata + Pg )log2]dx Pdata = Pg = 0 − 2log2 = − log4 22
  9. ੜ੒Ϟσϧ  ˠपลԽपล֬཰ͱ΋͍͏ ·ͨ͸  ͭ·Γɺ ͕͋Δͱ֤ ʹରͯ͠YΛੜ੒Ͱ͖ΔͷͰੜ੒Ϟσϧͱ͍͏ P(Ck |x)

    = P(x|Ck ) P(x) × P(Ck ) P(x) = k ∑ i=1 P(Ci , x) P(x) = k ∑ i=1 P(x|Ck )P(Ck ) P(x|Ck ) Ck 27
  10. ࣗݾ৘ใྔ ઌ΄Ͳͷ৚݅Λຬͨ͢Α͏ʹ͢Δͱ৘ใྔ͸ର਺ؔ਺Ͱද͞ΕΔ  ·ͨɺ৘ใྔ ͷظ଴஋ΛΤϯτϩϐʔͱݺͼ ͱද͢ͱ    

     I(A) = log 1 P(A) = − logP(A) I(A) H(A) A = [a1 , a2 , . . . , an ] H(A) = E[P(A)] = n ∑ i=1 P(ai )I(ai ) = − n ∑ i=1 P(ai )logP(ai ) 31
  11. ΧϧόοΫŋϥΠϒϥʔڑ཭ ҟͳΔ̎ͭͷ෼෍ͷڑ཭ ࠩҟ Λද͢৘ใྔͷ͜ͱ ͦΕͧΕΛ ͱ ͱ͢Δͱ̎ͭͷ෼෍ͷࠩ෼͸࣍ͷΑ͏ʹͳΔ  Τϯτϩϐʔͱಉ͡Α͏ʹظ଴஋Λͱͬͨ΋ͷ͕ΧϧόοΫϥΠϒϥʔڑ཭ 

    ͨͩ͠1ͱ2͸ඇରশͰ͋Γ਺ֶతͳڑ཭ͷఆٛΛຬͨ͞ͳ͍ ରশʹͨ͠΋ͷΛ+FOTFO4IBOOPOμΠόʔδΣϯε P(x) Q(x) (−logQ(x)) − (−logP(x)) = log P(x) Q(x) DKL (P||Q) = ∑ i P(i)log P(i) Q(i) 32
  12. +FOTFO4IBOOPOμΠόʔδΣϯε ͱ Λରশʹѻ͏   ͜͜Ͱ ͷ࣌ରশ P(x) Q(x) 0

    ≤ λ ≤ 1 DJS = λDKL (Q||λQ + (1 − λ)P) + (1 − λ)DKL (P||λP + (1 − λ)Q) λ = 1 2 DJS (P||Q) = 1 2 (DKL (P|| P 2 + Q 2 ) + DKL (Q|| Q 2 + P 2 )) = DJS (Q||P) 33