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.

How good is my GAN?

224 views

Published on

ECCV2018 勉強会 発表資料

Published in: Engineering
  • Be the first to comment

How good is my GAN?

  1. 1. How good is my GAN ? ECCV2018 勉強会 M2 中塚俊介
  2. 2. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. TL;DR ◼ GANの画像生成の定量的な指標が必要 ― Inception Score, Fréchet Inception Distance (FID)などが存在 ― IS, FIDはImagenetで学習されているInception Networkを使うので, 他のデータセットへ適用して精度を保証できるものではない ◼ GAN-train (recall: diversity) と GAN-test (precision: quality) を提案 2
  3. 3. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. GANのおさらい ◼ Discriminator ― 入力が x ~ Prもしくは,x′ ~ Pgであるかを判定する ― 実質的には,データ分布 Pr と生成分布 Pg がどれだけ離れているかを測る ◼ Generator ― Discriminatorの提示するどれだけ離れているかという指標を最小化する ― 最終的には,本物の画像 (x ~ Pr) に近い画像 (x′ ~ Pg) を出力する 3 Pz Pg Generator Discriminator Pr
  4. 4. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. GANのおさらい ◼ Pr とPg がどれだけ離れているかを表す指標は様々 ― JSD ― Energy ― Wasserstein Distance ― ... and more !! ◼ GANのテクニックも様々 ― Unrolled ― Gradient Penalty ― Spectral Normalization ― Progressive Growing ― ... and more !! 4
  5. 5. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. 5 何をモチベーションに色々な研究がされているのか?
  6. 6. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. GANに求められてるもの ◼ 多様性のある生成 ― データ分布を完全にカバーできるわけではない ― Mode Collapse (同じような出力ばかりする) ◼ 質の高い生成 ― 人間がみると生成と本物の差はわかってしまう ◼ 安定的な学習 ― 学習が破綻しやすい ― 2つのネットワークのバランス調整が必要 6 生成に関する指標が必要 ⇒ Inception Score, FID
  7. 7. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Inception Score ◼ Imagenet で学習済みのInception Networkを使った評価指標 ◼ Inception Network が識別しやすい(質が高い), 識別されるラベルのバリエーションが大きい(多様性)ほど,大きくなる指標 7 ( )~exp ( | ) || ( )gx P KLIS E D p y x p y =     ( | ) ( )i ip y x F x= ネットワークの出力  ~( ) ( | )ix X ip y E p y x= ネットワークの出力の周辺確率 label probability label probability p(y|xi) p(y) 理想的な状態 多様性がある confidenceが高い ⇒質が高い Prの情報は一切考慮に入っていない
  8. 8. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Fréchet Inception Distance (FID) ◼ Imagenet で学習済みのInception Networkを使った評価指標 ◼ Inception Networkの特徴ベクトルの平均と分散共分散行列を Pr とPg のそれぞれから算出(2つのガウス分布) ◼ 小さいほど,良い指標 ◼ 現在のスタンダード 8 ( ) 122 2 2r g r g r gd tr   = − +  +  −     
  9. 9. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Sliced Wasserstein Distance ◼ PGGANで使われてる指標 ◼ Laplacian Pyramid の各レベルから,7×7のパッチを切り出す 論文内では,16,384枚の画像から各レベルで128枚のパッチ切り出して, 221個のdescriptorを作成 ◼ それぞれを1次元に変換して,SWDを測る 9 x′ = top_k(x ∙ θ) θ ~ N(o, I), θ ∈ 𝑹 𝑁 y′ = top_k(y ∙ θ) SWD = |x′ − y′|  Wasserstein Distanceは 高次元ベクトルに対して,計算が大変  1次元に関しては,closed formが存在する  だから,slice して1次元ごとにしよう
  10. 10. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. それぞれの弱点 ◼ Inception Score ― Imagenet で学習済みのInception Networkに依存している ― Prの情報は一切考慮に入っていない ◼ FID ― Imagenet で学習済みのInception Networkに依存している ― 結局のところ,ガウス分布を仮定している ◼ Sliced Wasserstein Distance ― 解像度が低い画像に関しては適用できない 10
  11. 11. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. 前提(手法に入る前に) ◼ この論文で扱うのは,ConditionalなGAN ◼ GANにおいて大事なことは ― realistic ― recognizable as coming from a given class ◼ Target distributionを完全につかんだGAN ― 生成する分布 Sg はデータセットの分布 St とは区別できない ― Sgと St の容量が同じ and MNISTのような単純なデータセットなら 同じvalidation accuracy を持つはず 11
  12. 12. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. GAN-train ◼ Sgで訓練された分類器を St を使って評価する ◼ GANが完璧でなければ ― Mode Collapseして多様性がない ― 識別に有用な特徴をとるのに十分な品質でない ― Conditionalな生成がうまくできていない ◼ train acc と valid acc が近いなら, Sg は St と同じくらいのQuality かつ Diverse である 12
  13. 13. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. GAN-test ◼ Stで訓練された分類器を Sg を使って評価する ― GANがうまく学習できていれば,簡単なタスクのはず ― St と Sgは同じ分布になっているはずだから ◼ 理想は「 train acc と valid acc が近い」こと ― valid acc が高いなら,GANがOverfitting してる and St を単に記憶しているだけ ― valid acc が低いなら,GANが St を捉えきれていない and Low Quality ◼ この指標は,分布の多様性を測ることは不可能 ― GANが1つのサンプルだけを記憶すれば, GAN-test は高くなってしまうから... 13
  14. 14. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Datasets ◼ MNIST ― Shape : (28, 28, 1) ― Train : 60k ― Test : 10k ◼ CIFAR10 and CIFAR100 ― Shape : (32, 32, 1) ― Train : 50k ― Test : 10k ◼ ImageNet (1000 classes) ― Shape : (128, 128, 3) or (64, 64, 3) ― Train : 1.3M ― Test : 50k 14
  15. 15. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Models ◼ PixelCNN++ ― Autoregressionモデル ◼ WGAN ― Wasserstein Distance を metricsとしたGAN ― with Gradient Penalty ― 現在のStandard Model ◼ SNGAN ― Spectral Normalization を適用したGAN ― 2017年のConditional GANの最高のモデル ◼ DCGAN ― Base Model 15
  16. 16. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Experiment (MNIST) ◼ 4層のConvnetで99.3% のtest acc が出た ― SNGANの GAN-train: 99.0% ― SNGANの GAN-test : 99.2% ◼ Sg は St と同じくらいのQuality かつ Diversity である 16
  17. 17. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Experiment (CIFAR10) 17 WDを最小化しているので小さくなる ⇒他のModelと比較するのは Fairじゃない? Sg (SNGAN) St Classifierの特徴ベクトルが 近いサンプルを持ってきた SNGANは,訓練データセットに近い, 同じクラスの画像を見つけることができる パラメータ数
  18. 18. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Experiment (CIFAR10) GAN-trainとGAN-testの関係を強調するために Subsampling と Corruptingしてみた ◼ Subsampling(データを少なくしてみる) ― GAN-test : 鈍感 ― GAN-train : 敏感 ◼ Corrupting (1%~20%のごま塩ノイズ) ― GAN-test : ほとんど影響なし ― GAN-train : 82% ⇒ 15% 18
  19. 19. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Experiment (CIFAR10) 「CIFAR10において,FIDを使うのは不十分ではないか?」 ◼ CIFAR10にガウシアンノイズ(σ=5)を付与すると,FIDは27.1に ― その中から,5k random samplingしても 29.6 ― この微差は,Diversity によるものか Quality によるものか判別が難しい ◼ 提案手法では ― GAN-test : 95%⇒95% ― GAN-train : 91%⇒80% ― つまり, Diversityが失われていたことがわかる! 19
  20. 20. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. CIFAR100 20 High Quality だけど Poor Diversity 差が顕著にわかる Random Forestで試しても順位変わらず
  21. 21. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. CIFAR100 ◼ 官能的な検証も行った ― 5人の被験者に,特定のクラスに対して生成された2枚のサンプルから “どっちがRealistic か?”を聞いてみる ― “SNGAN vs DCGAN“ “SNGAN vs WGAN(2.5M)” “SNGAN vs WGAN(10M)” ― ↑の3回の判定を1人に100回ずつやってもらった ◼ SNGAN vs DCGAN ― 368 : 132 ◼ SNGAN vs WGAN(2.5M) ― 274 : 226 ◼ SNGAN vs WGAN(10M) ― 230 : 270 21
  22. 22. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. ImageNet 22 かなり精度が 上がった 変化がわからない
  23. 23. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. データセットの大きさとDiversityの関係 ◼ 意外と全体的にサチるのは早い ◼ SNGANが一番Diversity がある 23
  24. 24. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Data Augmentation ◼ すべてのデータで学習されたSNGANで生成されたデータを50k追加してみた ◼ Performanceの向上を確認 ― でも,これ“すべてのデータで学習されたSNGAN”を使っているため, ニーズに則した実験ではないのでは…? 24 追加分が Poor Diversityだから?
  25. 25. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Data Augmentation ◼ SNGANに与えるデータも制限してみた ― 精度が落ちる? ― Poor Diversityだから? 25
  26. 26. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. まとめ ◼ GAN-train (recall: diversity) と GAN-test (precision: quality) を提案 ― GAN-train と GAN-test は従来手法に比べて有用 ◼ 実験・評価・考察を頑張りました ◼ GANでのAugmentationは,Diversity を失いやすい ― 小さいDataset からDiversity のあるGANを学習しないといけない(それは夢) ◼ 感想 ― Augmentationしたら精度が上がるという論文の是非が気になる もちろん,Datasetの違い(枚数,種類,複雑さ)もあるが... ― クラス情報なしの評価指標も必要では? 26
  27. 27. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. 27 Questions ?
  28. 28. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Distance, Divergence (過去スライドより抜粋) 分布間の距離をどう定義するかでGANのObjectiveは変わる ◼ JSD(Jensen Shannon Divergence) → Standard GAN ◼ EMD(Earth Mover’s Distance) → WGAN 28        ( )mpKLDmpKLDppJSD xpxp m xp xp EppKLD grgr gr g r pxgr r |||| 2 1 || 2 )()( )( )( log|| ~ += + =         = ( ) ( ) yxEppW yx pp gr gr −=    ~),( , inf,
  29. 29. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. JSD vs EMD(過去スライドより抜粋) ◼ Standard GAN ― 不連続なpg を生成していたのは、JSD自体が不連続だから ― また、勾配消失問題もJSDのせい ◼ WGAN ― Gがθにおいて連続なら、EMDも連続 ― DがK-Lipschitz連続性(関数の傾きがある定数Kで抑えられるような一様連続性)を保つなら、 EMDはどこでも連続かつ微分可能 29
  30. 30. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Gradient Penalty(過去スライドより抜粋) Optimal Critic D*は という直線上のどこにおいても、以下の勾配を持つ つまり、勾配のnormは1 だから、GP項はnorm=1からどれだけ離れているかを表している これで、1-Lipschitz連続性が担保できる! 30 xzGx  +−= )()1(ˆ xx xx xDx ˆ ˆ )ˆ(* ˆ − − = ( )     − 2 2ˆ 1)ˆ(xDx 正規化されているのでnormは1
  31. 31. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Spectral Normalization for Generative Adversarial Networks ◼ GANにSpectral Normalization を適用した ◼ Contributions ― GANの安定性の向上 ― ImageNet等の多クラスデータセットに対して,生成を可能にした ― 簡単な実装,計算 ◼ PFNの論文 ◼ GoodfellowがGANで読むべき論文10選に選出 31
  32. 32. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Spectral Normalization for Generative Adversarial Networks ◼ 前提 ― GANにおいて,Discriminatorの学習が重要 ― Discriminatorが,Lipschitz連続性を保つことが安定に繋がる ― NNの演算は,a(Wx)の繰り返し 32 1 2 0( ( ( ( ( ( ))))L L Ly a a a a x− −= L L-1 0W W W
  33. 33. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Spectral Normalization ◼ 入力h のL層目から,L+1層目への写像g のLipschitz norm は, ◼ 上式のσ は,行列A のSpectral Normである ◼ これは,行列A の最大特異値に等しい ◼ 各レイヤーの演算は,線形であるため ◼ つまり,重みW の最大特異値がLipschitz Normである 33 sup ( ( )) h g h  2 2 20 1 2 ( ) max max h h Ah A Ah h    = = sup ( ( )) sup ( ) ( ) h h g h W W   = =
  34. 34. Copyright © 2018 Gifu-U Kato-Lab All Rights Reserved. Spectral Normalization ◼ NNの演算は, a(Wx)の繰り返し ― 各レイヤーのLipschitz NormがK以下ならば,NN全体のLipschitz NormもK以下 ― K = 1 ならば... ◼ 計算時は,更新ごとに全重みを特異値分解する必要がある ― 計算コスト大 ― Power Iteration(近似)で解決 34 ( ) SN W W W =

×
Save this presentationTap To Close