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.

Goodfellow先生おすすめのGAN論文6つを紹介

6,296 views

Published on

以下の6つの論文をゼミで紹介した
Progressive Growing of GANs for Improved Quality, Stability, and Variation
Spectral Normalization for Generative Adversarial Networks
cGANs with Projection Discriminator
High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs
Are GANs Created Equal? A Large-Scale Study
Improved Training of Wasserstein GANs

Published in: Engineering
  • Be the first to comment

Goodfellow先生おすすめのGAN論文6つを紹介

  1. 1. Bread Company @Goodfellow先生おすすめの @GANについての論文を @GANGAN読むゼミ @G Lab the University of Tokyo @GAN素人 @k1ito @GAN玄人 @sumipan 1 発表 聴講
  2. 2. Bread Company 0.スライド1枚で思い出すGAN 2https://www.slideshare.net/hamadakoichi/gan-nips2017
  3. 3. Bread Company 0.GANGAN成長するGAN 3
  4. 4. Bread Company 0.GANGAN成長するGAN(NIPS2017でのGAN) 4 https://www.slideshare.net/hamadakoichi/gan-nips2017
  5. 5. Bread Company 0.GANの中でもHOTTESTな6つを今日はおとどけ 5 ①GANを徐々に高画質にしていったら めっちゃきれいな画像ができた件 ②GANの各層を上手く正規化すると 学習が安定して多クラスでもOKになった件 ③CGANをちょっと変えただけで ②と合わせてめっちゃ良くなった件 ④高画質な動画や意味付け操作 まで可能になった件 ⑤巷に溢れているGANもどき そこまですごくない件 ⑥数学者が本気でGANやったら やばいことになった件 すべての論文で、問題提起→提案手法→結果の順番で発表します 論文をさらーっと追うことを念頭に置いています、
  6. 6. Bread Company 0.そもそも事の起こり MSのリサーチャーがGoodfellowにおすすめの論文がないか聞いたら 10個も答えてくれた https://twitter.com/timnitGebru/status/968242968007200769 6
  7. 7. Bread Company ①Progressive Growing of GANs ●論文:Progressive Growing of GANs for Improved Quality, Stability, and Variation https://arxiv.org/abs/1710.10196 目的:高画質・安定・多様な画像生成 手法:GeneratorとDiscriminatorに 徐々に高画質な層を追加してく Goodfellow: probably the highest quality images so far 7
  8. 8. Bread Company 問題提起(1)生成モデルの比較 8 モデル名 長所 短所 Autoregressive Model 鮮明 Latentを使わない 遅い VAE 学習が簡単 ぼやける GAN きれい 不安定 高画質はダメ
  9. 9. Bread Company 問題提起(2)GANの短所について詳しく ● 学習が難しい・不安定 分布が重ならないと勾配がダメになる ● 低解像度 高解像度だとDiscriminatorに有利 Batchサイズ的な意味でも難しい ● 多様性がない 一部の特徴しか捉えられない。 9
  10. 10. Bread Company 提案手法(1) Progressive Growing ●G:低画質→高画質層 D:高画質→低画質層 10
  11. 11. Bread Company 提案手法(1) なぜProgressiveが良いのか ● 低画質のほうが安定した学習ができる クラスに関する情報量が少ない ● 徐々に画質を上げていく < いきなり高画質を入れる (簡単) (難しい) ● Gを1つ、Dを1つでやっている 他にも似たような研究をしている人たちがいるが GとDを1つだけにしているのはこれだけ 11
  12. 12. Bread Company (補足)Progressiveの実装について ●どのようにして高画質を追加していくか toRGB:特徴量→RGB画像 fromRGB:特徴量→RGB画像 12
  13. 13. Bread Company 提案手法(2) Minibatch Standard Deviation ●多様性を加えるために ミニバッチごとに分散を計算して層に挿入する 13
  14. 14. Bread Company 結果(1) ●CELEBA・LSUNで高いスコアを達成 14
  15. 15. Bread Company 結果(2) Progressive Growingの検証 ●Progressive Growingを入れたほうが早く収束する(2倍ぐらい) ● ふつう Progressive 15
  16. 16. Bread Company 結果(3)高画質 16
  17. 17. Bread Company ②Spectral Normalization for GANs ●論文:Spectral Normalization for Generative Adversarial Networks https://arxiv.org/abs/1802.05957 目的:Discriminatorの学習の安定化 手法:Spectral Normで重みを正規化する Goodfellow:got GANs working on lots of classes, which has been hard 17
  18. 18. Bread Company 問題提起 GANの問題点 ●Discriminatorの勾配が不安定 𝐷 𝐺 ∗ 𝑥 = 𝑞 𝑑𝑎𝑡𝑎 𝑥 𝑞 𝑑𝑎𝑡𝑎 𝑥 +𝑝 𝐺(𝑥) がGを固定したときのoptimalな解だった。 𝐷 𝐺 ∗ 𝑥 ≔ sigmoid 𝑓∗ 𝑥 : = sigmoid(log 𝑞 𝑑𝑎𝑡𝑎 𝑥 − log𝑝 𝐺 𝑥 ) として定めると、 𝛻f∗ x = 1 qdata(x) 𝛻𝑞 𝑑𝑎𝑡𝑎 𝑥 − 1 𝑝 𝐺(𝑥) 𝛻𝑝 𝐺(𝑥) 18 ↑不安定 ↑不安定
  19. 19. Bread Company 手法:Spectral Norm ●fは実際はNNで、x→x+dtとしたとき、f(x)がどう動くかが不安 Def Aを行列とする。Aのspectral normを以下で定める。 𝜎 𝐴 ≔ max ℎ≠0 ||𝐴ℎ||2 ||ℎ||2 つまり、行列Aをかけると、最大でσ(A)倍L2ノルムが大きくなる Rem σ(A)は特異値(固有値のn×m行列ver)のうち最大のもの 19
  20. 20. Bread Company Spectral NormとLipschitz Norm Thm 𝑓(𝑥, 𝜃) = 𝑊L+1 𝑎 𝐿 ( 𝑊 𝐿 𝑎 𝐿−1 ( 𝑊 𝐿−1 ⋯ 𝑎1(𝑊1 𝑥) ⋯ ) ただし、WはNNのパラメータ、aは活性化関数 とする。 このとき、 || 𝑓 𝑥 – 𝑓 𝑥’ || || 𝑥 − 𝑥′|| ≤ || 𝑓|| 𝐿𝑖𝑝 ≤ 𝑙 𝜎(𝑊 𝑙) Proof 実際、多くの活性化関数はLipschitz連続で、 合成関数のLipschitzノルムは積に分解され、 後はSpectral normの定義から明らか。 20
  21. 21. Bread Company 結果(1)様々なHyperparameterでのスコア ●A,B,C,D,E,FとHyperparameterを変えて実験 → CIFAR10・STL10 どちらも 安定して・高いスコア 21
  22. 22. Bread Company 結果(2)特異値の比較 ●他手法:最初のほうのレイヤーで特異値が少なくなっている。 ●→rankが少なくなっている。→序盤で多様体として次元が落ちている 22
  23. 23. Bread Company 結果(3) Orthogonalとの比較 ●Orthogonalよりも、高次元・多イテレーションでは高いスコア 23
  24. 24. Bread Company ③cGANs with Projection Discriminator ●論文:cGANs with Projection Discriminator https://arxiv.org/abs/1802.05637 目的:安定した画像生成 多様な画像生成 カテゴリーを連続的に移動や高画質化も可能にしたい 手法:cGANを改良して、最後にyとの内積をとる Goodfellow:from the same lab as #2, both techniques work well together, overall give very good results with 1000 classes 24
  25. 25. Bread Company Conditional GANとは 25
  26. 26. Bread Company 問題提起 cGAN ●cGAN : DとGにカテゴリーのラベルを入れる しかし、それでもモデルの崩壊が生まれたりする。 さらに理論的に考えると、cGANは不自然な操作を行っている。 26
  27. 27. Bread Company 提案手法 yは後から内積をとってやる Thm Gを固定したとき、optimalなDiscriminator Dは 𝐷 = sigmoid{ 𝑦 𝑇 𝑉 𝜙 𝑥; 𝜃Φ + 𝜓 𝜙 𝑥; 𝜃Φ ; 𝜃Ψ } と書ける。つまり、xの関数のoutputとyの内積をとるのがoptimal ただし Vはyの埋め込み行列であり、φ,ψは後に定義されるxの関数 27
  28. 28. Bread Company 提案手法 Proof 𝐿 𝐷 = −∫ ∫ {𝑞(𝑦)𝑞(𝑥|𝑦) log (𝐷 𝑥, 𝑦 ) + 𝑝(𝑦)𝑝(𝑥|𝑦)log(1 − 𝐷(𝑥, 𝑦)} 𝑑𝑥𝑑𝑦 である。一般にa logx + blog(1-x)は a/(a+b)でoptimalであるので、 活性化関数がsigmoidであることに注意すると、 𝑓 𝑥, 𝑦 = log 𝑞 𝑥 𝑦 𝑞 𝑦 𝑝 𝑥 𝑦 𝑝(𝑦) = log 𝑞 𝑦 𝑥 𝑝 𝑦 𝑥 + log 𝑞 𝑥 𝑝(𝑥) ここで、 log 𝑝 𝑦 = 𝑐 𝑥 = 𝑣𝑐 𝑃 𝑇 𝜙 𝑥 − log(𝑍(𝜙 𝑥 )とパラメトライズする Qも同じモデルを使ってDを整理すると、 28 𝐷 = sigmoid{ 𝑦 𝑇 𝑉 𝜙 𝑥; 𝜃Φ + 𝜓 𝜙 𝑥; 𝜃Φ ; 𝜃Ψ }
  29. 29. Bread Company 例(正規分布) のとき 29
  30. 30. Bread Company 比較するConditional GAN 30
  31. 31. Bread Company 結果(1)スコア 31 手法 Inception Score Intra FID AC-GAN 28.5 ± 0.20 260.0 Concat 21.1±0.35 141.2 Projection 29.7±0.61 103.1 Projection 850K Iter. 36.8±0.44 92.4
  32. 32. Bread Company 結果(2) Model崩壊の防止 32
  33. 33. Bread Company 結果(2) Model 崩壊の防止 33
  34. 34. Bread Company 結果(3) カテゴリー間移動 ●似てるカテゴリ 船からヨット ピザからバーガー ●似てないカテゴリ 犬からWebpage ●犬からキノコと城 34
  35. 35. Bread Company 結果(4) 高画質化(32*32から128*128) 35
  36. 36. Bread Company ④Highresolution Image Synthesis ●論文:High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs https://arxiv.org/abs/1711.11585 https://tcwang0509.github.io/pix2pixHD/ 目的:高画質・意味付け・多様な画像生成 手法:粗から密のGenerator 複数の画質に対してDiscriminatorを用意 層(特徴量)ごとに差を計算して正則化項とする Goodfellow:GANs for 2-megapixel video 36
  37. 37. Bread Company 問題設定 (InputとOutput) 37
  38. 38. Bread Company 問題設定(Intraactiveな編集もしたい) 38
  39. 39. Bread Company 手法(1)Coarse-to-fine generator G1:global , G2:localというふうに分ける。 G1は0.5倍した画像をResidual Blockで学習 G2は普通の画像をResidual Blockで学習し途中でG1結果をたす 39
  40. 40. Bread Company 手法2 Multi-scale Discriminator ●D1,D2,D3と別々のDiscriminatorをつくる min 𝐺 max 𝐷1,𝐷2,𝐷3 𝑘=1,2,3 𝐿 𝐺, 𝐷 𝑘 利点: 1。小さいネットワークで済む 2。高画質化をしながら過学習に対応する 40
  41. 41. Bread Company 手法3 Adversarial Loss ●次の項を正則化項として加える。 T:Layerの合計数 𝑁𝑖:i1層目の合計要素数 41
  42. 42. Bread Company 手法4 Instance Maps ●物体の意味を扱いたい。 ●物体のラベルは隣接している事が多い。 → ラベルだけでなく輪郭も追加して情報を与え、認識力を上げる。 42
  43. 43. Bread Company 結果(1) 意味付けの成功率 43
  44. 44. Bread Company 結果(2) A/Bテスト ●当モデルが生成した画像v.s.pix2pix,CRNが生成した画像 44
  45. 45. Bread Company 結果(3) Discriminatorを増やしたことによる影響 45
  46. 46. Bread Company 結果(4) リアルでカラフルな画像生成 46
  47. 47. Bread Company ⑤ Are GANs Created Equal? ●論文:Are GANs Created Equal? A Large-Scale Study https://arxiv.org/abs/1711.10337 目的:そこまでGAN(original)とX-GANの代わりはない説 FIDのminだけを見ることをへの疑問 その他色々GANの検証 手法:GANs (MM,LS,W,W-GP,BE)-GAN Metric: FID,InceptionScore,F1 Goodfellow:A big empirical study showing the importance of good rigorous empirical work and how a lot of the GAN variants don't seem to actually offer improvements in practice 47
  48. 48. Bread Company Goodfellow先生のお言葉 48
  49. 49. Bread Company GANいろいろ ●WGAN: Wasserstein的に解釈してD・Gを計算 ●LSGAN: sigmoid を2乗誤差にする ●BEGAN: Autoencoder・DiversityとShapenessを指定 ●WGAN-GP: WGANに勾配上限制約をつける ●DRGAN: ●目的関数を線形・凸にするためPenaltyをつける 49
  50. 50. Bread Company GANいろいろ 50
  51. 51. Bread Company Metricいろいろ(1) Inception Score ●Inception Score (1) p(y|x)のentropyは低いはず Xが与えられればyは定まるはずなので (2) ∫p(y|x=G(z))dzのentropyは高いはず Generateされる画像全部を集めたものなので 51
  52. 52. Bread Company Metricいろいろ(2) Frechet Inception Distance ●Inception Netによってfeature spaceに画像を埋め込む ●Gaussianとみなして良いので平均・共分散行列を計算する。 52
  53. 53. Bread Company FID vs IS 53 ノイズを加える ノイズを加える ぼかす ぼかす
  54. 54. Bread Company PrecisionとRecallという考え方再訪 ●Presicion:適合率 どれだけ正確に特徴を取られられるかa-c ・Recall:再現率 どれだけ多様性を持たせられるかa-b ・FIDはPrecisionとRecall両方を加味 ISはPrecisionのみに着目している 54
  55. 55. Bread Company フェアな比較をするためには ●ネットワークの構造の細部を同じにする ●ハイパーパラメータの探索時間・範囲を同じにする ●Datasetを同じにする ●Trainingにかける計算量を同じにする 55
  56. 56. Bread Company 結果(1)BudgetとFID ●Budgetを低くするとFIDの差はなくなる ●FIDを固定して一番低いBudgetで達成できるものを探すのも良 56
  57. 57. Bread Company 結果(2)Hyperparameter ●Hyperparameterの探索範囲を制限すると有意ではなくなる 57
  58. 58. Bread Company 結果(3)F1,Precision,Recall ●この尺度では、WGANとNSGANが良い ●BEGANは実装がむずいのでミスった説・成功しても収束遅い 58
  59. 59. Bread Company ⑥Wasserstein GANs - GP ●論文:Improved Training of Wasserstein GANs https://arxiv.org/abs/1704.00028 目的:Wasserstein GANの安定化 手法:WGANに勾配が1になるようにペナルティを化す Goodfellow:probably the most popular GAN variant today and seems to be pretty good in my opinion. Caveat: the baseline GAN variants should not perform nearly as badly as this paper claims, especially the text one 59
  60. 60. Bread Company 問題提起(1) Wasserstein GAN ●普通のGAN ●WassersteinGAN Dは1-Lipschitzな関数のみ 60
  61. 61. Bread Company 問題提起(2)WassersteinGANの問題 ●学習がうまくいかない・収束しない 61
  62. 62. Bread Company 手法(1) Gradient Penalty 62
  63. 63. Bread Company 手法(おまけ)なぜWGAN-GPがうまくいくのか Prop 𝑋: compact metric space 𝑃𝑟, 𝑃𝑔: distributions in 𝑋 𝑓∗ を以下の最適化問題の最適解とする。 max 𝑓 𝐿 ≤1 𝐸 𝑦 𝑓 𝑦 – 𝐸 𝑥[𝑓 𝑥 ] このとき、Pr ∇𝑓∗ = 1 = Pg ∇𝑓∗ = 1 = 1 ∴最適なfの勾配は1→1から外れたらペナルティを課そう 63
  64. 64. Bread Company 結果(1) いろいろな構造で試す 64
  65. 65. Bread Company 結果(2) IS ●ISが1.0,3.0,5.0,7.0,9.0を超えれますかチャレンジ。 IS:~3.0はGANも成功するが、GANの上位互換となっている。 IS:3.0~はWGAN-GPしかできなくなる 65
  66. 66. Bread Company 結果(3) いろんな構造で試す ●劣悪な環境でもそこまで死なない 66
  67. 67. Bread Company 結果(3) いろいろな構造で試す ●同様 67
  68. 68. Bread Company 結果(4) 収束 ●Weight Clipingより早く・DCGANより安定する 68
  69. 69. Bread Company 結果(5) 分布Discreteな場合(=文字列) ●そこまで上手は行かなかった 69
  70. 70. Bread Company 結果(6)Sampleの質と相関がある・過学習する ● Ours Weight Cliping 70

×