ほろ酔い開発日誌

有意義な技術的Tipsを共有出来たら嬉しいです。Ruby、Railsが好きです。Web開発全般(Rails多め、フロント、サーバー、インフラ)、データ分析、機械学習あたりの記事が中心になる予定です。

GoodfellowさんのGANのオススメ論文10選まとめ (2018/02)

GANの作者のGoodfellowさんがおすすめの10論文を教えていたので、みてみます。

()内はGoodfellowさんのコメント。基本的には最新の論文をすすめるということでICLR2018のオーラル論文等最新のが多め。

1. Progressive GANs

[1710.10196] Progressive Growing of GANs for Improved Quality, Stability, and Variation

(probably the highest quality images so far)

ICLR2018のオーラルに採択された論文。 高解像度の画像の生成において、段々と出力画像のサイズを大きくしていく方法を使っている。1つのGeneratorの中でlayerを少しずつ追加して学習を重ねていく。

イントロ含めてGANの流れもすごく置いやすくて読み物としてもいいので、参考論文追うと良さそう。

なんか低解像度から高解像度みたいなことをするといい結果が得られるよっていうのが結構あったりとかするけど、それをlayerひとつひとつ追加して行うという方法でまあ確かにそこまでやれば精度上がりそうという印象は受けた。

2. Spectral normalization

Spectral Normalization for Generative Adversarial Networks | OpenReview

(got GANs working on lots of classes, which has been hard)

こちらもICLR2018のオーラル論文より。Lipschitzs制約を使ってGANの学習を安定化させる。GANの学習の安定は重要な点のひとつなので大事かと。個人的にはLipschizs制約まわりはちゃんと勉強しなきゃな、、と思う次第です。

参考

Spectral Normalization for Generative Adversarial Networks · Issue #388 · arXivTimes/arXivTimes · GitHub

3. Projection discriminator

(from the same lab as #2, both techniques work well together, overall give very good results with 1000 classes) Here's the video of putting the two methods together:

Consecutive category morphing of GANs generated images (submitted to ICLR 2018) - YouTube

ICLR2018ポスター論文。conditional GANの改善版。シンプルな方法でAC-GANsよりいい結果になったということ。以下の図が分かりやすい。確かに、クラス分類のロスを別で取るより内包させて敵対的ロスだけでまとめたほうが目的のタスクに集中出来るような気がする。損失関数を考えるときに思い出したい改良だなあと思うところです。

f:id:seishin55:20180228124432p:plain

4. pix2pixHD

(GANs for 2-megapixel video)

High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs - YouTube

Pic2Picの強化版。高解像度(2048x1024)の画像をPic2Picで生成したという論文。一度、低解像度のGeneratorで学習を行い、その後でそれを間にはさむ形で高解像度のGeneratorを学習させる。また、Discriminatorも複数スケールに対応させたものを用意。

参考

GitHub - NVIDIA/pix2pixHD: Synthesizing and manipulating 2048x1024 images with conditional GANs

High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs · Issue #544 · arXivTimes/arXivTimes · GitHub

5. Are GANs created equal?

[1711.10337] Are GANs Created Equal? A Large-Scale Study

(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 )

様々なGANのバリエーションが提案されてきたが、それらはハイパーパラメータや初期値の調整によって差はほとんどなくなることを実験的に確かめた論文。NIPS2017のGANs Trained by a Two Time-Scale Update Rule Converge to a Local Nash Equilibriumで提案されるFIDを評価指標として利用している。

ちなみに、評価指標のほうの実験的に確かめた論文もあって、AN EMPIRICAL STUDY ON EVALUATION METRICS OF GENERATIVE ADVERSARIAL NETWORKSがあるのを思い出したが、ICLR2018でrejectされてるっぽい。

6. WGAN-GP

[1704.00028] Improved Training of Wasserstein GANs

(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 )

GANの選択肢としてポピュラーな選択肢。WGANのアップデート版。WGANはJS divergenceの代わりにLipschiz制約を用いた学習を行う。この際、weight clipingというものを行っていたが、十分ではなく、gradient panaltyを導入したのがWGAN-GP。

参考

[DL輪読会]Improved Training of Wasserstein GANs

7 StackGAN++

[1710.10916] StackGAN++: Realistic Image Synthesis with Stacked Generative Adversarial Networks

(High quality text-to-image synthesis with GANs )

テキストからそのテキストに対応する画像にする論文。StackGANの強化版だが、いずれにせよ、Generatorを重ねて低解像度の画像から高解像度へと順に生成を行っていく。

ちなみに、同タスクでAttnGAN: Fine-Grained Text to Image Generation with Attentional Generative Adversarial Networksというものもあって、StackGAN++より精度は良いという結果になっている模様。

参考

Microsoft、テキストから画像を描く人工知能「AttnGAN」で見事な小鳥の絵 - ITmedia NEWS

8. Security

Privacy-preserving generative deep neural networks support clinical data sharing | bioRxiv

(Making all ML algorithms differentially private by training them on fake private data generated by GANs )

プライバシー関連の論文。医療で患者のプライバシーをどう守るかなど。実際にGANを社会実装する場合に考えることはありそう。これに関わらず、簡単にFake画像や動画を作れるというのは慎重に考える必要がありそうだなあとも思う。

9. GANs with encoders

[1701.04722] Adversarial Variational Bayes: Unifying Variational Autoencoders and Generative Adversarial Networks

(You should be a little bit aware of the "GANs with encoders" space, one of my favorites is https://arxiv.org/abs/1701.04722 )

GANとVAEのいいとこどりをしようとしている論文。詳しい解説をしている記事があったのでこちらに説明は譲ります。(https://www.xcompass.com/blog/1039/

ICLR2018のオーラルでも同じような目的の研究が採択されていたなあと思いました。(Wasserstein Auto-Encoders)

10. theory of GAN convergence

[1706.04156] Gradient descent GAN optimization is locally stable

(You should be a little bit aware of the "theory of GAN convergence" space, one of my favorites is https://arxiv.org/abs/1706.04156 )

NIPS2017のポスターに採択されている論文。GANの安定性に関する論文でgeneratorとdiscriminatorがconvex-concaveゲームに帰着しないことを示し、収束の助けとなる正則化項を提案した。

終わりに

このあたりの論文を読んで、referencesで遡っていけばGANをかなり見通せそうですね。 ちゃんと読めてない論文もありますし、読みたい論文は増えるいっぽうです、、

※ 何かご指摘・ご意見ありましたら、教えてください。その際は、批判ではなく、アドバイスという形でお願いします。 ※ あとで内容を追記するかもしれません。