17
DEEP LEARNING JP [DL Papers] http://deeplearning.jp/ Improved Training of Wasserstein GANs Jun Hozumi, Matsuo Lab

[DL輪読会]Improved Training of Wasserstein GANs

Embed Size (px)

Citation preview

Page 1: [DL輪読会]Improved Training of Wasserstein GANs

1

DEEP LEARNING JP[DL Papers]

http://deeplearning.jp/

Improved Training of Wasserstein GANs

Jun Hozumi, Matsuo Lab

Page 2: [DL輪読会]Improved Training of Wasserstein GANs

書誌情報• TTiittllee:: IImmpprroovveedd TTrraaiinniinngg ooff WWaasssseerrsstteeiinn GGAANNss

– Wasserstein GANの改良版(WGAN-GP)

• Authors: Ishaan Gulrajani, Faruk Ahmed, Martin Arjovsky, VincentDumoulin, Aaron Courville– 主にMontreal Institute for Learningの研究者

• Submitted on 31 Mar 2017• Citations: 60

• 有名論文であるものの、DL Seminarsではまだ誰もやっていなかったので

2

Page 3: [DL輪読会]Improved Training of Wasserstein GANs

目次• 復習: GAN, WGAN• WGANの問題点と特徴• Gradient Penalty(提案手法のキモ)• WGAN-GP(提案手法)• 実験• 結論

3

Page 4: [DL輪読会]Improved Training of Wasserstein GANs

復習: GAN• (通常の)GANは、以下の目的関数を最適化する

• それは元データと出力(x)の分布のJS Divergence(JSD)の最小化に相当• しかし、勾配消失問題が起こるなどの理由から、その最小化は難しい

– JSDが潜在的に連続じゃないから?

– 詳 し く は 「 Towards Principled Methods for Training GenerativeAdversarial Networks」「Wasserstein GAN」を参照

4

Page 5: [DL輪読会]Improved Training of Wasserstein GANs

復習: WGAN(Wasserstein GAN)

• JSDの代わりに「Earth-Mover Distance」(Wasserstein-1)を採用• Wasserstein GAN(WGAN)は、以下の目的関数を最適化する

– Kantrovich-Rubinstein Dualityを用いて行う

• WGANはGが最適化しやすく、目的関数とサンプルの質とが相関する– 学習がうまくできているかを可視化したり比較したりできる

5

Page 6: [DL輪読会]Improved Training of Wasserstein GANs

復習: WGAN• 1-Lipschitz制約を適用するために、Critic(GANのDiscriminatorに相当)の

重みが[-c, c]に収まるようWeight Clippingを行う

6(WGAN論文より)

Page 7: [DL輪読会]Improved Training of Wasserstein GANs

参考: リプシッツ連続• 写像fがリプシッツ連続なら、実定数Kが存在して以下の式を満たす。

• 1-Lipschitz制約は、K=1のリプシッツ連続を満たすようにさせること

7(https://ja.wikipedia.org/wiki/リプシッツ連続 より)

リプシッツ連続函数に対し、適当な双錐 (白) が存在して、双錐の頂点が函数のグラフ上を移動するように双錐を平行移動するとき、常にそのグラフが双錐の外側 (緑) にあるようにできる。

Page 8: [DL輪読会]Improved Training of Wasserstein GANs

WGANの問題点• Weight Clippingで良いのか? → 実は色々と問題があった

– 各種Normalizationや重み減衰を適用しても解決できなかった

8

Weight Clippingだと勾配が爆発したり消失したりする Weight Clippingは重みが二極化してしまうため勾配爆発してしまい、学習も遅くなりがち

((Gradient penaltyがが提提案案手手法法))

Page 9: [DL輪読会]Improved Training of Wasserstein GANs

WGANの特徴• WGANのCriticは最適化されているとき以下の特徴を持つことが分かった

9

D*(最適化されたWGANのCritic)が微分可能で、xがPg(生成データの分布)の点であるとき、Pr(訓練データの分布)よりサンプリングした点yが存在し、xからyに引いた直線上のすべての点xt( )における勾配がyに直接向く、すなわち が成り立つ。

最適化されたWGANのCriticはPr、Pg下のほぼ全ての点において単位勾配ノルム(ノルム1の勾配)を持つ

(証明は元論文の巻末A参照)

Page 10: [DL輪読会]Improved Training of Wasserstein GANs

Gradient Penaltyの導入• 以上を踏まえ、Gradient Penaltyを導入したWGAN(WGAN-GP)を提案

– (最適化されたWGANの特徴である)「CriticがPr、Pg下のほぼ全ての点においてノルム1の勾配を持つ」ように、Lossにペナルティ項を導入する

– 元データと生成データとの内分点の勾配ノルムからペナルティを計算する

10

Page 11: [DL輪読会]Improved Training of Wasserstein GANs

Gradient Penaltyの効果• Weight Clippingの場合と比べて、うまく学習できている

11

Gradient Penaltyなら重みも幅広く分布し、モデルのCapacityをより活用できている

Toy Datasetsで学習させたCriticsの比較(Gは固定)Gradient Penaltyは、より複雑な関数を学習できている

Page 12: [DL輪読会]Improved Training of Wasserstein GANs

提案手法: WGAN-GP• 全体アルゴリズム

12

Page 13: [DL輪読会]Improved Training of Wasserstein GANs

実験1

13

• CIFAR-10を用いてInception Scoreで評価– Gradient Penalty版はWeight Clipping版に比べてスコアが高く、収束も早い

– DCGANと比べると収束は遅いが、収束後はより安定している

Page 14: [DL輪読会]Improved Training of Wasserstein GANs

実験2• 様々な構造下で実験すると、WGAN-GPのみが全パターンで成功

– WGAN-GPの汎用性(ロバストネス)

14

Page 15: [DL輪読会]Improved Training of Wasserstein GANs

実験3• 自然文の生成(Character Level)もできる

– Prが離散的でも学習できる(従来のGANではJSDが発散するので失敗する)

15

Page 16: [DL輪読会]Improved Training of Wasserstein GANs

実験4• 学習状況が見えるので、過学習の発生時が分かる

– Gradient Penalty 版 で は Critic が Generator よ り も 速 く 学 習 す る の で 、Validation側のLossが下がっているときもTrain側のLossが徐々に増加する

16

Weight Clipping(MNIST)Gradient Penalty(MNIST)Gradient Penalty(LSUN Bedrooms)

Page 17: [DL輪読会]Improved Training of Wasserstein GANs

結論• Gradient Penaltyを導入することでWeight Clippingによって生じていた

WGANの欠点を克服し、WGANを様々なGANに適用できるようにした。• 安定したGANの学習手法を手にしたので、これからは最も良い性能を

引き出せる構造の研究に注力できる。(大量の画像や言語など)

17