Semi-Supervised GAN(概要の把握)|DeepLearningを用いた生成モデルの研究を俯瞰する #4

f:id:lib-arts:20191204214057p:plain

当シリーズでは生成モデルの研究や実装にもフォーカスをあてられればということで、進めていきます。

GitHub - eriklindernoren/PyTorch-GAN: PyTorch implementations of Generative Adversarial Networks.

上記に様々なPyTorch実装や論文のリンクがまとめられていたので、こちらを参考に進めていくのが良いのではと思っています。
#1ではACGANの概要について、#2はBicycle GANについて、3ではDual GANについて取り扱いました。

Auxiliary Classifier GAN(概要の把握)|DeepLearningを用いた生成モデルの研究を俯瞰する #1 - lib-arts’s diary

Bicycle GAN(概要の把握)|DeepLearningを用いた生成モデルの研究を俯瞰する #2 - lib-arts’s diary

Dual GAN(概要の把握)|DeepLearningを用いた生成モデルの研究を俯瞰する #3 - lib-arts’s diary

#4ではSemi-Supervised GAN(Semi-Supervised Learning with Generative Adversarial Networks)について取り扱います。

[1606.01583] Semi-Supervised Learning with Generative Adversarial Networks
以下目次になります。
1. Semi-Supervised GANの概要(Abstract、Introductionの確認)
1-1 Abstractの確認
1-2 Introductionの確認(Section1)
2. 論文の重要なポイントの抜粋
2-1. The SGAN Model(Section2)
2-2. Results(Section3)
2-3. Conclusion and Future Work(Section4)
3. まとめ


1. Semi-Supervised GANの概要(Abstract、Introductionの確認)
1-1 Abstractの確認
まず1節では論文の概観を掴むにあたって、Abstractを確認していきます。

[1606.01583] Semi-Supervised Learning with Generative Adversarial Networks

f:id:lib-arts:20191204214312p:plain

以下簡単にAbstractを要約します。
要約:『この論文では敵対的生成ネットワークを、Discriminatorのネットワークにクラスラベルを出力させるようにすることによって半教師あり学習(semi-supervised learning)の文脈に拡張している。Nクラス分類問題の入力データセットを用いながらGeneratorとDiscriminatorの学習を行なっている。学習時にDiscriminatorは、Nクラスの分類に加えてGeneratorの出力を予測するためにN+1のクラスを分類できるように学習する。この手法が通常のGANよりも高いクオリティのサンプル画像を生成できることを研究を通して示している。』


1-2 Introductionの確認(Section1)
1-2ではIntroductionの確認を行っていきます。以下パラグラフ単位でリーディングを行なっていきます。

f:id:lib-arts:20191204215242p:plain

f:id:lib-arts:20191204215320p:plain

第一パラグラフでは、Goodfellowの提案した初期のGANについて紹介した上で、この論文では半教師あり学習(semi-supervised learning)を行なっていることについて言及されています。ここで半教師あり学習というのは、ラベル付けされたデータを用いる画像分類タスク(image classification)が教師あり学習、特にラベル付けされたデータセットを用いない生成モデル(GAN)が教師なし学習であるとみなしています。

f:id:lib-arts:20191204220140p:plain

f:id:lib-arts:20191204220201p:plain

第二パラグラフでは、DiscriminatorとClassifierのどちらかの学習がどちらかの学習を向上させることを利用することについて議論されています。

f:id:lib-arts:20191204223944p:plain

第三パラグラフでは、論文における貢献(contribution)についてまとめられています。三つあるとされておりそれぞれ、1)GANの拡張として生成モデルと分類モデルを同時に学習させること(SGAN)、2)制限されたデータセットにおいてSGANが分類性能を向上させることを示したこと、3)SGANが生成サンプルのクオリティを大きく向上させGeneratorの学習時間を削減すること、であるとされています。


2. 論文の重要なポイントの抜粋
2-1. The SGAN Model(Section2)

f:id:lib-arts:20191204224804p:plain

f:id:lib-arts:20191204224819p:plain

上記のように通常のDiscriminatorやClassifierとは異なり、DiscriminatorはN個のクラスとFAKE(Generatorの出力)のN+1個を分類できるように問題が設定されています。


2-2. Results(Section3)
Section3のResultsではGeneratorの結果(Section3-1)と、Classifierの結果(Section3-2)についてそれぞれまとめられています。

f:id:lib-arts:20191204231013p:plain

まずGeneratorの結果ですが、上記の左のように同じ学習時間ではSGANの方が通常のGANよりも生成結果のクオリティが高くなっています。

f:id:lib-arts:20191204231037p:plain

また、Classifierの結果としては、上記のようにサンプルが少ない状況においてはSGANを用いる方が正答率の高い結果となっています。こちらについてはGeneratorがあることによって、Augmentationと同様の効果が得られていると考えるのが良さそうです。


2-3. Conclusion and Future Work(Section4)
省略します。


3. まとめ
#4ではSemi-Supervised GAN(Semi-Supervised Generative Adversarial Network)について取り扱いました。Classifierの導入と意味ではACGANに似たアプローチであると思われました。(ACGANの方が公開が10月になっているので、6月公開のSGANよりACGANは後の研究となっています)
#5ではGANの研究にTransformerを導入したTransGAN(TransGAN: Two Transformers Can Make One Strong GAN)について取り扱います。

[2102.07074] TransGAN: Two Transformers Can Make One Strong GAN