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

これでわかる GAN

Avatar for Yosuke Yosuke
September 12, 2019

これでわかる GAN

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

Avatar for Yosuke

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