Edited at

[CVPR 2018 Tutorial on GANs] Introduction to Generative Adversarial Networks

CVPR 2018 Tutorial on GANsにおけるPart1 Ian GoodfellowのパートのYoutube動画の読解メモ。Youtubeの音声が荒れまくっているので基本的には資料とYoutubeの自動字幕でうまくいっている部分を読みながら追ったメモとなります。また、なるべくさらに正確な情報を得るためのリンクも添付しています。

記述に誤り等ありましたらご教授頂けますと幸いです。


出典


チュートリアルホームページ

https://sites.google.com/view/cvpr2018tutorialongans/


発表資料

[slides] [video]


発表者

Ian Goodfellow, Google Brain


概要

GANの著者であるIan GoodfellowによるGANのイントロダクション。大部分はGoodfellowが最近(2nd authorとして)発表した Self-Attention GAN (SAGAN)の発表スライドのようである。SAGANのスライド解説は下記が詳しい。

https://www.slideshare.net/DeepLearningJP2016/dlselfattention-generative-adversarial-networks-100362745

本発表ではGANの一般的な解説やアプリケーション例を交えつつ、主には最初のGANの発表から最近のSAGANに到るまでに導入された考え方、数学的な裏付けを伴うテクニックを説明している。


内容

まずオリジナルのGANの説明であるがこれは既にネット上に無数のGAN入門コンテンツがあるので割愛。ここではGoodfellowが当時既に囲碁においてAI同士でひたすら対局させて成果を出したAlphaGOなどに代表されるSelf Play(図1)に着想して考案したものであることを言っていると思われる。

スクリーンショット 2018-09-03 22.28.05.png

図1


顔画像生成、ImageNet画像生成の進歩

次にここ数年の顔画像生成(図2)とImageNet画像生成(図3)における進歩を紹介している。

スクリーンショット 2018-09-03 22.32.45.png

図2

スクリーンショット 2018-09-03 22.32.54.png

図3


導入された技術要素

ここ数年の進歩を順に追って説明する。


ネットワークを深くした&CNNの導入

DCGAN[Radford2015]ではネットワークを深くした&CNNを導入した。

https://qiita.com/triwave33/items/35b4adc9f5b41c5e8141


Conditional GAN

generator, discriminatorの学習時にラベル情報を使うようにした。

https://qiita.com/triwave33/items/f6352a40bcfbfdea0476

Class-Conditional GANs[Mirza and Osindero2014]をベースとしてAC-GAN[Odena,2016], SN-GAN[Miyato2017]などがある。


Spectral Normalization

Discriminatorの各層(の重みパラメータ?)に正規化の一種であるSpectral Normalizationを適用。Spectral NormalizationはGANの要件であるDiscriminatorのLipschitzs制約を重要視して設計された正規化。安定性が向上。

Spectral Normalization[Miyato2017]

[Miyato2017]のざっくり解説。

https://github.com/arXivTimes/arXivTimes/issues/388

なお、SAGANでは さらにGeneratorにもSpectral Normalizationを適用している。


Hinge loss

hinge lossの導入

https://mathwords.net/hinge

GANの誤差関数にヒンジ関数を導入[Miyato2017, Lim2017, Tran2017]。これも収束の安定性向上?


Two-Timescale Update Rule

Two-Timescale Update Ruleの導入[Heusel2017]

GANがちゃんと収束する(ナッシュ均衡に収束する)ためのgeneratorとdiscriminatorの学習率の決め方。


Self-attention

空間的な整合性を考慮。具体的には画像中の画素間の類似度を表現するSelf Attention Mapを導入している。Self AttentionはSAGANが初出ではなく、自然言語処理のAttention Is All You Need (Transformer)[Vaswani2017]で提案されたものを画像生成GANに応用したものらしい。

[Vaswani2017]についての解説は下記。

http://deeplearning.hatenablog.com/entry/transformer

SAGANについてのざっくり解説は下記。

https://urusulambda.wordpress.com/2018/07/15/saganself-attention-generative-adversarial-network%E3%81%AEself-attention%E6%A9%9F%E6%A7%8B%E3%82%92%E3%81%96%E3%81%A3%E3%81%8F%E3%82%8A%E7%90%86%E8%A7%A3%E3%81%97%E3%81%9F/


その他のGANの応用事例

このあといくつかGANの応用事例として以下の4つを紹介している。


Semi-supervised Learning

GANを使うことで正解をラベリングする数を減らすことを可能にした半教師あり学習。

Semi-Supervised Learning with Generative Adversarial Networks [Odema2016]

https://arxiv.org/abs/1606.01583


Model-based optimization

Generating and designing DNA with deep generative models [Killoran2017]

https://arxiv.org/abs/1712.06148


Extreme personalization


Program synthesis

Synthesizing Programs for Images using Reinforced Adversarial Learning

[Ganin2018]

https://arxiv.org/abs/1804.01118