Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

2017.10.12 PRMU 研究会

2,478 views

Published on

2017.10.12 PRMU 研究会 でのプレゼン資料.

Published in: Technology
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

2017.10.12 PRMU 研究会

  1. 1. Families of GANs 2017.10.12 PRMU研究会 ABEJA 高橋 智洋 (63 ページ目までが使用スライド.それ以降は未使用スライド) (今のところ,動画は未対応です...)
  2. 2. 目次 1. Original GAN の説明 2. Original GAN の問題点 3. Objective を変更した GAN 4. 応用例 5. まとめ 発表用に作成したコードはhttps://github.com/takat0m0 に公開予定.
  3. 3. Original GAN GAN 概要 どういう最適化問題を解けば良いの? 何故その最適化問題で良いの? 提案手法 実験結果 (参考文献 arXiv:1406.2661, arXiv:1701.07875)
  4. 4. GAN 概要 • 登場人物は,p_data, p_z, discriminator, generator の四人 . p_z(z) 〜 z p_data 〜 G D True False
  5. 5. GAN 概要 • 登場人物は,p_data, p_z, discriminator, generator の四人 . p_z(z) 〜 z p_data 〜 G D True False 人工的な分布 データの分布 zを種にDを騙せるような データ作成 データを True, G(z) をFalseと答える.
  6. 6. GAN 概要 p_data からのサンプル Generator が作るデータ Discriminator
  7. 7. GAN 概要 p_data からのサンプル Generator が作るデータ Discriminator 偽物! 本物! Discriminator は Generator が作るものを偽物, p_data からのものを本物と言えるよう学習.
  8. 8. GAN 概要 p_data からのサンプル Generator が作るデータ Discriminator 本物! 本物! Generator は Discriminator から本物と言ってもらえるよう学習.
  9. 9. GAN 概要 p_data からのサンプル Generator が作るデータ Discriminator 偽物! 本物! Discriminator は Generator が作るものを偽物, p_data からのものを本物と言えるよう学習.
  10. 10. GAN 概要 p_data からのサンプル Generator が作るデータ Discriminator 本物! 本物! Generator は Discriminator から本物と言ってもらえるよう学習.
  11. 11. どういう問題を解けば良いの? • 以下が前項に対応しそうな最適化問題.
  12. 12. どういう問題を解けば良いの? • 以下が前項に対応しそうな最適化問題. D は本物を本物と 言えるように. D は偽物を偽物と 言えるように.
  13. 13. どういう問題を解けば良いの? • 以下が前項に対応しそうな最適化問題. D に偽物を本物と 言えわせるように.
  14. 14. どういう問題を解けば良いの? • 以下が前項に対応しそうな最適化問題. • 次項以降で,何故これで良いのかを見る. • 結論を言えば,上記の最適化問題を解くことで以下の二つの確率分布が一致するよう になるから. • データ分布 p_data • p_z と G から導出される確率分布 p_g (つまり p_g(G(z)) = p_z(z)/(dG/dz) )
  15. 15. 何故その問題で良いの? • まず,max_D を考えてみる. の時に最大
  16. 16. 何故その問題で良いの? • 続いて min_G を考える. p_data = p_g の時に最小
  17. 17. 提案手法 • min_G と max_D を交互に 1 step ずつ進めることで min max 最適化を狙う. • Gを止めて,Dに「本物は本物と言え,偽物は偽物と言えるようにする」 • Dを止めて,Gに「G が作るものが D に本物と言ってもらえるようにする」 p_g p_data
  18. 18. 提案手法 D(x) p_g p_data • min_G と max_D を交互に 1 step ずつ進めることで min max 最適化を狙う. • Gを止めて,Dに「本物は本物と言え,偽物は偽物と言えるようにする」 • Dを止めて,Gに「G が作るものが D に本物と言ってもらえるようにする」
  19. 19. 提案手法 D(x) p_g p_data ではなく同じセンスのこちらが一般的 • min_G と max_D を交互に 1 step ずつ進めることで min max 最適化を狙う. • Gを止めて,Dに「本物は本物と言え,偽物は偽物と言えるようにする」 • Dを止めて,Gに「G が作るものが D に本物と言ってもらえるようにする」
  20. 20. 簡単な実験結果 p_data = single gaussian p_g
  21. 21. 画像の例 DCGAN論文より引用
  22. 22. GAN まとめ • train することで例えば非常に綺麗な画像を生成できる. • 二つの確率分布の一致という理論背景もあるのはありが たい. • ただし,次項以降で述べるように,やっぱり色々と問題 はある.
  23. 23. GAN の問題点 Parameter tuning がしんどい 勾配消失が起こりうる min max と max min は違う 問題点を受けて (参考文献 arXiv:1701.07875)
  24. 24. Parameter tuning がしんどい Adam beta1= 0.5 lr = 0.0002 Adam beta1= 0.99 lr = 0.0002 Adam beta1= 0.5 lr = 0.01
  25. 25. Parameter tuning がしんどい Adam beta1= 0.99
  26. 26. 勾配消失が起こりうる • 例えば,Discriminator が自信を持って正解と言える正解データ の勾配情報が消える. (when )
  27. 27. 勾配消失が起こりうる • 例えば,Discriminator が自信を持って正解と言える正解データ の勾配情報が消える. D が本物をものすごく本物と 言えると勾配消失 D が偽物をものすごく偽物と 言えると勾配消失 G が作成する偽物が D にものすごく本物と言われると勾配消失
  28. 28. 勾配消失が起こりうる 初期値として b を大きくしてみた
  29. 29. min max と max minは違う • Mode collapse の一因 混合 gaussian の場合は mode collapse する.
  30. 30. min max と max minは違う • Mode collapse の一因 全ての z で とできるのが最適
  31. 31. 問題点 原因など Parameter tuning 頑張る.(DCGAN 論文でオススメ のparameter が紹介されている.) 勾配消失 objective Mode collapse 最適化の方法,objective
  32. 32. GAN 研究の方向性 • 問題点の解決 • 最適化の方法は難しそうだから,objective を変更して 頑張る. • GAN の応用 • 問題点はあるが,綺麗な絵を作れたりするので色々な タスクへの応用がなされている.
  33. 33. GAN 達 objective 応用例 計算すると… 確率分布間の距離最小化 変わり種 クラス変換 domain変換 異常検知 Sequence to figure Classification CGAN ACGAN infoGAN CycleGAN DiscoGAN DualGAN AAE Improved GAN Stack GAN abnormal detection with pix2pix (V)AEとの合わせ技 AAE VAEGAN CVAEGAN AVB 3D 3D GAN UNIT Coulomb GAN WGAN WGAN-GP MMD GAN McGAN LSGAN EBGAN MAGAN BEGAN Image Compression
  34. 34. GAN 達 objective 応用例 計算すると… 確率分布間の距離最小化 変わり種 クラス変換 domain変換 Sequence to figure Classification CGAN ACGAN infoGAN CycleGAN DiscoGAN DualGAN AAE Improved GAN Stack GAN (V)AEとの合わせ技 AAE VAEGAN CVAEGAN AVB 3D 3D GAN UNIT Coulomb GAN WGAN WGAN-GP MMD GAN McGAN LSGAN EBGAN MAGAN BEGAN Image Compression 異常検知 abnormal detection with pix2pix 勾配消失の回避 Mode collapse の回避 JPEG のような 画像の圧縮復元. 実際に使えそう.
  35. 35. Objective の変更 LSGAN (arXiv: 1611.04076) Coulomb GAN (arXiv: 1708.08819)
  36. 36. LSGAN 概要 • 勾配消失の回避が狙い. • GAN がやりたいことを考えると以下を minimize するのが 直感的
  37. 37. LSGAN 概要 • 勾配消失の回避が狙い. • 論文では,以下として,どのような (a, b, c)であれば二つ の確率分布が一致するかを調べている.
  38. 38. 確率分布の一致 の時に最小. に代入 (when )
  39. 39. 簡単な例 p_gp_data
  40. 40. 画像への適応例 LSGAN論文より引用
  41. 41. 初期 bias を大きくしても大丈夫 GAN の場合 LSGAN の場合 p_data
  42. 42. Mode collapse check 円形の混合 gaussian GAN LSGAN p_data
  43. 43. Mode collapse check2 格子上の混合 gaussian.完全にはうまくいかない模様. p_data p_g
  44. 44. LSGAN まとめ • 勾配消失をなんとかした話. • 理由ははっきりしないが,それなりに mode collapse も 回避できる. • ちょっと計算すると Pearson Chi squared になって,二つ の確率分布が一致することを示せる.
  45. 45. Coulomb GAN概要 • Mode collapse 解消を狙っている. • 収束していく様子の動画を見ていると,固定された正電荷に負の電荷が集まって 来るようにも見える. • data の確率分布を正電荷,p_g を負電荷と思うと,全電荷密度ρ = p_data - p_g. ρ = 0 となるのを目指す.
  46. 46. アルゴリズム概要 • 以下の二つの phase を繰り返すことで ρ = 0を目指す. • G を固定して,静電 energy を計算 • F を小さくするように G を学習.
  47. 47. アルゴリズム概要 • 以下の二つの phase を繰り返すことで ρ = 0を目指す. • G を固定して,静電 energy を計算 • F を小さくするように G を学習. + + + - - - p_data からのサンプルを正電荷. p_z からのサンプルして G(z)を負電荷.
  48. 48. アルゴリズム概要 • 以下の二つの phase を繰り返すことで ρ = 0を目指す. • G を固定して,静電 energy を計算 • F を小さくするように G を学習. + + + - - - 電場を計算! -> 点電荷の電場の重ね合わせ!
  49. 49. アルゴリズム概要 • 以下の二つの phase を繰り返すことで ρ = 0を目指す. • G を固定して,静電 energy を計算 • F を小さくするように G を学習. + + + - - -
  50. 50. Coulomb GAN の売り • Mode collapse が起こりにくい. • 理論的にも示せる(ここでは割愛) • 感覚的には「mode collapse 起こしている状態のエネルギーが高い」 + + + - - - > + + + - - -
  51. 51. 簡単な例 p_data p_g
  52. 52. 画像の例 Coulomb GAN 論文から引用
  53. 53. Mode collapse check LSGAN Coulomb GANp_data
  54. 54. Mode collapse check2 LSGAN Coulomb GANp_data
  55. 55. Coulomb GAN まとめ • とにかくmode collapse を起こしにくい. • 文字が書けるくらい. • 物理的直感から生まれているだけあって,収束過程など で生きた議論がしやすい. • ちょっと収束が遅い印象.
  56. 56. Objective まとめ GAN名 勾配消失 Mode collapse 備考 GAN ❌ ❌ LSGAN ⭕️ 🔺 - 理由は良くわらないが mode collapse起こしにくい Coulomb GAN ⭕️ ⭕️ - Mode collapse 起こしにくい - ちょっと収束が遅い印象 個人的な感触は以下の通り. (*)今回は語れなかったが,現在の objective 修正の主流は 「確率分布間の距離を定義してそれを最小化する」というもの. 確率分布間の距離によって色々な種類が存在している.
  57. 57. 応用例 Image compression
  58. 58. Image Compression • Auto encoder と GAN を組み合わせることで,綺麗に画像の 圧縮・復元を行う.JPEG の代わりを目指す. • 大雑把には,Auto encoder が圧縮,GAN が復元を担当. <- Generative compression(arXiv: 1703.01467) Adaptive compression -> (arXiv: 1705.05823.)
  59. 59. 画像の圧縮と復元への利用 Generative compressionの結果.論文より引用.
  60. 60. 画像の圧縮と復元への利用 Adaptive compressionの結果.論文より引用. 同程度の圧縮率.それぞれ左が jpeg, 右が提案手法 AE + GAN というモデルを利用することで, 既存よりも,同程度の圧縮率でより綺麗に復元可能!
  61. 61. 応用例まとめ • 時間の都合で応用例一例だけ紹介. • ちょっと前までは「画像の生成」ばっかりと言う感じだ ったが,直近では現実に使われそうなタスク(今回紹介し たものであれば圧縮復元)にも応用されている印象. • GAN はモデルというよりも手法であったり,default option の一つなのかも.
  62. 62. まとめ
  63. 63. まとめ • GAN は,二つの分布を一致させるような学習. • そのために綺麗な絵を作れたりする. • ただ問題も結構ある. • 問題解決に向けて objective の変更が多々試されている. • 適当にやっているのではなく二つの分布が一致するというセンスは外してい ない. • 様々なタスクへの応用がなされている. • GAN はモデルというよりも手法の一つになりつつある印象.
  64. 64. 以後未使用スライド
  65. 65. GAN の問題点
  66. 66. 周期的になるかも • この最適化手法だと objective によっては周期的になるか も.
  67. 67. LSGAN
  68. 68. ちょっとした実験: MNIST であれば 大きな lr もOK Adam beta1 = 0.5 lr = 0.0002 Adam beta1 = 0.5 lr = 0.01 Adam beta1 = 0.9 lr = 0.0002 LSGAN GAN
  69. 69. Coulomb GAN
  70. 70. Mode collapse check1 LSGAN Coulomb GAN p_data
  71. 71. Mode collapse check2 5x5 の混合 gaussian でも OK でした. p_data p_g
  72. 72. Mode collapse check 3
  73. 73. Mode collapse check 3
  74. 74. WGAN
  75. 75. WGAN 概要 • 二つの確率分布間の距離を考え,それを最小化すること で二つの確率分布を一致させることを狙う. • WGAN では,Earth Movers distance(EMD),あるいは, その双対である Wasserstein distance(WD) を利用してい る.
  76. 76. EMD • 定義(EMD) s.t.
  77. 77. EMD • 定義(EMD) s.t. x p_data p_g x y f(x,y) x-> yと移す量 f(x, y) は x->y と移す量. それは 0 以上でありなさい.
  78. 78. EMD • 定義(EMD) s.t. x p_data p_g x1 y 左辺は,y に移って来る総量. それが p_g になりなさい. x2x3
  79. 79. EMD • 定義(EMD) s.t. x p_data p_g y1 左辺は x から出て行く総量. つまり x に元々あった量. それが p_data になりなさい. x y2 y3
  80. 80. EMD • 定義(EMD) s.t. x p_data p_g y 総「移動距離 x 輸送量」を最小化. p_g = p_dataなら,移動させなければ良い. x
  81. 81. WD s.t. • 定義(WD) 大体 Lagrange 双対 s.t.
  82. 82. WD s.t. • 定義(WD) 大体 Lagrange 双対 s.t. inf_Gを考えることで距離最小化 D を discriminator, G を generator と思って学習.
  83. 83. 1-Lipschitz はどうする? • 1-Lipschitz はどう担保? • f の各学習すべき重みを (-0.01, 0.01)などの範囲に clipping.
  84. 84. 簡単な例 p_data p_g
  85. 85. 画像の例 WGAN論文より引用
  86. 86. Clipping 有無実験 clipping あり clipping なし やはり,clipping は必要.1- Lipschitz の担保方法は考える必要がありそう.
  87. 87. WGAN まとめ • 確率分布間の距離を最小化することで二つの確率分布の 一致を狙う.back ground がしっかりしている. • 現在主流の考え方.WD は Integral Probability Metric(IPM) の一種なので,広く IPM を用いた GAN が 登場. • FisherGAN,MMD GAN, McGAN などなど. • 1-Lipschitz の担保方法が課題.
  88. 88. Cycle GAN
  89. 89. Domain 変換 • ここでは Cycle GAN を紹介. • 例えば,似顔絵 <-> 写真の変換 • GAN を二組用意して行う.
  90. 90. Domain 変換
  91. 91. pix2pix を用いた異常検知
  92. 92. Abnormal event detection in video • Abnormal event detection in video using generative adversarial nets を紹介. • 画像 <-> optical flow の画像変換を利用して異常検知.
  93. 93. Abnormal event detection in video • この分野での state of the art の精度を達成.

×